Брандмауэр по-прежнему блокирует порт 53, несмотря на то, что он указан иначе

8

У меня есть 3 узла с практически одинаковыми правилами iptables, загруженными из сценария bash, но один конкретный узел блокирует трафик на порту 53, несмотря на то, что он принимает его:

$ iptables --list -v

Цепной INPUT (политика DROP 8886 пакетов, 657K байт)
 pkts bytes target prot opt ​​in out source source         
    0 0 ПРИНЯТЬ все - вот где угодно и где угодно            
    2 122 ПРИНЯТЬ icmp - любой в любом месте icmp echo-request 
20738 5600K ПРИНЯТЬ все - любое в любом месте в любом месте, СВЯЗАННОЕ, УСТАНОВЛЕННОЕ 
    0 0 ПРИНЯТЬ tcp - eth1 в любом месте node1.com multiport dports http, smtp 
    0 0 ПРИНЯТЬ udp - eth1 в любом месте ns.node1.com udp dpt: домен 
    0 0 ПРИНЯТЬ tcp - eth1 в любом месте ns.node1.com tcp dpt: domain 
    0 0 ПРИНЯТЬ все - eth0 любой node2.backend где угодно            
   21 1260 ПРИНЯТЬ все - eth0 любой node3.backend где угодно            
    0 0 ПРИНЯТЬ все - eth0 любой узел            

Цепочка FORWARD (политика DROP 0 пакетов, 0 байт)
 pkts bytes target prot opt ​​in out source source         

Цепной ВЫХОД (политика ПРИНИМАЕТ 15804 пакета, 26 МБ)
 pkts bytes target prot opt ​​in out source source

nmap -sV -p 53 ns.node1.com // С удаленного сервера

Запуск Nmap 4.11 (http://www.insecure.org/nmap/) в 2011-02-24 11:44 EST
Интересные порты на ns.node1.com (1.2.3.4):
ВЕРСИЯ ГОСУДАРСТВЕННОЙ СЛУЖБЫ ПОРТА
53 / tcp фильтрованный домен

Nmap закончено: 1 IP-адрес (1 хост) сканируется за 0,336 секунды

Любые идеи?

Спасибо

Том
источник

Ответы:

3

Я заметил, что фактически нулевые пакеты достигли ваших iptablesправил ПРИНЯТЬ для DNS. Я думаю, что в ваших iptablesправилах указана несовместимая комбинация условий, которые никогда не соответствуют входящим DNS-запросам.

В вашем случае правила DNS ACCEPT указывают, что входящий интерфейс должен быть eth1и IP-адрес назначения должен разрешаться в ns.node1.com. Вы должны проверить, могут ли входящие DNS-запросы ns.node1.comкогда-либо поступать через eth1сетевой интерфейс.

Другая возможность состоит в том, что между вашим тестовым клиентом и вашим сервером есть другой фильтр пакетов, который блокирует пакеты DNS.

Стивен Понедельник
источник
Спасибо, я посмотрю на это. Порт разблокируется при остановке iptables, что исключает фильтр пакетов над моим сервером, вызывая проблему.
Том
После удаления всех правил брандмауэра, кроме iptables -A INPUT -i eth1 -j ПРИНЯТЬ, порт по-прежнему заблокирован. Когда я прекращаю iptables, он открыт. Есть идеи сейчас?
Том
@Tom: Очевидно, что ваши тестовые пакеты не соответствуют правилу ПРИНЯТЬ, иначе порт не будет заблокирован. Наиболее вероятным выводом является то, что ваши тестовые пакеты не приходят eth1. Вы уверены, что eth1именно туда они должны прибыть?
Стивен Понедельник
Я не уверен, но я объясню свою настройку - у eth0 есть частный IP, а у eth1 основной IP, eth1: 0 - это сервер имен (и желаемое назначение для пакетов), а eth1: 1 - для nginx. Мои два других сервера имеют идентичные интерфейсы и псевдонимы интерфейсов. Единственное различие, которое я могу представить, это eth1: 0 на двух других серверах для подчиненных серверов имен, а eth1: 0 на этом сервере для главного сервера имен. Это дает какое-то понимание? Ценю вашу помощь - это действительно убивает меня.
Том
Я должен отметить, что у меня всегда были эти стандартные правила в скрипте bash до и после правил для управления службами: iptables -F; iptables -Z; iptables -A INPUT -i lo -j ПРИНЯТЬ; iptables -A INPUT -p icmp -m icmp - эхо-запрос типа -icmp -j ПРИНЯТЬ; iptables -A INPUT -m состояние - СОСТОЯНИЕ УСТАНОВЛЕНО, СВЯЗАНО -j ПРИНЯТЬ; ## правила для управления сервисами здесь ## iptables -P OUTPUT ACCEPT; iptables -P INPUT DROP; iptables -P FORWARD DROP;
Том
3

Скорее всего, порт 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
ooshro
источник
1
Когда я останавливаю iptables, порт становится открытым.
Том