iptables разрешает определенные порты и отключает остальные

iptables разрешает определенные порты и отключает остальные

У меня следующий сценарий:
я хочу разрешить доступ только к портам 22, 80 и 443, а все остальное разрешить.

Мой iptables -Lвыглядит так:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             state RELATED,ESTABLISHED
DROP       all  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Но я не могу добиться желаемого эффекта, и даже со своего сервера я больше ничего не могу пропинговать (не могу выйти в интернет).

Кроме того, я рассмотрел возможность установки INPUTполитики DROPи ручного открытия нужных портов, но это также не дало желаемого эффекта.

Есть ли разница между установкой DROPполитики в INPUTцепочке и ручным открытием нужных портов и тем, как я это сделал, сбросив весь трафик в качестве последнего правила?

Спасибо большое,
всего наилучшего.

решение1

Ваша текущая настройка INPUTцепочки позволяет клиентам подключаться к вашему серверу по TCP 22, 80 и 443 иtcpсоединения, которые вы инициируете, чтобы получить ответ. Вот и все! Нетicmp(для пинга), нетудп(DNS-поиск).

Имея ESTABLISHED, RELATEDправило для ALLOWвсех протоколов, а не толькоtcp, следует исправить вышеизложенное.

Относительно отказа от всего с использованием правила, а не DROPполитики:

iptables -P INPUT DROP

То же самое, что иметь:

iptables -A INPUT -j DROP

Как ваше последнее правило.

Кроме того, если вы точно не знаете, что делаете, вам следует полностью разрешитьпетлятрафик.

Связанный контент