Разберём, как при помощи утилиты 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. Он используется для указания нескольких портов.
Статьи по теме: