У меня проблема с открытием порта 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
nmap
командную строку вы использовали?iptables --list
бы удобно увидеть. Вы также захотите отключить брандмауэр вsystem-config-firewall-tui
(или в вашем графическом интерфейсе), чтобы вы могли вручную установить его с помощью команд iptables, в противном случае он перезапишет ваши iptables, если вы их используете. Дополнительный совет: по крайней мере, в centos вы можете сделать a,service iptables save
когда закончите, поэтому изменения останутся для следующей перезагрузки.nmap -sU -p 53 $host
Ответы:
Ваша семантика полностью изменена.
Опубликованные вами правила разрешают исходящие DNS-подключения к удаленному DNS-серверу, а не входящие подключения к локальному DNS-серверу.
Чтобы разрешить подключения к локальному DNS-серверу, измените правила INPUT и OUTPUT:
(И, пожалуйста, потратьте несколько минут в какой-то момент, чтобы пересмотреть брандмауэр, чтобы он соответствовал состоянию.)
источник
Используйте
-I
вместо-A
.Поскольку у вас есть прослушивающий DNS-сервер, он будет прослушивать порт 53, поэтому правило ввода должно быть
источник
Вы уверены, что DNS-сервер активно работает? Даже если у вас открыт порт, служба должна быть активной. Вы можете проверить, что прослушивает локально, выполнив команду netstat. Кроме того, вы пытались полностью отключить брандмауэр на мгновение, чтобы посмотреть, что появляется?
источник