У меня есть 3 узла с практически одинаковыми правилами iptables, загруженными из сценария bash, но один конкретный узел блокирует трафик на порту 53, несмотря на то, что в списке он принимает его:
$ iptables --list -v
Chain INPUT (policy DROP 8886 packets, 657K bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- lo any anywhere anywhere 2 122 ACCEPT icmp -- any any anywhere anywhere icmp echo-request 20738 5600K ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED 0 0 ACCEPT tcp -- eth1 any anywhere node1.com multiport dports http,smtp 0 0 ACCEPT udp -- eth1 any anywhere ns.node1.com udp dpt:domain 0 0 ACCEPT tcp -- eth1 any anywhere ns.node1.com tcp dpt:domain 0 0 ACCEPT all -- eth0 any node2.backend anywhere 21 1260 ACCEPT all -- eth0 any node3.backend anywhere 0 0 ACCEPT all -- eth0 any node4.backend anywhere Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 15804 packets, 26M bytes) pkts bytes target prot opt in out source destination
nmap -sV -p 53 ns.node1.com // С удаленного сервера
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2011-02-24 11:44 EST Interesting ports on ns.node1.com (1.2.3.4): PORT STATE SERVICE VERSION 53/tcp filtered domain Nmap finished: 1 IP address (1 host up) scanned in 0.336 seconds
Любые идеи?
Спасибо
Скорее всего порт tcp заблокирован другим межсетевым экраном. Используйте tcpdump / Wireshark для отладки проблемы.
От меня:
nmap -sV -p 53 x.x.x.x
Starting Nmap 5.00 ( http://nmap.org ) at 2011-02-25 02:32 YEKT
Interesting ports on x.x.x.x:
PORT STATE SERVICE VERSION
53/tcp open domain ISC BIND Not available
Я заметил, что нулевые пакеты действительно достигли вашего iptables
ПРИНЯТЬ правила для DNS. Думаю, вполне вероятно, что ваш iptables
правила определяют несовместимую комбинацию условий, которая никогда не соответствует входящим запросам DNS.
В вашем случае правила ACCEPT DNS указывают, что входящий интерфейс должен быть eth1
, а IP-адрес назначения должен разрешать ns.node1.com
. Вы должны проверить, поступают ли входящие DNS-запросы к ns.node1.com
может когда-либо прибыть через eth1
сетевой интерфейс.
Другая возможность состоит в том, что у вас есть другой фильтр пакетов где-то между вашим тестовым клиентом и сервером, который блокирует пакеты DNS.