¿El cortafuegos sigue bloqueando el puerto 53 a pesar de que se indique lo contrario?

8

Tengo 3 nodos con prácticamente las mismas reglas de iptables cargadas desde un script bash, pero un nodo en particular está bloqueando el tráfico en el puerto 53 a pesar de que la lista lo acepta:

$ iptables --list -v

ENTRADA de cadena (paquetes DROP 8886 de política, 657K bytes)
 pkts bytes objetivo prot optar entrada salida destino         
    0 0 ACEPTAR todo - lo cualquier en cualquier lugar en cualquier lugar            
    2 122 ACEPTAR icmp - cualquier en cualquier lugar en cualquier lugar icmp echo-request 
20738 5600K ACEPTAR todo: cualquier estado en cualquier lugar RELACIONADO, ESTABLECIDO 
    0 0 ACEPTAR TCP - eth1 en cualquier lugar node1.com multipuerto dports http, smtp 
    0 0 ACEPTAR udp - eth1 en cualquier lugar ns.node1.com udp dpt: dominio 
    0 0 ACEPTAR tcp - eth1 en cualquier lugar ns.node1.com tcp dpt: dominio 
    0 0 ACEPTAR todo: eth0 cualquier nodo2. Backend en cualquier lugar            
   21 1260 ACEPTAR todo: eth0 cualquier nodo 3. backend en cualquier lugar            
    0 0 ACEPTAR todo: eth0 cualquier nodo4. Backend en cualquier lugar            

Chain FORWARD (política DROP 0 paquetes, 0 bytes)
 pkts bytes objetivo prot optar entrada salida destino         

Salida de cadena (política ACEPTA 15804 paquetes, 26 millones de bytes)
 pkts bytes objetivo prot optar entrada salida destino

nmap -sV -p 53 ns.node1.com // Desde el servidor remoto

Inicio de Nmap 4.11 (http://www.insecure.org/nmap/) en 2011-02-24 11:44 EST
Puertos interesantes en ns.node1.com (1.2.3.4):
VERSIÓN DE SERVICIO DEL ESTADO DEL PUERTO
53 / tcp dominio filtrado

Nmap terminado: 1 dirección IP (1 host arriba) escaneada en 0.336 segundos

¿Algunas ideas?

Gracias

Tom
fuente

Respuestas:

3

Noté que los paquetes cero realmente han alcanzado las iptablesreglas ACEPTAR para DNS. Creo que es probable que sus iptablesreglas especifiquen una combinación inconsistente de condiciones que nunca coinciden con las consultas DNS entrantes.

En su caso, las reglas de ACEPTACIÓN de DNS especifican que la interfaz entrante debe ser eth1y la dirección IP de destino debe resolverse ns.node1.com. Debe verificar si las consultas DNS entrantes ns.node1.compueden llegar a través de la eth1interfaz de red.

Otra posibilidad es que tenga otro filtro de paquetes en algún lugar entre su cliente de prueba y su servidor que esté bloqueando los paquetes DNS.

Steven Monday
fuente
Gracias, lo investigaré. El puerto se desbloquea cuando detengo iptables, lo que descarta un filtro de paquetes sobre mi servidor que causa el problema.
Tom
Después de eliminar todas las reglas del firewall, excepto iptables -A INPUT -i eth1 -j ACCEPT, el puerto aún está bloqueado. Cuando detengo iptables está abierto. Alguna idea ahora?
Tom
@ Tom: Claramente, sus paquetes de prueba no están cumpliendo con la regla ACEPTAR, de lo contrario el puerto no estaría bloqueado. La conclusión más probable es que sus paquetes de prueba no están llegando eth1. ¿Estás seguro de que eth1es donde deberían llegar?
Steven lunes
No estoy seguro, pero explicaré mi configuración: eth0 tiene la IP privada y eth1 tiene la IP principal, eth1: 0 es el servidor de nombres (y el destino deseado para los paquetes) y eth1: 1 es para nginx. Mis otros 2 servidores tienen interfaces y alias de interfaz idénticos. La única diferencia que se me ocurre es eth1: 0 en los otros 2 servidores para servidores de nombres esclavos y eth1: 0 en este servidor es para el servidor de nombres maestro. ¿Eso proporciona alguna idea? Aprecio tu ayuda, esto realmente me está matando.
Tom
Debo mencionar que siempre he tenido estas reglas estándar en el script bash antes y después de las reglas para controlar los servicios: iptables -F; iptables -Z; iptables -A INPUT -i lo -j ACCEPT; iptables -A ENTRADA -p icmp -m icmp --icmp-type echo-request -j ACCEPT; iptables -A ENTRADA -m estado --estado ESTABLECIDO, RELACIONADO -j ACEPTAR; ## reglas para controlar los servicios aquí ## iptables -P OUTPUT ACCEPT; iptables -P INPUT DROP; iptables -P GOTA HACIA ADELANTE;
Tom
3

Es probable que el puerto tcp esté bloqueado por otro firewall. Use tcpdump / Wireshark para depurar el problema.

De mi parte:

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
fuente
1
Cuando detengo iptables, el puerto se abre.
Tom