oct
15
2009

Redirection de port ou port forwarding avec Iptables


Activation du routage :

Sur un système LINUX, le routage est désactivé par défaut même si la machine comporte plusieurs cartes réseaux. Il faut activer ce routage pour utiliser un passerelle en LINUX. Pour cela, il suffit de modifier le fichier /etc/sysctl.conf. Modifier la ligne net.ipv4.ip_forward comme ceci :


net.ipv4.ip_forward = 1

Une fois le fichier corrigé, activer le changement avec la commande :


sysctl -p

Vérifiez que le routage est actif en consultant la valeur donnée à la fonction routage.


[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward
1

Ici, on obtient la valeur 1, donc le routage est actif. Si vous obtenez 0, vous n’avez pas encore activé le routage.

 

Règles iptables :

iptables -t nat -A PREROUTING -d ip_du_serveur_iptables -p tcp –dport Numero_port_entrée -j DNAT –to-dest ip_distant:port_distant
iptables -t nat -A POSTROUTING -d ip_distant -p tcp –dport 25 -j SNAT –to ip_du_serveur_iptables

Exemple :

Si on souhaite mapper le port 30 sur le port 25 du serveur 81.0.0.1, voici les règles iptables à appliquer :

iptables -t nat -A PREROUTING -d 192.168.0.1-p tcp –dport 30 -j DNAT –to-dest 81.0.0.1:25
iptables -t nat -A POSTROUTING -d 81.0.0.1 -p tcp –dport 110 -j SNAT –to 192.168.0.1

Pour sauvegarder les règles, tapez la commande :

iptables-save > /etc/sysconfig/iptables

 

Problème rencontré :

Je n’ai pas réussi à rediriger un port avec le nom de domaine du serveur distant. Apparemment, c’est impossible… Si quelqu’un a une idée?

Articles similaires

Au sujet de l'auteur: Olivier Legras

Auteur de ce Blog, je partage quelques unes de mes notes que je juge utile à vous comme à moi. Je suis très heureux de voir que mon blog a de plus en plus d'affluence. Merci à vous!

7 Comments + Add Comment

  • Pour rediriger un port avec un nom de domaine, c’est plutôt une requête HTTP qu’on traite et pas seulement un simple paquet TCP.

    Il faut donc configurer un serveur HTTP comme Apache avec un mode ReverseProxy pour que ça passe.

  • Oui en effet pour l’http. Mais ce n’est pas ce que j’ai voulu mettre en évidence ici. La redirection de port peut être nécessaire dans certain cas.

    Cette article est utilisable pour tout port TCP ou UDP.

    Merci pour ton commentaire.

  • salut je voulais comment rediriger un port sur un routeur Cisco vers d’autres machines …. Mercii d’avance

  • Moi je doit faire une redirection mais je ne sais pas comment my prendre
    j ai un routeur linksys et un parfeu iptable
    dois je faire la redirection sur le routeur et sur le parfeu si oui quel regle dois je mettre ?
    Merci d avance

  • Je suppose que la redirection de port que tu souhaite faire est d’Internet vers ton LAN ou DMZ. Si l’adresse IP publique est au niveau de ton routeur, il te suffi de la faire seulement sur le routeur.
    ++

  • mon routeur 192.168.1.1 n a pas acces directement a l equipement 192.168.2.254
    c est 2 reseau different . le parfeu fait du nat avec le routeur

Laissez un commentaire



Publicité :)