2010-09-10 6 views
2

J'essaie de configurer mon serveur pour autoriser les requêtes DNS entrantes. Le serveur par défaut, configuré par la société d'hébergement, autorise le trafic sur les ports 443, 80 et 22.iptables bloquant le serveur DNS

J'ai modifié le fichier iptables pour essayer d'autoriser des demandes sur le port 53, mais je n'obtiens aucune réponse de BIND. La désactivation du pare-feu permet à la requête DNS de passer, ce qui suggère que le serveur de noms fonctionne correctement. La configuration est CentOS 5.5.

Ceci est le fichier iptables; J'apprécierais que quelqu'un puisse me dire ce qui me manque ici pour que cela fonctionne.

Merci d'avance.

==================

# Firewall configuration written by system-config-securitylevel 
# Manual customization of this file is not recommended. 
*filter 
:FORWARD ACCEPT [0:0] 
:INPUT ACCEPT [0:0] 
:RH-Firewall-1-INPUT - [0:0] 
:OUTPUT ACCEPT [0:0] 
-A INPUT -j RH-Firewall-1-INPUT 
-A FORWARD -j RH-Firewall-1-INPUT 
-A RH-Firewall-1-INPUT -i lo -j ACCEPT 
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT 
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT 
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT 
-A RH-Firewall-1-INPUT -p udp -d 224.0.0.251 --dport 5353 -j ACCEPT 
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT 
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT 
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 10000 --state NEW -j ACCEPT 
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 1024:65535 --sport 53 -j ACCEPT 
-A RH-Firewall-1-INPUT -p udp -m udp --dport 1024:65535 --sport 53 -j ACCEPT 
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 22 --state NEW -j ACCEPT 
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 80 --state NEW -j ACCEPT 
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 443 --state NEW -j ACCEPT 
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited 
COMMIT 
# Generated by webmin 
*mangle 
:FORWARD ACCEPT [0:0] 
:INPUT ACCEPT [0:0] 
:OUTPUT ACCEPT [0:0] 
:PREROUTING ACCEPT [0:0] 
:POSTROUTING ACCEPT [0:0] 
COMMIT 
# Completed 
# Generated by webmin 
*nat 
:OUTPUT ACCEPT [0:0] 
:PREROUTING ACCEPT [0:0] 
:POSTROUTING ACCEPT [0:0] 
COMMIT 
# Completed 

Répondre

4

Cette ligne de vos règles est complètement faux:

-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 1024:65535 --sport 53 -j ACCEPT 
-A RH-Firewall-1-INPUT -p udp -m udp --dport 1024:65535 --sport 53 -j ACCEPT 

Vous vous dites: autoriser le trafic du port distant 53 aux ports locaux 1024 - 65535.
Je crois que DNS écoute sur le port 53. Essayez cette place (permettre à chaque TCP/UDP trafic à destination Port 53):

-A RH-Firewall-1-INPUT -p tcp --dport 53 -j ACCEPT 
-A RH-Firewall-1-INPUT -p udp --dport 53 -j ACCEPT 

Ces lignes ne feront rien: Les lignes suivantes permettent le trafic avec le numéro de protocole 50 (ESP) et 51 (AH) (source: IANA Protocol Numbers)

-A RH-Firewall-1-INPUT -p 50 -j ACCEPT 
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT 
+0

Merci. Les lignes que j'ai ajoutées sont très similaires aux lignes qui apparaissent dans un VPS que j'ai. Les lignes que vous avez notées comme ne faisant rien font partie de l'installation standard de centOS. Je ne suis pas sûr de leur intention, mais peut aussi bien les laisser là, étant donné qu'ils font partie de l'installation standard. Encore, merci beaucoup. – Redback

+1

Les lignes 50/51 autoriseraient les tunnels IPSEC entrants - 50 correspond à ESP et 51 à AH. – Alnitak

+0

Pour information, j'ai dû autoriser le port 953 pour le serveur DNS bind9 – baptx