OVH Cloud OVH Cloud

Tunneling

4 réponses
Avatar
ben.camredon
Bonjour,

J'ai un petit problème, et j'aimerai quelques conseils pour le
résoudre. J'ai un ami qui habite dans une résidence avec un accès à
Internet. Un routeur CISCO faisant du filtrage fait office de
passerelle dans cette résidence. Cette passerelle filtrante ne laisse
passer que certains ports : 25, 80, 110 et 443. Elle est donc très
restrictive. Cette situation s'arrète bientot (une nouvelle passerelle
laissant tout passé va être mise en place). Cependant, juste par
curiosité j'aimerai pouvoir passer outre ce filtrage.
Premièr problème faire passer de l'IRC. L'irc utilise en règle général
le port 6667. Les communications IRC ne sont donc pas autorisées à
passer. Pour réussir à passer outre, j'ai installé un bouncer IRC sur
le port 443 (port autorisé) de ma machine (à l'extérieur de la
résidence). Mon ami se connecte donc sur ma machine sur le port 443,
et mon bouncer le redirige sur le serveur qu'il veut. Cela fonctionne
donc. Il est donc visiblement possible de passer outre ce filtrage
pour des protocoles simples comme l'IRC.
Deuxième problème : Il n'est pas toujours possible de configurer le
client pour qu'il dialogue sur un port différent de celui habituel.
Par exemple le client Warcraft 3 se connecte forcément sur un port
6112 en TCP. On peut par contre choisir le serveur sur lequel il va se
connecter. Pour résoudre ce problème, j'ai utilisé le programme rinetd
(http://www.boutell.com/rinetd/). Il me permet de faire une sorte de
proxy. Je configure donc rinetd pour qu'il écoute sur le port 6112 de
la machine de mon ami et que tout ce qui arrive sur ce port, soit
redirigé sur le port 443 de la mienne (toujours à l'extérieur de la
résidence). Sur ma machine, je fais l'opération inverse, c'est à dire
que tout ce qui arrive sur le port 443 de ma machine est rédirigé vers
le port 6112 du vrai serveur. Là encore, cela fonctionne. Par contre,
une fois la connexion établie, le serveur envoie une adresse IP sur
laquelle se reconnecter. Là, mon mécanisme ne marche plus.
J'ai donc pensé à faire du tunneling. Premièrement, cela résoudra le
problème cité précédemment, et deuxièmement cela évitera de mettre en
place plusieurs programmes pour faire passer plusieurs services
différents.
Je me suis penché sur le protocole pptp. Celui ci permet de faire une
encapsulation. Il utilise le port 1723 en TCP, port qui n'est pas
autorisé à passer. Mais en effectuant les mêmes manipulations que
précédemment (avec rinetd), je suis capable de passer outre ce
problème. Cependant, pptp n'utilise pas que du TCP. Il utilise aussi
un autre protocole qui s'appelle GRE (numéro 47 dans IP). Il ne
fonctionne donc pas, car la passerelle ne laisse pas passer ce
protocole.
Ma question est donc (enfin !!!) la suivante : Existe t'il un moyen de
faire une sorte d'encapsulation qui n'utilise que du TCP, pour faire
passer n'importe quoi à travers. Ou existe t'il une solution à ce
problème ? Techniquement, je ne vois pas pourquoi cela ne serait pas
faisable : Il suffirait d'encapsuler de l'IP dans un protocole
applicatif, ou tout simplement dans du TCP. Je pense que c'est
faisable, je ne dis pas que les performances seraient bonnes, ceci est
un autre problème. L'intérêt de cela est peut être aussi limité (bien
que), mais c'est surtout pour satisfaire ma curiosité.

Si quelqu'un a des idées, des expériences là-dessus, je suis preneur.

Merci d'avance.

Benoît

4 réponses

Avatar
T0t0
ben64 a écrit:
Si quelqu'un a des idées, des expériences là-dessus, je suis preneur.


Tu sembles déjà avoir bien tourné autour de la question.
Dans les ports ouverts, tu ne cites pas DNS, les requêtes sont
relayées ? proxysées ?

Sinon, tu peux mettre en place un VPN entre tes deux machines qui
fonctionnerait sur TCP. J'ai testé openVPN mais il fonctionne sur
UDP.
Ensuite, tu devrais pouvoir faire tout type de flux. Tu peux aussi dire
à ta machine à l'autre bout du tunnel de natter certains flux pour
les relayer et jouer à war3 :-) (frozen throne arrive...)
--
Accédez à ce forum en un clique sur le web avec http://web2news.com
http://web2news.com/?fr.comp.reseaux.ip

Avatar
F. Dunoyer
Bravo pour la présentation du probleme
Ca ne peut que donner envie de se pencher sur ta question

J'ai vu trainer à une epoque un petit soft qui s'appelait il me semble
httport et qui permetait de créer un proxy klocal qui pouvait dial avec un
serveur pendant et qui encapsulait tout le traffic en requette sur le port
80. Le serveur de l'autre cote (eventuellement ton PC) servait de proxy et
"redistribuait" les requettes

Je l'ai encore dans un coin (une vieille version maintenant) si tu ne
trouves pas je peux te la passer


--
François Dunoyer
Boite à outils NT/2000 : http://fdunoyer.free.fr/ta/outils.htm
Boite à Outils 9x : http://fdunoyer.free.fr/ta/outils-95.htm
Boite à Outils Admin : http://fdunoyer.free.fr/ta/outils-Admin.htm
Site perso : http://www.dunoyer.tk/
Avatar
F. Dunoyer
httport c'est sur http://www.htthost.com/
Avatar
bobslek
Je pense aussi que faire du VPN te permetrais de dormir la nuit.
tu as plusieurs solution pour laisser passer le flux mais le plus
simple reste a faire un transfert de port dans le routeur PPTP/1723 &
GRE vers la station en inside.

Le client (outside)devra utiliser un soft comme SSH sentinel...pour
dialoguer en vpn.