Назад | Перейти на главную страницу

Centos iptables открытый порт 53

У меня возникла проблема с открытием порта 53 на моем компьютере с centos для настройки DNS.

Вот моя конфигурация iptables

-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT

Когда я запустил сканирование с помощью nmap машины, только порт 80 оказался на нем открытым. Я что-нибудь упускаю?

РЕДАКТИРОВАТЬ:

Полный iptable

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

-A INPUT -p udp -m state --state NEW,ESTABLISHED -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT -reject-with icmp-host-prohibited
-A FORWARD -j REJECT -reject-with icmp-host-prohibited
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
COMMIT 

Ваша семантика перевернута.

Опубликованные вами правила разрешают исходящий DNS-подключения к удаленному DNS-серверу, а не входящий подключения к локальному DNS-серверу.

Чтобы разрешить подключения к локальному DNS-серверу, измените правила INPUT и OUTPUT:

-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 53 -j ACCEPT

(И пожалуйста, потратьте несколько минут на то, чтобы пересмотреть свой брандмауэр, чтобы он сохранял состояние.)

Использовать -I вместо того -A .

Поскольку у вас есть прослушивающий DNS-сервер, он будет прослушивать порт 53, поэтому правило ввода должно быть

-I INPUT -p udp -m udp --dport 53 -j ACCEPT

Вы уверены, что DNS-сервер активно работает? Даже если у вас открыт порт, служба должна быть активной. Вы можете проверить, что слушает локально, запустив команду netstat. Кроме того, вы пытались на мгновение полностью отключить брандмауэр, чтобы посмотреть, что появится?