Port forwarding et ufw

Rédigé par Nicolas Sulek Aucun commentaire
Classé dans : Réseau Mots clés : Debian, iptables, Ubuntu, ufw
Après avoir mis en place du NAT permettant aux ordinateurs d'un réseau interne d'accéder à internet dans un article précédent, il peut être souhaitable de rendre certains d'entre eux accessibles depuis l'extérieur, par exemple un serveur HTTP ou un serveur de messagerie. C'est ce que l'on appelle le transfert de port (Port forwarding).

Pour mettre en place le port forwarding avec ufw, il faut de nouveau passer par l'édition du fichier /etc/ufw/before.rules. ufw ne permet pas encore de déclarer directement en ligne de commande les ports à transférer depuis le pare-feu à un ordinateur interne.

Dans la table NAT rajoutée précédemment, nous allons indiquer les redirections de ports à effectuer, en prenant toujours comme hypothèse que l'interface réseau eth0 est reliée au réseau externe et 192.168.0. est l'adressage interne.

# règles pour la table NAT
*nat
:POSTROUTING ACCEPT [0:0]

# transmission du trafic provenant de eth1 vers eth0
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

# transfert des requêtes entrantes sur le port 25 (SMTP) vers l'ordinateur interne 192.168.0.220
-A PREROUTING -i eth0 -p tcp --dport 25 -j DNAT --to 192.168.0.220:25
# transfert des requêtes entrantes sur le port 80 (HTTP) vers l'ordinateur interne 192.168.0.221
-A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.0.221:80
# transfert des requêtes entrantes sur le port 443 (HTTPS) vers l'ordinateur interne 192.168.0.221
-A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to 192.168.0.221:443

# a ne surtout pas oublier !
COMMIT


Ainsi toute requête arrivant sur eth0, utilisant le protocole TCP et ayant pour destination le port :
- 25 sera redirigée vers le port 25 de l'ordinateur interne ayant pour adresse 192.168.0.220
- 80 sera redirigée vers le port 80 de l'ordinateur interne ayant pour adresse 192.168.0.221
- 443 sera redirigée vers le port 443 de l'ordinateur interne ayant pour adresse 192.168.0.221

Il est également possible de rediriger les requêtes UDP et d'utiliser un port différent, par exemple, transférer les requêtes sur le port 80 vers le port 8080 d'un ordinateur interne.

Les commentaires sont fermés.