Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

iptables nat redirection de port : succ

8 réponses
Avatar
Yann Cohen
Bonjour,

Sur l'activation de l'interface wwan0 d'un routeur (rpi), j'insère les
règles suivantes :
iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
iptables -t nat -A PREROUTING -i wwan0 -p tcp --dport 8000 -j DNAT --to
127.0.0.1:80
iptables -t nat -A PREROUTING -i wwan0 -p tcp --dport 2002 -j DNAT --to
127.0.0.1:22

La redirection de http (8000 -> 80) fonctionne, mais un :
ssh -p 2002 pi@adresse
ne fonctionne pas.
tshark montre bien des paquet entrant sur le port 2002 de l'interface,
mais pas de communication sur le port 22 de localhost...

Qu'ai-je bien pu rater ?

Yann.

8 réponses

Avatar
daniel huhardeaux
Le 07/01/2016 14:40, Yann Cohen a écrit :
Bonjour,

Sur l'activation de l'interface wwan0 d'un routeur (rpi), j'insère les
règles suivantes :
iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
iptables -t nat -A PREROUTING -i wwan0 -p tcp --dport 8000 -j DNAT --to
127.0.0.1:80
iptables -t nat -A PREROUTING -i wwan0 -p tcp --dport 2002 -j DNAT --to
127.0.0.1:22

La redirection de http (8000 -> 80) fonctionne, mais un :
ssh -p 2002
ne fonctionne pas.
tshark montre bien des paquet entrant sur le port 2002 de l'interface,
mais pas de communication sur le port 22 de localhost...

Qu'ai-je bien pu rater ?



Vérifie que ssh écoute bien sur le port 22

:~$ telnet 127.0.0.1 22
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.7p1 Debian-5
^]
telnet> quit
Connection closed.

--
Daniel
Avatar
Yann Cohen
Le jeudi 07 janvier 2016 à 15:12 +0100, daniel huhardeaux a écrit :
Le 07/01/2016 14:40, Yann Cohen a écrit :
> Bonjour,
>
> Sur l'activation de l'interface wwan0 d'un routeur (rpi), j'insère les
> règles suivantes :
> iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
> iptables -t nat -A PREROUTING -i wwan0 -p tcp --dport 8000 -j DNAT --to
> 127.0.0.1:80
> iptables -t nat -A PREROUTING -i wwan0 -p tcp --dport 2002 -j DNAT --to
> 127.0.0.1:22
>
> La redirection de http (8000 -> 80) fonctionne, mais un :
> ssh -p 2002
> ne fonctionne pas.
> tshark montre bien des paquet entrant sur le port 2002 de l'interface,
> mais pas de communication sur le port 22 de localhost...
>
> Qu'ai-je bien pu rater ?

Vérifie que ssh écoute bien sur le port 22

:~$ telnet 127.0.0.1 22
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.7p1 Debian-5
^]
telnet> quit
Connection closed.




Fait et fonctionne.

Yann.
Avatar
Jean-Michel OLTRA
Bonjour,


Le jeudi 07 janvier 2016, Yann Cohen a écrit...


ssh -p 2002
ne fonctionne pas.
tshark montre bien des paquet entrant sur le port 2002 de l'interface,
mais pas de communication sur le port 22 de localhost...

Qu'ai-je bien pu rater ?



Que les paquets soient droppés ensuite, après la table nat/PREROUTING ?


--
jm
Avatar
Yann Cohen
Le jeudi 07 janvier 2016 à 15:39 +0100, Jean-Michel OLTRA a écrit :
Bonjour,


Le jeudi 07 janvier 2016, Yann Cohen a écrit...


> ssh -p 2002
> ne fonctionne pas.
> tshark montre bien des paquet entrant sur le port 2002 de l'interface,
> mais pas de communication sur le port 22 de localhost...

> Qu'ai-je bien pu rater ?



en fait j'ai raté que même pour le port 8000 cela ne fonctionne pas et
que mon fournisseur d'accès 3G ne bloque pas les ports inférieurs à 1024
comme je croyais !


Que les paquets soient droppés ensuite, après la table nat/PREROUTING ?




Donc je n'ai plus qu'à comprendre les règles complètement...
Aller hop j'y retourne !

Yann.
Avatar
Pascal Hambourg
Salut,

Yann Cohen a écrit :

Sur l'activation de l'interface wwan0 d'un routeur (rpi), j'insère les
règles suivantes :
iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
iptables -t nat -A PREROUTING -i wwan0 -p tcp --dport 8000 -j DNAT --to
127.0.0.1:80
iptables -t nat -A PREROUTING -i wwan0 -p tcp --dport 2002 -j DNAT --to
127.0.0.1:22

La redirection de http (8000 -> 80) fonctionne, mais un :



Ça m'étonnerait.

Par défaut on ne peut pas attaquer une adresse de loopback comme
127.0.0.1 depuis l'extérieur, même via une redirection NAT. Il y a dans
les noyaux assez récents un réglage (que je ne connais pas) pour
l'autoriser malgré tout. Utilise plutôt la cible REDIRECT, en supposant
que ces sockets écoutent sur toutes les adresses locales ou au moins
celle de wwan0.
Avatar
yamo'
Salut et bonne année 2016,

Yann Cohen a écrit le 07/01/2016 14:50 :

Qu'ai-je bien pu rater ?






Essaies en modifiant AllowTcpForwarding

<http://linux.die.net/man/5/sshd_config>

Sinon le plus simple c'est de mettre plusieurs ports d'écoute on ouvrant
juste le port sur le WAN.

Port 22 2002

--
Stéphane
Avatar
Jean-Michel OLTRA
Bonjour,


Le vendredi 08 janvier 2016, yamo' a écrit...


Essaies en modifiant AllowTcpForwarding



Ou bien net.ipv4.ip_forward mis à 1 dans /etc/sysctl.conf ?

--
jm
Avatar
Pascal Hambourg
Jean-Michel OLTRA a écrit :

Le vendredi 08 janvier 2016, yamo' a écrit...

Essaies en modifiant AllowTcpForwarding



Ou bien net.ipv4.ip_forward mis à 1 dans /etc/sysctl.conf ?



Non, aucun rapport avec le sujet. L'un concerne le relais de port par
sshd, l'autre la fonction routeur de la machine qui n'est utile que
lorsque la destination est une autre machine, ce qui n'est pas le cas ici.