Почему эти правила iptables не позволяют мне пользоваться сетью?
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
С помощью этого iptables -F
вы можете очистить правила iptables в случае, если вы не сможете просматривать сеть после применения этих правил.
Я использую Ubuntu 12.04, но эта проблема наблюдается и на моем сервере Debian.
решение1
Веб-браузеру нужен порт для каждого HTTP-запроса. Эти порты (редко) выбираются браузером, но ядром. Ядро не смотрит на правила ipfilter, оно просто пытается использовать свободный порт. И большую часть времени используются порты между 30000 и 60000.
Чтобы узнать, какой диапазон портов пытается использовать ваше ядро:
cat /proc/sys/net/ipv4/ip_local_port_range
Вы можете изменить эти значения с помощью:
echo 1234 5678 >/proc/sys/net/ipv4/ip_local_port_range # for immediate effect
или отредактируйте /etc/sysctl.conf
файл, чтобы сохранить настройки при перезагрузках.
Редактировать: как предполагает @TomWijsman, значения по умолчанию следующие:
echo 32768 61000 >/proc/sys/net/ipv4/ip_local_port_range