Как с помощью iptables разрешить доступ к локальному порту только для списка IP адресов

Возможно, есть способы и попроще, но я сделал так.

Защищать будем, например, Asterisk (по-умолчанию порт для протокола SIP 5060)

Создаем новую цепочку:

iptables -N asterisk-manual
iptables -I INPUT -i eth0 -p udp --dport 5060 -j asterisk-manual

Прописываем, из каких адресов можно подключаться и в конце запрещаем остальным:

iptables -A asterisk-manual -s 192.168.1.0/24 -j ACCEPT
iptables -A asterisk-manual -s 192.168.2.0/24 -j ACCEPT
iptables -A asterisk-manual -s 192.168.3.0/24 -j ACCEPT
iptables -A asterisk-manual -s 192.168.4.2 -j ACCEPT
iptables -A asterisk-manual -j DROP

И сохраняем правила:

iptables-save

Чтобы добавить новый адрес вначале удалим последнюю строчку (по ее номеру), а затем добавим новую и восстановим запрещающую:

iptables -L asterisk-manual -n --line-numbers
iptables -D asterisk-manual 5
iptables -A asterisk-manual -s 192.168.4.3 -j ACCEPT
iptables -A asterisk-manual -j DROP

Не забываем сохраняться:

iptables-save

Для того, что-бы дать доступ например к Webmin и только определенным ip адресам, самостоятельно добавляем цепочку в /etc/sysconfig/iptables

##### Создаем цепочку IP адресов с доступом к 10000 порту ###############.
-N webmin
-I INPUT -i eth1 -p tcp --dport 10000 -j webmin
-A webmin -s 46.22.56.175 -j ACCEPT
-A webmin -s 77.50.254.157 -j ACCEPT
-A webmin -s 93.123.248.120 -j ACCEPT
-A webmin -j DROP
#########################################################################
Micro
Author: Micro

///

Поделиться в социальных сетях
0 0 голоса
Рейтинг статьи
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии