Разрешение dns-запросов в iptables

Есть две следующие строки
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 -j ACCEPT

Есть список текущих правил:
root@test:/home/testr# iptables -nL
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  192.168.1.60         0.0.0.0/0            tcp dpt:22
ACCEPT     tcp  --  192.168.1.67         0.0.0.0/0            tcp dpt:22
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0            icmptype 8
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:53
ACCEPT     tcp  --  192.168.1.11         0.0.0.0/0            tcp dpt:443
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:443

Chain FORWARD (policy DROP)
target     prot opt source               destination         

Chain OUTPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            192.168.1.60         tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp spt:22
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0            icmptype 8
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:53
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:443

Есть пинг из когорого я понимаю что днс не работает, но не понимаю почему.
root@test:/etc/network/if-up.d# ping ya.ru
ping: unknown host ya.ru

Нужно узнать почему правило не отрабатывается, хоть и синтаксически верное, или узнать используемое подобное правило из ваших конфигураций. Заранее благодарен.
  • Вопрос задан
  • 27921 просмотр
Решения вопроса 1
imert
@imert Автор вопроса
Извините, сразу почему то не разобрался.
Я оставлю тут решение и объяснение, если для кого то оно так же не очевидно.
Правильно будет так:
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 --dport 1024:65535 -j ACCEPT

Потому что днс запрос от клиента к серверу уходит на 53 порт, ответ от сервера к клиенту с 53 порта, но возвращается к клиенту на один из портов в диапазоне 1024:65535.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@CHEM_Eugene
iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -j ACCEPT
Ответ написан
Комментировать
@danteg41
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы