Как открыть или закрыть порт в iptables

iptables linuxРазберём, как при помощи утилиты iptables открыть или закрыть порт на межсетевом экране.

В прошлый раз мы рассмотрели использование утилиты iptables для разрешения или запрета отдельных IP-адресов и целых подсетей. Разумеется, IP-адреса это далеко не единственный критерий фильтрации трафика. Можно открывать или закрывать доступ и по портам.

Закрыть порт через iptables

Допустим, что по умолчанию у нас открыты все порты, но некоторые всё таки понадобилось закрыть. К примеру, мы не хотим, чтобы на FTP-сервер можно было попасть по порту 21:

iptables -A INPUT -p tcp --dport 21 -j DROP

А вот ещё пример. Допустим, мы подключаемся к серверу через SSH с определённого адреса, с других адресов доступа быть не должно.

iptables -A INPUT -p tcp ! -s 192.168.105.31 --dport 22 -j DROP

В строке выше указан доверенный IP-адрес, который взят лишь для примера. Символ «!» перед ключом -s используется для инверсии, таким образом показывается, что кроме этого адреса доступ никто не получит.

Открыть порт через iptables

Теперь представим обратную ситуацию — по умолчанию все порты закрыты. Допустим, у нас есть веб-сервер. Мы хотим открыть доступ по порту 80 для обеспечения работы протокола HTTP. Не помешает открыть и порт 443 — для поддержки протокола HTTPS совместно с SSL. Ну и порт 22 тоже можно открыть для доступа по SSH.

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Как видите, мы написали три правила. Для каждого порта своё. Такая форма записи не является ошибочной, но можно свести всё в одну строку:

iptables -A INPUT -p tcp -m multiport --dports 22,80,443 -j ACCEPT

Если используете расширение multiport, учтите необходимость всегда использовать критерий -p tcp или -p udp. Так можно одной строкой указать до 15 разных портов через запятую. Обратите внимание, что в примере с построчной записью мы использовали критерий —dport. Он используется для указания одного порта. В примере с однострочной записью указан критерий —dports. Он используется для указания нескольких портов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *