Comment configurer le port forwarding avec Iptables sur les systèmes basés sur Linux
Le transfert de port est une technique utilisée dans les réseaux informatiques qui permet de diriger le trafic provenant de l'extérieur d'un réseau vers une machine ou un service spécifique au sein du réseau. Cela implique de rediriger le trafic d'un port spécifique sur une passerelle ou un routeur vers un port correspondant sur une machine ou un service au sein du réseau. Cette technique est couramment utilisée pour permettre l'accès à distance à des services tels que les serveurs Web, les serveurs de messagerie et les serveurs de fichiers qui se trouvent dans un réseau privé, derrière une passerelle ou un pare-feu. Grâce au transfert de port, le trafic entrant peut être dirigé vers la machine ou le service approprié tout en protégeant le reste du réseau contre les accès non autorisés.
Une façon d'obtenir le transfert de port est d'utiliser l'outil en ligne de commande iptables sur les systèmes basés sur Linux. Iptables est un logiciel utilitaire qui permet aux utilisateurs de configurer les règles et politiques de trafic réseau. Iptables utilise un ensemble de tables prédéfinies pour organiser les règles et politiques. Chaque table contient un ensemble de chaînes qui sont des listes de règles appliquées séquentiellement au trafic entrant ou sortant. Chaque règle dans les iptables spécifie un ensemble de conditions qui doivent être remplies pour que la règle soit appliquée, et une action à entreprendre si les conditions sont remplies. Dans cet article, nous allons discuter de la manière d'utiliser les iptables pour configurer le transfert de port sur un système basé sur Linux.
Transfert de port avec Iptables
Étape 1 : Trouver le numéro de port et le protocole
La première étape du transfert de port avec iptables est de déterminer le numéro de port et le protocole du service que vous souhaitez transférer. Le numéro de port est un identifiant numérique attribué à un service ou une application spécifique sur un réseau, tandis que le protocole spécifie les règles de transmission des données entre les appareils.
Un exemple de cela est le transfert de tout le trafic entrant vers un serveur Web qui fonctionne sur le port 80 avec le protocole TCP (Transmission Control Protocol).
Étape 2 : Création d'une chaîne pour le transfert de port
L'étape suivante consiste à créer une chaîne qui est utilisée pour rediriger le trafic entrant vers la machine ou le service approprié. Pour cela, vous devez ajouter une nouvelle chaîne dans iptables.
Exécutez la commande suivante pour créer une nouvelle chaîne :
$sudo iptables -N <chain-name>Remarque : Remplacez <nom-de-la-chaîne> par un nom descriptif pour la chaîne que vous souhaitez créer.
Étape 3 : Ajout d'une nouvelle règle à la chaîne
Sur la chaîne nouvellement créée, vous devez ajouter une règle qui dirige le trafic entrant vers la machine ou le service approprié. La règle doit spécifier le numéro de port et le protocole du service, ainsi que l'adresse IP de la machine qui doit recevoir le trafic entrant.
Exécutez la commande suivante dans le terminal :
$sudo iptables -A <chain-name> -p tcp --dport 80 -j DNAT --to-destination 192.168.0.100:80Remarque : Cette commande transfère tout le trafic entrant pour un serveur web qui fonctionne sur le port 80 vers une machine ayant l'adresse IP 192.168.0.100.
Vous devez remplacer <chain-name> par le nom de la chaîne que vous avez créée à l'étape 2.
L'option -p spécifie le protocole (dans ce cas, il s'agit de TCP).
L'option –dport spécifie le port de destination (dans ce cas, il s'agit du port 80).
L'option -j spécifie l'action à entreprendre si les conditions de la règle sont remplies.
L'option –to-destination spécifie l'adresse IP et le numéro de port de la machine ou du service qui doit recevoir le trafic entrant.
Étape 4 : Ajouter une règle aux règles principales d'Iptables pour le transfert
En plus de créer une chaîne et d'ajouter une règle à la chaîne, vous devez également ajouter une règle à la chaîne INPUT principale d'iptables pour permettre au trafic entrant d'être redirigé vers la nouvelle chaîne.
Exécutez la commande suivante pour ajouter une règle aux iptables principaux :
$sudo iptables -A INPUT -p tcp --dport 80 -j <chain-name>Remarque : Remplacez <nom-de-la-chaîne> par le nom de la chaîne que vous avez créée à l'étape 2.
L'option -A précise que la nouvelle règle doit être ajoutée à la fin de la chaîne INPUT. L'option -p spécifie le protocole (dans ce cas, c'est TCP).
L'option –dport spécifie le port de destination (dans ce cas, il s'agit du port 80).
L'option -j spécifie l'action à entreprendre si les conditions de la règle sont remplies, ce qui, dans ce cas, est de transférer le trafic vers la nouvelle chaîne que vous avez créée à l'étape 2.
Étape 5 : Enregistrer la configuration
Vous devez enregistrer la nouvelle configuration des règles de redirection de port afin que la prochaine fois que vous démarrez votre appareil, les règles ne soient pas réinitialisées.
Pour enregistrer la configuration, exécutez la commande suivante :
$sudo iptables-save > /etc/iptables/rules.v4Étape 6 : Tester la nouvelle configuration
Il est important de tester la configuration de port forwarding pour s'assurer qu'elle fonctionne correctement. Vous pouvez tester la configuration en essayant de vous connecter au service depuis une autre machine sur le réseau ou depuis Internet.
Si la configuration fonctionne correctement, vous devriez être en mesure de vous connecter au service en utilisant le numéro de port et le protocole spécifiés.
Conclusion
Le port forwarding est une technique utile pour permettre au trafic entrant d'être dirigé vers une machine ou un service spécifique. En utilisant iptables sur un système basé sur Linux, vous pouvez configurer les règles de redirection de port qui permettent au trafic entrant d'être transféré vers la machine ou le service approprié.
Nous avons discuté des étapes de base impliquées dans le redirectionnement de ports avec iptables, y compris la création d'une chaîne, l'ajout d'une règle à la chaîne, l'ajout d'une règle à la chaîne INPUT principale, la sauvegarde de la configuration et le test de la configuration. En suivant ces étapes, vous pouvez configurer le redirectionnement de ports sur votre système basé sur Linux et vous assurer que le trafic entrant est dirigé vers la machine ou le service approprié.

