Accueil > Linux, Réseau, Sécurité > Redirection de port ou port forwarding avec Iptables

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?

Partager :
  • Digg
  • Facebook
  • Google Bookmarks
  • PDF
  • RSS
  • Twitter
  • Technorati
  • Wikio FR
  • BlinkList
  • blogmarks
  • Reddit
  1. Allaedine El Banna
    26/10/2009 à 12:56 | #1

    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.

  2. olivier
    26/10/2009 à 15:15 | #2

    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.

  1. Pas encore de trackbacks