Вопрос Почему порты 30000-60000 необходимы при просмотре сети


Почему эти правила 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.


6
2017-09-25 19:41


происхождения


Просто примечание: это предотвратит работу большинства клиентов TCP / IP для подключения к любому месту в Интернете. В веб-браузере нет ничего особенного, они запекаются в TCP / IP. Вы только заметили, что используете браузер, а не IRC. - Rich Homolka
Я на самом деле заметил это, пытаясь создать правила iptables для моего сервера, чтобы я просто разрешал подключения к портам, которые действительно нужны. Вскоре я заметил, что мне нужно открыть порты где-то между 30000 и 60000 или Oauth (используя Omniauth), не будет работать вообще. Начиная с применения правил iptables я видел случайные ошибки в журналах. Теперь я знаю, что эти ошибки появились, когда Oauth попытался использовать закрытые порты с 60000 до 61000. - Mika


ответы:


Для каждого 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

9
2017-09-25 19:50



(В случае, если кто-то их испортит, хорошие дефолты 32768 61000) - Tom Wijsman