Bonsoir à toutes et à tous,
J'ai une question assez technique à poser, je me permets donc un petit récap de la situation.
Depuis quelques temps, mon F.A.I. (Free pour ne pas le citer ^^) bloque partie des paquets p2p.
Si je fais le test (Entre autres) indiqué ici:
[
www.journaldufreenaute.fr]
Je passe de 600Ko en download à 3Ko. Je sais donc que Free filtre sur le user agent, mais aussi sur le formatage des paquets. Il m'est très difficile de jouer sur internet lorsque le jeu utilise UDP, etc... Je n'utilise pourtant pas de client p2p (A part le FTP, mais est-ce un moyen de p2p?... Troll mode on ^^).
Or depuis peu, j'essaye de jouer à un jeu sur ma nintendo DS qui utilise exclusivement l'UDP pour communiquer. Ce qui bien sûr ne fonctionne jamais, vu que Free doit probablement cataloguer les paquets en p2p et les dropper ou les mettre en priorité très basse.
Mon réseau est conçu comme suit:
La Freebox est reliée à ma passerelle / serveur debian (Sarge) via de l'ethernet de base (62.xx.xx.xx, Eth1 pour l'exemple). Debian filtre et est connecté à un point d'accès sans fil (via eth0, 192.168.0.1). Les ordinateurs de mon réseau à la maison se connectent donc tous à ce routeur, de façon transparente. Le réseau chez moi est bien connecté à internet (Masquerading de eth0 sur eth1).
Quand je veux jouer sur le net avec ma DS, j'active une règle iptables qui dit que tous les paquets TCP / UDP venant d'internet sonts DNAT vers la nintendo DS, dont l'IP est 192.168.0.110. Quand quelqu'un essaye de se connecter, j'ai bien les quelques échanges que Free ne bloque pas qui transitent quand je "tcpdump | grep 192.168.0.110".
On a à peut près tout essayé pour contourner le blocage de Free, rien n'y fait. La seule solution que je vois, serait de mettre en place un cryptage pour les paquets allant de chez moi à une IP connue (L'ami avec qui je veux jouer). Le schémas de fonctionnement serait:
La nintendo DS communiquerait en clair vers le serveur Nintendo pour l'authentification (C'est du TCP, pas de souci ça fonctionne déja). Puis quand elle communiquerait chez mon ami, je voudrais les faire passer en tunnel crypté, de façon à ce que l'UDP soit encapsulé dans du TCP crypté, puis décrypté chez mon ami...
Donc, chez mon ami à l'identique de chez moi, il faudrait une rêgle qui dise que tout ce qui vient de mon IP est à décrypter avant de DNATTER sur sa nintendo DS. Inversement, tout ce qui part de chez lui en provenance de sa DS et à destination de mon IP devra être tunnelé / crypté.
La difficulté est que la nintendo ne peut être que très peut paramétrée (IP, DNS, Passerelle, config WIFI) et donc si je mets en place un tunnel sur ma machine debian, comment lui "dis-je" de tunneler tout ce qui vient de la nintendo DS (192.168.0.110)?... Help ^^
Je sais que ma question peut sembler hors sujet Linux, mais il se trouve que la seule solution est celle que j'ai trouvé (Sauf si vous voyez autre chose), et je ne sais pas comment la mettre en oeuvre.
J'éspère avoir été assez clair, je sais que je n'ai pas les mots qui collent sur tout ça, j'ai essayé de m'exprimer le plus près possible du résultat voulu.
En vous remerciant de votre temps et de vos idées!
Pierrot.