Warum verhindern diese Iptables-Regeln, dass ich im Internet surfe?
iptables -A INPUT -i eth0 -p tcp --dport 30000:60000 -m state --state NEW,ESTABLISHED -j DROP
iptables -A OUTPUT -o eth0 -p tcp --sport 30000:60000 -m state --state ESTABLISHED -j DROP
Mit iptables -F
können Sie die iptables-Regeln löschen, falls Sie nach dem Ausprobieren dieser Regeln nicht im Internet surfen können.
Ich verwende Ubuntu 12.04, aber ich sehe dies auch auf meinem Debian-Server.
Antwort1
Der Webbrowser benötigt für jede HTTP-Anfrage einen Port. Diese Ports werden (selten) vom Browser, sondern vom Kernel ausgewählt. Der Kernel beachtet keine IP-Filter-Regeln, sondern versucht nur, einen freien Port zu verwenden. Und meistens werden die Ports zwischen 30000 und 60000 verwendet.
So sehen Sie, welchen Portbereich Ihr Kernel zu verwenden versucht:
cat /proc/sys/net/ipv4/ip_local_port_range
Sie können diese Werte wie folgt ändern:
echo 1234 5678 >/proc/sys/net/ipv4/ip_local_port_range # for immediate effect
oder bearbeiten Sie die /etc/sysctl.conf
Datei, um die Einstellungen auch nach einem Neustart beizubehalten.
Bearbeiten: Wie @TomWijsman vorschlägt, sind die Standardwerte:
echo 32768 61000 >/proc/sys/net/ipv4/ip_local_port_range