iptables politica drop consultas dns

hola gente a ver si nos entendemos tengo un servidor dhcp, dns, ssh andaba todo muy lindo hasta que se me ocurrio poner la politica drop.
este es el scrip de iptables
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED --sport 80 -j ACCEPT
iptables -A INPUT -s 192.168.0.2 -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.2 -p tcp --sport 22 -j ACCEPT

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -t nat -P POSTROUTING DROP
iptables -t nat -P PREROUTING DROP

con este sccrip tengo acceso al servidor ssh y salida por el puerto 80 desde el servidor el tema es que el dns no funciona solo salgo via http poniendo la direccion ip cuando pongo el nombre ya no funciona.
Por favor algun alma solidaria que me guie por lo menos en que me estoy equivocando es laburo gracias

esta es la salida de iptables -L

Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp spt:domain state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp spt:domain state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere state RELATED,ESTABLISHED tcp spt:www
ACCEPT tcp -- 192.168.0.2 anywhere tcp dpt:ssh

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:domain state NEW,RELATED,ESTABLISHED
ACCEPT udp -- anywhere anywhere udp dpt:domain state NEW,RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere state NEW,RELATED,ESTABLISHED tcp dpt:www
ACCEPT tcp -- anywhere 192.168.0.2 tcp spt:ssh

solo se que no se nada...
roma escribió:

iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

A ver, estás algo nublado, los paquetes no puedeen ser NEW y a la vez ESTABLISHED ni RELATED, vamos que no me extraña que no te vaya bien.

$ pago_hipoteca $ bash: pago_hipoteca: orden no encontrada ...Linux roza la perfección.

por que no te miras este firewall
http://lists.centos.org/pipermail/centos-es/2007-April/000549.html
iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
esta mal no te compliques la vida
iptables -A INPUT -p UDP --dport 53 -j ACCEPT
$iptables -A INPUT -p TCP --dport 53 -j ACCEPT
iptables -A OUTPUT -p UDP --dport 53 -j ACCEPT
$iptables -A OUTPUT -p TCP --dport 53 -j ACCEPT
esas reglas son muy buenas cuando hay dos firewalls en la red

La perseverancia es el primer paso al éxito

me olvidaba para cuestiones de seguridad podrias poner esto
iptables -A INPUT -p tcp --dport 53 -m state --state NEW,INVALID -j DROP

La perseverancia es el primer paso al éxito
pipis384mix escribió:

por que no te miras este firewall
http://lists.centos.org/pipermail/centos-es/2007-April/000549.html
iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
esta mal no te compliques la vida
iptables -A INPUT -p UDP --dport 53 -j ACCEPT
$iptables -A INPUT -p TCP --dport 53 -j ACCEPT
iptables -A OUTPUT -p UDP --dport 53 -j ACCEPT
$iptables -A OUTPUT -p TCP --dport 53 -j ACCEPT
esas reglas son muy buenas cuando hay dos firewalls en la red

serias tan amable de explicar por que esta mal?
y he probado las reglas que me diste y sigue sin funcionar la verdad es que he leido infinidad de cosas y probado de todo.
Y por que funciona el puerto 80 esas son cosas que me confunden y entiendo por NEW,ESTABLISHED,RELATED que pueden ser o nuevas o establecidas o relacionadas no todas juntas no se si me explico

solo se que no se nada...
Epzylon escribió:

Te paso un link que quizas te explique un poco
http://www.linuxquestions.org/questions/linux-networking-3/what-is-established-related-or-new-98557/

si lo entiendo

solo se que no se nada...
roma escribió:

iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT

Bueno, aqui veo un error, en las reglas input para las dns no has abierto el 53 udp, solo el tcp (dos veces), si el servidor de DNS que usas no admite las consultas por tcp no funcionara tu script.

Prueba poner unas reglas tipo esta a ver que pasa:

iptables -A INPUT -p udp --sport 53 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

Con estas reglas tendría que funcionar seguro, (duplicalas para el tcp). No soy un experto en iptables pero creo que no es necesario que especifiques los estados de los paquetes de salida, además no se si el RELATED que he puesto en las reglas que uso yo es necesario, me inclino a pensar que no, pero ahi esta.

Saludos

Quien coño es el General Failure y que hace leyendo mi disco duro. "Everybody knows that the dice are loaded everybody rolls with their fingers crossed" Leonard Cohen

RELATED,ESTABLISHED esta bien lo que no va es el NEW es contradictorio

La perseverancia es el primer paso al éxito
elsenyordelcaos escribió:
roma escribió:

iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT

Bueno, aqui veo un error, en las reglas input para las dns no has abierto el 53 udp, solo el tcp (dos veces), si el servidor de DNS que usas no admite las consultas por tcp no funcionara tu script.

Prueba poner unas reglas tipo esta a ver que pasa:

iptables -A INPUT -p udp --sport 53 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

Con estas reglas tendría que funcionar seguro, (duplicalas para el tcp). No soy un experto en iptables pero creo que no es necesario que especifiques los estados de los paquetes de salida, además no se si el RELATED que he puesto en las reglas que uso yo es necesario, me inclino a pensar que no, pero ahi esta.

Saludos

tenes razon lo corregi y puse las reglas que me aconsejaste y sigue dropeando las consultas dns te paso la tipologia de la red a ver si ayuda en algo

por el momento lo unico que quiero es salir por el servidor luego vere lo de la lan
por las tramas que estuve analizando las consultas de la lan se resuelven en mi servidor y las del servidor los servidores provistos por de mi isp (supongo) que es arnet por lo tanto ips dinamicas

solo se que no se nada...

Relacionado con iptables politica drop consultas dns