Nie można pobrać witryn http podczas korzystania z OpenVPN, ale witryny https działają dobrze. Dlaczego?

3

Korzystam z dostawcy VPN, który używa OpenVPN. Nie chcę, aby jakikolwiek inny ruch opuszczał mój komputer, więc skonfigurowałem iptables w następujący sposób:

iptables -P INPUT DROP 
iptables -P FORWARD DROP 
iptables -P OUTPUT DROP 

### Inbound rules
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

### Outbound rules
iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp -m udp --dport 1194 -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

Po prostu zezwalam na ruch OpenVPN i wyszukiwanie DNS (dla połączenia OpenVPN). Połączenie idzie dobrze.

Problem występuje, gdy próbuję odwiedzić httpstrony. Przekroczono limit czasu połączenia. Ale httpsdziała! Jeśli to zrobię, iptables -P OUTPUT ACCEPTwszystko działa idealnie!

Sprawdziłem z Wireshark przy użyciu zarówno iptables -P OUTPUT DROPa iptables -P OUTPUT ACCEPT, ale nie widzę niczego, co różni, poza tym, że podczas korzystania Drop, httpstrony nie mogą być naciągane.

Co może być problemem?

Rox
źródło

Odpowiedzi:

2

Być może zechcesz ponownie przetestować inne elementy twoich reguł - wydaje mi się, że nie akceptują one ruchu HTTP ani HTTPS - zastanawiam się, czy podczas majstrowania przy regułach dodałeś (a być może później usunąłeś) ruch HTTPS - pozostawiając Połączenie „USTANOWIONE” i fałszywe odczytanie. Możesz przetestować tę teorię, używając iptables -vnL i obserwując, jak zmieniają się liczniki reguł podczas wykonywania różnych żądań.

Oczekuję, że musisz dodać

> iptables -A OUTPUT -o tun+ -p tcp --dport 80 -j ACCEPT 
> iptables -A OUTPUT -o tun+ -p tcp --dport 80 -j ACCEPT

Lub jeśli potrzebujesz bardziej ogólnego rozwiązania, które pozwoli na cały ruch w tunelu

> iptables -A output -o tun+ -j ACCEPT
Davidgo
źródło
Dziękuję Ci! Nie myślałem o interfejsach tun i tap. Teraz zezwalam na ruch przez tun i teraz działa!
Rox,