Rediriger un port pour une IP spécifique avec iptables

07 février 2019

Toujours dans une optique de contourner des restrictions de pare-feu, on va voir un truc assez simple pour rediriger un port vers au autre uniquement pour les paquets provenant d’une IP donnée. Deux cas de figure où ça peut s’avérer utile :

C’est tout simple ça se fait avec une seule commande sur le serveur qu’on veut joindre :

iptables \
 -t nat \
 -I PREROUTING \
 --src <ip-source> \
 --dst <ip-du-serveur> \
 -p tcp \
 --dport <port-intial> \
 -j REDIRECT \
 --to-ports <port-bloqué>

On utilise donc iptables, l’outil qui permet de gérer les règle de pare-feu du noyau Linux, avec les arguments suivants :

Exemple, en admettant que l’IP publique de mon lieu de travail soit 1.2.3.4 et celle de mon serveur 5.6.7.8, et que je veuille faire passer le traffic pour mon serveur OpenVPN à travers le port 443 (initialement dédié au HTTPS) :

iptables \
 -t nat \
 -I PREROUTING \
 --src 1.2.3.4 \
 --dst 5.6.7.8 \
 -p tcp \
 --dport 443 \
 -j REDIRECT \
 --to-ports 1194

Alors bien évidemment, pour cet exemple il faut que depuis mon lieu de travail je n’ai pas besoin d’accéder au service HTTPS sur mon serveur (adieu la consultation de mon blog perso). Aussi, si le traffic est filtré par un proxy ça risque de ne pas fonctionner. Mais voilà ça peut parfois dépanner.

Pour virer cette règle, on remplace -I par -D, car on veut delete au lieu de insert :

iptables \
 -t nat \
 -D PREROUTING \
 --src 1.2.3.4 \
 --dst 5.6.7.8 \
 -p tcp \
 --dport 443 \
 -j REDIRECT \
 --to-ports 1194

Ou sinon, en utilisant le numéro de la règle :

# liste les règles de la table `nat`
iptables -t nat -L --line-numbers

# on supprime la règle `<num>` dans la chaîne `PREROUTING`
iptables -t nat -D PREROUTING <num>

Commenter
Articles de blogs que je lis

40 ans de GNU

40 ans de GNU Richard Stallman ne voulait pas changer le monde. Il ne voulait pas se battre contre les moulins à vent. Il ne voulait pas réinventer la roue. Richard Stallman voulait simplement retrouver ses amis, sa communauté. Pour ce jeune homme barbu et …
Ploum.net · 27 Sep 2023

La blog­chain

Avec les réseaux sociaux, les petits espaces person­nels inter­con­nec­tés qu’é­taient les blogs ont peu à peu disparu du paysage. Il en reste, mais les liens ne sont plus aussi forts. À la grande époque il était fréquent d’avoir des blogroll. sur un coin de c…
Carnet de notes · 8 Sep 2023

#63 : Comment parler du vivant pour mieux l’appréhender

Baptiste Morizot est philosophe, maître de conférences à Aix-Marseille Université et auteur de plusieurs ouvrages sur les relations entre l'humain et le reste du vivant (Les Diplomates, Sur la piste animale, Manières d'être vivant…). En avril dern…
Nourritures terrestres · 13 Aug 2023