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

Tunnel SSH et redirection générique pour un port...

19 réponses
Avatar
David BERCOT
--=-UJQ34vJHe5CAfKO6nx3s
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Bonjour,

Je reviens sur mon probl=C3=A8me de tunnel SSH. J'arrive bien =C3=A0 le met=
tre en
oeuvre et =C3=A0 effectuer la redirection pour un serveur particulier sur u=
n
port particulier. Mais maintenant, je souhaiterais effectuer la
redirection pour un port particulier, mais pour n'importe quel
serveur !!! Par exemple, je voudrais effectuer la redirection pour le
port 110. Ainsi, si je fais appel au serveur pop1 (avec le port par
d=C3=A9faut, soit 110), la demande passera par le tunnel. Si je fais appel =
au
serveur pop2, le chemin sera le m=C3=AAme...

Savez-vous si c'est possible ? Et si oui, comment ;-)

Merci d'avance.

David.

--=-UJQ34vJHe5CAfKO6nx3s
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Ceci est une partie de message
=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQBFFoyPvSnthbGI8ygRArrcAJ9EMVY0hhgzGBfIbm+71XS/SFnOYwCgxR2r
MsV8cjxDoiu51BKRl2CJ3hE=
=JfCK
-----END PGP SIGNATURE-----

--=-UJQ34vJHe5CAfKO6nx3s--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

9 réponses

1 2
Avatar
Pascal Hambourg
Pascal Hambourg a écrit :
[des trucs qui peuvent faire peur aux âmes sensibles]

Et là quelque chose me dit que David n'est plus très chaud pour se
lancer dans l'option tunnel et qu'il va plutôt se concentrer sur
l'option proxy. ;-)


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Paul Filo
>> 3) tu lances ton client vtun sur machine A. Tu vas avoir une nouvelle
interface tun0 avec une adresse ip dans la plage de ton réseau local



Tu veux dire dans le réseau local du serveur SSH ?
Note : le serveur aura aussi une nouvelle interface tunX à l'autre bout
du tunnel.



Tu as raison : il y a une interface tun de chaque coté. Je voulais dire
que si ton réseau local est en 192.168.1.0/24, tu peux prendre 2
adresses dans cette plage pour le tunnel une coté serveur, l'autre coté
client. Ca évite de rajouter encore d'autres règles de routage coté serveur.

4) tu ajoutes une route pour router tous les paquets à destination du
port 110 pat cette interface.



Euh, ce n'est pas si simple. On ne peut pas directement router en
fonction du port destination. Il va falloir marquer les paquets sortants
avec une règle iptables MARK et faire du routage avancé avec une règle
de routage (ip rule) basée sur la marque définie qui aiguille le routage
vers une table de routage alternative contenant une route par défaut
passant par le tunnel. Du classique. Sans oublier le cas écheant de
désactiver rp_filter sur l'interface tunnel sinon les paquets de réponse
se feront jeter au retour. Ouf !



Effectivement... mais quelle joie quand ça marche... En fait, quand j'ai
testé ça, je filtrai sur l'adresse source et là c'est plus simple car ip
rule le fait directement.

{...]

Masquerading de rigueur en effet pour que les paquets de réponse
trouvent le chemin du retour jusqu'au serveur SSH, sauf si d'une part
l'interface tunnel du client a une adresse - libre évidemment - que la
passerelle du serveur sait joindre, par exemple dans le sous-réseau du
LAN du serveur, et d'autre part le proxy_arp est activé sur le serveur.
Ainsi le serveur répondra aux requêtes ARP pour l'adresse de tunnel du
client.



Une bonne vieille route statique point à point suffit il me semble. Et
je suis sûr de ne pas avoir eu besoin de proxy arp mais peut-être pour
certaines utilisations...

Et là quelque chose me dit que David n'est plus très chaud pour se
lancer dans l'option tunnel et qu'il va plutôt se concentrer sur
l'option proxy. ;-)



C'est marrant, j'ai la même impression... (voir message de David sur
Dante plus loin). Moi, dans son cas, je préfère jouer avec les paquets
tcpip, iptables, iproute2 et vtun plutôt que multiplier les proxy mais
chacun son truc.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
David BERCOT
--=-mAlGHL5JYISKyFrgQL9E
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Le mercredi 27 septembre 2006 à 21:17 +0200, Pascal Hambourg a éc rit :
Pascal Hambourg a écrit :
[des trucs qui peuvent faire peur aux âmes sensibles]

Et là quelque chose me dit que David n'est plus très chaud pour se
lancer dans l'option tunnel et qu'il va plutôt se concentrer sur
l'option proxy. ;-)



Ah, c'est pas faux ;-)
Indépendamment de la partie réseau, je n'ai pas encore suffisamme nt
d'expérience Linux à mon goût...

Néanmoins, c'est très intéressant. Bon, je n'ai pas vraiment le temps
d'étudier ça de près en ce moment, mais à l'occasion, j 'essaierais de le
faire...

En tous cas, merci pour vos réponses nombreuses...

David.

--=-mAlGHL5JYISKyFrgQL9E
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Ceci est une partie de message
=?ISO-8859-1?Q?numériquement?= =?ISO-8859-1?Q?_signée?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQBFG3OrvSnthbGI8ygRArCAAJ42d6AjYS8AfYC0aQ0q59Tg9vt3ogCbBP0y
1jBkP4QrfBqScFmaPsz9EUY =mEG0
-----END PGP SIGNATURE-----

--=-mAlGHL5JYISKyFrgQL9E--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
David BERCOT
--=-I+PGJoGfp2U3A//UfDRJ
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

C'est marrant, j'ai la même impression... (voir message de David sur
Dante plus loin). Moi, dans son cas, je préfère jouer avec les paquets
tcpip, iptables, iproute2 et vtun plutôt que multiplier les proxy ma is
chacun son truc.



En fait, dans mon cas précis, il me semble que la solution proxy (un
seul !) est la plus simple, non ?

Et puis, même si je suis d'accord sur l'aspect "satisfaction" que l'on
peut ressentir après avoir réussi à mettre en oeuvre quelque chose de
compliqué, pour la maintenance dans le temps, ce n'est pas
obligatoirement l'idéal...

De toutes façons, je sais bien que je devrais jouer avec iptables un
jour. Si c'était la meilleure solution, je me serais lancé dedans dès
aujourd'hui. Mais là, je pense qu'il y a plus simple/léger/perfor mant ?

David.

--=-I+PGJoGfp2U3A//UfDRJ
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Ceci est une partie de message
=?ISO-8859-1?Q?numériquement?= =?ISO-8859-1?Q?_signée?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQBFG3SzvSnthbGI8ygRAnZhAKCiYXJlvTxUdu526cDzdWkG8gVdeACgkGdX
QJbFP1mPnYjMRvwcmuY3qno =IvA/
-----END PGP SIGNATURE-----

--=-I+PGJoGfp2U3A//UfDRJ--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pascal Hambourg
Paul Filo a écrit :

Masquerading de rigueur en effet pour que les paquets de réponse
trouvent le chemin du retour jusqu'au serveur SSH, sauf si d'une part
l'interface tunnel du client a une adresse - libre évidemment - que la
passerelle du serveur sait joindre, par exemple dans le sous-réseau du
LAN du serveur, et d'autre part le proxy_arp est activé sur le serveur.
Ainsi le serveur répondra aux requêtes ARP pour l'adresse de tunnel du
client.



Une bonne vieille route statique point à point suffit il me semble. Et
je suis sûr de ne pas avoir eu besoin de proxy arp mais peut-être pour
certaines utilisations...



Si le serveur SSH ne fait pas de masquerading de l'adresse IP du client,
la passerelle du LAN du serveur verra les paquets "aller" partant vers
l'extérieur avec l'adresse IP source du client, et non l'adresse IP du
serveur. Et il cherchera a envoyer les paquets "retour" reçus de
l'extérieur à cette même adresse. Il y a deux conditions à ce que
l'envoi réussisse :
- la passerelle doit avoir une route vers l'adresse du client, ce qui
est implcitement le cas si cette adresse appartient au sous-réseau du LAN ;
- la passerelle doit retrouver l'adresse MAC correspondante grâce à une
requête ARP. Le client n'étant pas directement sur le LAN, il ne peut
répondre aux requêtes ARP. Le serveur doit donc le faire à sa place, et
c'est l'objet de l'option proxy_arp du noyau.

Alternative : créer sur la passerelle une route vers l'adresse du client
ayant pour passerelle l'adresse du serveur. Ainsi on fait d'une pierre
deux coups.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
David BERCOT
--=-iH8BYeiswU2nAvLs7UJq
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Le jeudi 28 septembre 2006 à 11:41 +0200, Pascal Hambourg a écrit :
Paul Filo a écrit :
>
>>Masquerading de rigueur en effet pour que les paquets de réponse
>>trouvent le chemin du retour jusqu'au serveur SSH, sauf si d'une part
>>l'interface tunnel du client a une adresse - libre évidemment - qu e la
>>passerelle du serveur sait joindre, par exemple dans le sous-résea u du
>>LAN du serveur, et d'autre part le proxy_arp est activé sur le ser veur.
>>Ainsi le serveur répondra aux requêtes ARP pour l'adresse de tunnel du
>>client.
>
> Une bonne vieille route statique point à point suffit il me semble . Et
> je suis sûr de ne pas avoir eu besoin de proxy arp mais peut-à ªtre pour
> certaines utilisations...

Si le serveur SSH ne fait pas de masquerading de l'adresse IP du client,
la passerelle du LAN du serveur verra les paquets "aller" partant vers
l'extérieur avec l'adresse IP source du client, et non l'adresse IP du
serveur. Et il cherchera a envoyer les paquets "retour" reçus de
l'extérieur à cette même adresse. Il y a deux conditions à ce que
l'envoi réussisse :
- la passerelle doit avoir une route vers l'adresse du client, ce qui
est implcitement le cas si cette adresse appartient au sous-réseau d u LAN ;
- la passerelle doit retrouver l'adresse MAC correspondante grâce à une
requête ARP. Le client n'étant pas directement sur le LAN, il n e peut
répondre aux requêtes ARP. Le serveur doit donc le faire à sa place, et
c'est l'objet de l'option proxy_arp du noyau.

Alternative : créer sur la passerelle une route vers l'adresse du cl ient
ayant pour passerelle l'adresse du serveur. Ainsi on fait d'une pierre
deux coups.



Et par défaut, ça donne quoi ?
Je dis ça car, en ce qui me concerne, je n'ai rien configuré du t out en
dehors de mon tunnel et ça marche nickel.
Ainsi, sur mon ordinateur A (réseau interne, adresse 10.*.*.*), je me
connecte en SSH (via un proxy) sur mon serveur B (également résea u
interne, adresse 192.168.*.*). Bon, bien évidemment, il y a du NAT.
Mais quand je fais ma requête POP sur mon ordinateur A, elle est envoy ée
dans le tunnel, passe par mon serveur B et ressort sur Internet par son
intermédiaire. Et le retour suit la même voie. En effet, il n'est pas
possible que le retour arrive directement sur mon ordinateur A à parti r
du serveur POP.

David.

--=-iH8BYeiswU2nAvLs7UJq
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Ceci est une partie de message
=?ISO-8859-1?Q?numériquement?= =?ISO-8859-1?Q?_signée?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQBFG7rnvSnthbGI8ygRAgSxAJ0WY9sRBuUDfGXVeH+w77TM5XRyXgCgrrUM
bVg9pgRmYuCg1gtqSKN0Qw0 Q+T
-----END PGP SIGNATURE-----

--=-iH8BYeiswU2nAvLs7UJq--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pascal Hambourg
David BERCOT a écrit :

Et par défaut, ça donne quoi ?
Je dis ça car, en ce qui me concerne, je n'ai rien configuré du tout en
dehors de mon tunnel et ça marche nickel.



Tu parles de quoi ? De la redirection de port TCP local avec l'option -L
de ssh ? Dans ce cas il n'y a pas de problème de routage puisqu'il n'y a
pas de lien IP entre le client et le serveur SSH. Mais ça ne marche que
si on connaît à l'avance la liste exhaustive des serveurs à atteindre.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
David BERCOT
--=-0vJcWe2zesgShSYvEFxW
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Le jeudi 28 septembre 2006 à 16:55 +0200, Pascal Hambourg a écrit :
David BERCOT a écrit :
>
> Et par défaut, ça donne quoi ?
> Je dis ça car, en ce qui me concerne, je n'ai rien configuré du tout en
> dehors de mon tunnel et ça marche nickel.

Tu parles de quoi ? De la redirection de port TCP local avec l'option -L
de ssh ? Dans ce cas il n'y a pas de problème de routage puisqu'il n 'y a
pas de lien IP entre le client et le serveur SSH. Mais ça ne marche que
si on connaît à l'avance la liste exhaustive des serveurs à   atteindre.



OK. C'est parce que j'ai redirigé uniquement pour le port 110 vers
pop.wanadoo.fr ? Le client de la requête POP est le serveur SSH qui
reçoit la réponse (logique) et la transmet à l'autre bout du tunnel ?

David.

--=-0vJcWe2zesgShSYvEFxW
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Ceci est une partie de message
=?ISO-8859-1?Q?numériquement?= =?ISO-8859-1?Q?_signée?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQBFG/a9vSnthbGI8ygRAiF6AKCVHkMTOnL1VtVw8sRLuQAmkFKUggCcDIWz
mkxLrtAxZWFXXd7VpIWrneU =qBva
-----END PGP SIGNATURE-----

--=-0vJcWe2zesgShSYvEFxW--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pascal Hambourg
David BERCOT a écrit :

Tu parles de quoi ? De la redirection de port TCP local avec l'option -L
de ssh ? Dans ce cas il n'y a pas de problème de routage puisqu'il n'y a
pas de lien IP entre le client et le serveur SSH. Mais ça ne marche que
si on connaît à l'avance la liste exhaustive des serveurs à atteindre.



OK. C'est parce que j'ai redirigé uniquement pour le port 110 vers
pop.wanadoo.fr ? Le client de la requête POP est le serveur SSH qui
reçoit la réponse (logique) et la transmet à l'autre bout du tunnel ?



Oui et non. Le client de la *connexion* TCP sur le port 110 du serveur
POP3 est le serveur SSH. L'émetteur des *requêtes* POP3 (LIST, RETR,
DELE...) reste l'hôte qui se connecte au port 110 du client, le tunnel
SSH faisant le relais entre les deux.

Note que si tu connais à l'avance la liste de tous les serveurs et ports
auxquels tu as besoin de te connecter, les redirections de ports de SSH
associées à des règles iptables DNAT peuvent suffire.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
1 2