Probleme configuration iptables
Le
olaf
Bonjour,
Je vous expose la situation :
Ma connexion Internet est delivrée par une C-Box qui fait office de
routeur. Je souhaite cependant gerer les fonctions de routage sur un
serveur Linux.
J'ai donc installé un serveur sous Linux (Debian sarge) avec 2 cartes
ethernet (eth1 vers la CBox et eth0 vers le LAN), une branchée
directement sur la CBox et une seconde sur le LAN.
Donc, la CBox recoit elle l'adresse IP publique, j'ai donc defini sa
patte interne en 192.168.30.1 et je lui ai indiqué de rediriger toutes
les requetes sur 192.168.30.3 (qui est l'adresse de eth1 sur le serveur)
Jusque là, tout se passe à peu pret normalement :
Les services tournant sur la carte eth1 du serveur sont bien visible
depuis l'Internet.
Le problème arrive dés que je tente de faire du NAT.
Voici les commandes iptables que je tappe :
# iptables -A INPUT -p tcp -m tcp -i eth1 --dport 3389 -j ACCEPT
Pour ouvrir le port 3389 sur la carte eth1
# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3389 -J DNAT --to
192.168.0.39
pour rediriger vers l'adresse 192.168.0.39 de mon lan.
J'avais deja fait ce genre d'operation auparavant sans le moindre
probleme, mais là, ca ne fonctionne pas.
Quand j'essai de me connecter de l'exterieur, la tentative tombe en timeout.
Si je passe un nmap de l'exterieur, je vois le port 3389 comme filtered.
Je ne comprend pas bien ce qu'il se passe, si quelqu'un a une idée.
D'avance merci !
Je vous expose la situation :
Ma connexion Internet est delivrée par une C-Box qui fait office de
routeur. Je souhaite cependant gerer les fonctions de routage sur un
serveur Linux.
J'ai donc installé un serveur sous Linux (Debian sarge) avec 2 cartes
ethernet (eth1 vers la CBox et eth0 vers le LAN), une branchée
directement sur la CBox et une seconde sur le LAN.
Donc, la CBox recoit elle l'adresse IP publique, j'ai donc defini sa
patte interne en 192.168.30.1 et je lui ai indiqué de rediriger toutes
les requetes sur 192.168.30.3 (qui est l'adresse de eth1 sur le serveur)
Jusque là, tout se passe à peu pret normalement :
Les services tournant sur la carte eth1 du serveur sont bien visible
depuis l'Internet.
Le problème arrive dés que je tente de faire du NAT.
Voici les commandes iptables que je tappe :
# iptables -A INPUT -p tcp -m tcp -i eth1 --dport 3389 -j ACCEPT
Pour ouvrir le port 3389 sur la carte eth1
# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3389 -J DNAT --to
192.168.0.39
pour rediriger vers l'adresse 192.168.0.39 de mon lan.
J'avais deja fait ce genre d'operation auparavant sans le moindre
probleme, mais là, ca ne fonctionne pas.
Quand j'essai de me connecter de l'exterieur, la tentative tombe en timeout.
Si je passe un nmap de l'exterieur, je vois le port 3389 comme filtered.
Je ne comprend pas bien ce qu'il se passe, si quelqu'un a une idée.
D'avance merci !

Poser une question


Rappel : la chaîne INPUT d'iptables ne voit passer que les paquets
entrants à destination de la machine. Les paquets entrants à destination
d'une autre machine traversent la chaîne FORWARD.
http://www.netfilter.org/documentat...WTO-6.html
Donc, je dois rajouter la meme regle vers la chaine FORWARD ?
Non, tu dois la *déplacer* dans la chaîne FORWARD. En effet cette règle
n'a rien à faire dans la chaine INPUT. Au passage, tu peux ajouter la
correspondance sur l'interface de sortie "-o eth0". Et ne pas oublier
d'autoriser les paquets de réponse dans l'autre sens, toujours dans la
chaîne FORWARD.
Gasp...
Cela ne passe toujours pas...
Voici ce que j'ai indiqué comme regles :
iptables -A FORWARD -p tcp -m tcp -i eth1 --dport 3389 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to
192.168.0.39
Mais le port en question n'apparait toujours pas ouvert de l'exterieur.
Ça n'a rien à voir avec ton problème, mais tu peux ajouter "-o eth0" et
"-d 192.168.0.39" pour que la règle n'autorise que les connexions
redirigées par la règle DNAT.
Tu es sûr que la C-box redirige bien tout vers le serveur ?
Tu as bien une règle qui accepte les paquets retour dans l'autre sens ?
Pas de règle placée avant qui pourrait bloquer les paquets ?
Que donne un tcptraceroute sur le port 3389 depuis l'extérieur ?