IPTables правила для DNS

Допустим на сервере по умолчанию INPUT DROP и установлен DNS сервер, теперь приведу пример IPTables правил чтобы к DNS серверу могли обращайся клиенты.

Чтобы открыть порт DNS в IPTables выполним правило:

sudo iptables -A INPUT -i eth0 -p udp --dport 53 -m state --state ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 53 -m state --state ESTABLISHED -j ACCEPT


Чтобы открыть порт DNS только для конкретной сети, выполним правило:

sudo iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p udp --dport 53 -m state --state ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --dport 53 -m state --state ESTABLISHED -j ACCEPT

Чтобы удалить правила укажем те же команды, заменив -A на -D, например:

sudo iptables -D INPUT -i eth0 -p udp --dport 53 -m state --state ESTABLISHED -j ACCEPT
sudo iptables -D INPUT -i eth0 -p tcp --dport 53 -m state --state ESTABLISHED -j ACCEPT

Посмотреть список правил можно командой:

sudo iptables -nvL

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

iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.2.5

Смотри также мои статьи:
Настройка IPTables
Установка и настройка DNS-сервера BIND9

Подписаться на IT Blog (RU) по Email
Subscribe to IT Blog (EN) by Email

Did my article help you? How about buying me a cup of coffee as an encouragement? Buy me a coffe.

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