Overblog Suivre ce blog
Editer la page Administration Créer mon blog
La boîte à fourbi

Tutoriel : accéder au Net par-delà un proxy

Rédigé par Shinkel Publié dans #tutoriel, #proxy, #tunnel ssh, #firewall, #tunnel, #ssh, #openssh, #contourner pare-feu, #contourner proxy

Bonjour à tous, chers lecteurs.
Aujourd'hui, nous allons voir comment il est possible, sous certaines conditions, de passer outre un proxy (souvent à tort appelé pare-feu/firewall, bien qu'il puisse faire les deux) qui se trouve entre vous et le Net, pour une raison X ou Y (restriction sur le lieu de travail, réseau universitaire...).
Nous allons essayer de comprendre comment cela est possible, avec un peu de théorie pour clarifier le tout.

 

I- Un peu de théorie : adresse IP et ports

Ne partez pas! Nous allons faire simple. A l'image de l'adresse postale, l'adresse IP (Internet Protocol) est celle qui identifie un appareil sur un réseau. Sauf que là, au lieu d'avoir 38 rue du Square, c'est une série de chiffres. Je mettrai de côté l'IP v6 pour ne parler que du plus courant, IP v4.
L'adresse IP v4 est composée de 4 groupes de chiffres allant de 0 à 255, séparés par des points. Ce qui nous donne par exemple 212.132.25.72.
Il est ensuite important de discerner l'IP que vous avez chez vous (au sein de votre réseau local) de l'IP que vous avez sur le Net (ce qui est le cas lorsque vous passez par une box internet). En effet, votre box internet fait le lien entre votre réseau local, abrégé LAN (Local Area Network) et Internet, le réseau des réseaux, abrégé WAN (Wide Area Network). Ca n'a l'air de rien dit comme ça, mais c'est crucial pour ce que nous allons faire après.
Les IP locales sont généralement du type 192.168.0.X (ou 192.168.1.X), et les IP WAN dépendent entre autres de votre fournisseur Internet. Ce qui donne donc par exemple :

Tutoriel : accéder au Net par-delà un proxy

Je ne m'attarderai pas sur les raisons de la séparation des IP locales/globales, Google est votre ami. MAIS! Mais la chose importante à comprendre, c'est que lorsque vous naviguez sur le Net depuis chez vous, si l'on se base sur mon exemple ci-dessus, votre IP publique (celle vue par tout le monde) sera donc 10.220.92.105 et non 192.168.0.X. C'est votre Box, ou plus exactement son routeur qui se chargera de dispatcher les informations entre le Net et chaque machine (c'est beau, la technologie!).

En français dans le texte, si vous voulez vous connecter chez vous, il faudra donc utiliser l'IP WAN.

Petite précision : pour certains besoins, ainsi que nous allons le voir, il peut être nécessaire de pointer la machine locale, c 'est-à-dire qu'une machine se pointe elle-même, un peu comme vous dites "je suis ici" et pas "je suis à telle adresse". Le "ici", c'est systématiquement la même IP, peu importe les machines (même s'il est possible de le changer) : 127.0.0.1. Et pour une fois, il y a un mot-clé associé avec cette IP, qui est localhost (qui est interprété comme 127.0.0.1 mais qui a l'avantage d'être plus parlant pour l'utilisateur).

Bien. Maintenant que nous avons compris le principe de l'IP, passons au port.

Pour faire simple, imaginez qu'une IP est une maison avec beaucoup, beaucoup de portes (65536 portes très précisément, numérotées de 0 à 65535). La majorité des portes a une raison d'être et sert à quelque chose, mais en pratique, seuls quelques portes servent chez monsieur tout le monde.

Pour prendre une analogie, imaginez qu'il y a une porte pour le courrier, une autre pour le chat, une pour le chien, et j'en passe : ça, ce sont les portes "de tous les jours" : vous savez que ça risque de mettre le bazar si vous utilisez ces portes pour leur coller un autre usage (utiliser la porte du chat pour faire rentrer une machine à laver, par exemple : c'est certes absurde, mais ça ne se fait pas sans encombres!).
Ensuite, il y a les portes qui sont là parce qu'elles pourraient potentiellement servir, comme par exemple une porte pour les traders new-yorkais de 45 ans (oui oui, ils ont une porte dédiée), la porte pour les démarcheuses bigoudennes, bref, des portes qui ont été pensées pour un usage qui avait du sens quand elles ont été installées mais qui finalement, si vous les utilisez pour un autre usage, on n'y verra que du feu.

La raison d'un tel nombre est d'une part "numérique octal" (la valeur maximale de 2 octets est 65535) et de l'autre, parce que chaque porte ne peut être utilisée que pour un usage à la fois ; mettons que vous utilisez la porte "naviguer sur Internet" et que vous essayez en plus d'utiliser cette même porte pour "télécharger des films de vacances parfaitement légaux en utilisant BitTorrent", vous essaierez dans les faits de faire passer deux personnes dans une même porte et en même temps : au final, vous ne parviendrez à en faire passer aucune correctement.

Pour adresser un port, c'est-à-dire désigner au sein d'une IP une porte spécifique, l'écriture consacrée est <IP>:<port>, donc par exemple 192.168.0.20:57641 désignera le port 57641 de l'adresse IP 192.168.0.20. Facile!

  II-Un peu de théorie : le proxy

Lorsque vous êtes chez vous (et que vous êtes maître de votre connexion), vous pouvez aller n'importe où sur le Net : pas de restrictions, sauf contrôle parental.

Cette liberté peut présenter des dangers, tel que la personne qui ne fait pas attention et va se rendre sur des sites dangereux bourrés de saletés qui font se faire un plaisir d'infester la machine qui s'y connectera, laquelle machine deviendra un nid de virus et autres joyeusetés pour toute autre machine qui se connectera à elle soit directement (consultation de fichiers infectés), soit indirectement (clé USB contaminée). Nous parlons de danger "viral".
Autre danger : le danger pour la productivité. Temps perdu par des employés ou des élèves à aller consulter du Facebook à longueur de journée, ou Youtube, des sites frivoles, de la discussion en direct... Le temps potentiel perdu sur Internet n'est pas mesurable.
Ce ne sont que quelques menus exemples qui justifient l'emploi d'un filtre qui permet de limiter l'accès à Internet. Ce filtre, c'est un proxy, équivalent d'un mur de barbelés avec mirador entre votre machine et Internet.

A noter que les proxys ont une autre utilité qui est le surf anonyme : c'est certes un filtre, mais il permet du même coup de vous protéger derrière lui, puisque c'est lui qui est en interface avec le Net.

Est-il besoin de le préciser, un proxy est placé de telle manière qu'il n'est pas possible de le contourner "à la régulière" (c'est même son utilité première dans son rôle de protecteur de réseau, qui nous intéresse maintenant) :

- soit il faudra prendre une autre route (par exemple un accès 3G de smartphone en mode "partage de connexion") en lieu et place du réseau derrière le proxy,

- soit avoir une "clé", c'est-à-dire un accès dans le proxy qui n'est pas affecté par son filtrage, autant dire être le meilleur ami de l'administrateur réseau;

- et la dernière solution, c'est de la jouer contrebandier en passant par la grande porte, mais en se dissimulant de manière à passer comme une fleur sous le nez des gardes.

Le proxy, derrière ses airs invincibles, peut donc être déjoué. D'ailleurs, ce n'est qu'une machine comme un autre, qui à la manière d'un entonnoir, reçoit toute connexion vers le Net. Ce qui veut aussi dire qu'en tant que machine sur le réseau, elle a elle aussi une adresse IP et un port associé. Je vous invite à noter ces informations sur un bout de papier, car nous allons nous en servir plus tard.

Vous n'avez pas ces informations dans votre navigateur, mais une curieuse adresse qui se termine par .cgi? Oh oh, c'est un script qui permet de diriger les connexions vers certains sites de manière automatisée. Copiez donc cette adresse avec le .cgi dans votre navigateur Internet : si tout se passe bien, vous devriez télécharger le fameux fichier .cgi. Ouvrez-le dans un bloc-notes : avec un peu de logique, vous parviendrez à comprendre le mode de fonctionnement de ce script. Celui que je pratique au quotidien n'est intéressant que sur la fin : les premières conditions du script concernent des sites particuliers, mais moi, je veux l'adresse et le port du proxy de monsieur tout le monde, c'est-à-dire ce qui reste quand l'adresse du site que je veux consulter n'est pas pris en charge par les conditions précédentes. Il se peut que vous ayez non pas une, mais plusieurs IP/ports : notez-les tous, là encore, nous en aurons besoin plus tard.

 

II-Un peu de théorie : le proxy

Lorsque vous êtes chez vous (et que vous êtes maître de votre connexion), vous pouvez aller n'importe où sur le Net : pas de restrictions, sauf contrôle parental.

Cette liberté peut présenter des dangers, tel que la personne qui ne fait pas attention et va se rendre sur des sites dangereux bourrés de saletés qui font se faire un plaisir d'infester la machine qui s'y connectera, laquelle machine deviendra un nid de virus et autres joyeusetés pour toute autre machine qui se connectera à elle soit directement (consultation de fichiers infectés), soit indirectement (clé USB contaminée). Nous parlons de danger "viral".
Autre danger : le danger pour la productivité. Temps perdu par des employés ou des élèves à aller consulter du Facebook à longueur de journée, ou Youtube, des sites frivoles, de la discussion en direct... Le temps potentiel perdu sur Internet n'est pas mesurable.
Ce ne sont que quelques menus exemples qui justifient l'emploi d'un filtre qui permet de limiter l'accès à Internet. Ce filtre, c'est un proxy, équivalent d'un mur de barbelés avec mirador entre votre machine et Internet.

A noter que les proxys ont une autre utilité qui est le surf anonyme : c'est certes un filtre, mais il permet du même coup de vous protéger derrière lui, puisque c'est lui qui est en interface avec le Net.

Est-il besoin de le préciser, un proxy est placé de telle manière qu'il n'est pas possible de le contourner "à la régulière" (c'est même son utilité première dans son rôle de protecteur de réseau, qui nous intéresse maintenant) :

- soit il faudra prendre une autre route (par exemple un accès 3G de smartphone en mode "partage de connexion") en lieu et place du réseau derrière le proxy,

- soit avoir une "clé", c'est-à-dire un accès dans le proxy qui n'est pas affecté par son filtrage, autant dire être le meilleur ami de l'administrateur réseau;

- et la dernière solution, c'est de la jouer contrebandier en passant par la grande porte, mais en se dissimulant de manière à passer comme une fleur sous le nez des gardes.

Le proxy, derrière ses airs invincibles, peut donc être déjoué. D'ailleurs, ce n'est qu'une machine comme un autre, qui à la manière d'un entonnoir, reçoit toute connexion vers le Net. Ce qui veut aussi dire qu'en tant que machine sur le réseau, elle a elle aussi une adresse IP et un port associé. Je vous invite à noter ces informations sur un bout de papier, car nous allons nous en servir plus tard.

Vous n'avez pas ces informations dans votre navigateur, mais une curieuse adresse qui se termine par .cgi? Oh oh, c'est un script qui permet de diriger les connexions vers certains sites de manière automatisée. Copiez donc cette adresse avec le .cgi dans votre navigateur Internet : si tout se passe bien, vous devriez télécharger le fameux fichier .cgi. Ouvrez-le dans un bloc-notes : avec un peu de logique, vous parviendrez à comprendre le mode de fonctionnement de ce script. Celui que je pratique au quotidien n'est intéressant que sur la fin : les premières conditions du script concernent des sites particuliers, mais moi, je veux l'adresse et le port du proxy de monsieur tout le monde, c'est-à-dire ce qui reste quand l'adresse du site que je veux consulter n'est pas pris en charge par les conditions précédentes. Il se peut que vous ayez non pas une, mais plusieurs IP/ports : notez-les tous, là encore, nous en aurons besoin plus tard.

III- Un peu de théorie : le tunnel SSH

Nous avançons sur les sentiers de la connaissance! Nous avons connaissance des IP, ports, du principe du proxy et de comment le passer, le sacripant.

Nous allons utiliser la troisième alternative de contournement du filtrage, à savoir la dissimulation.

Pour ce faire, nous allons nous intéresser aux règles de filtrage du proxy.

La majorité des proxys filtrent sur des noms de domaine (l'adresse du site auquel vous souhaitez vous connecter, http://www.blablabla.com), certains plus rares filtrent sur les IP (chaque nom de domaine est rattaché à une IP, mais cette IP peut changer, d'où l'intérêt du nom de domaine), d'autres encore filtrent sur certaines balises de types de sites (sites sur les jeux vidéo, pour adultes et j'en passe). Evidemment, le filtrage idéal est une combinaison des trois.

Lorsque vous tapez une adresse de site dans votre navigateur, celle-ci est donc envoyée au proxy, laquelle est passée au filtre et bloquée ou non.

On va la faire courte : nous allons utiliser une connexion non filtrée pour naviguer au nez et à la barbe du proxy, c'est-à-dire généralement votre connexion à la maison. Comment peut-on faire ça, me direz-vous, puisqu'on ne peut pas contourner le proxy?

En fait, nous allons utiliser la dissimulation en cryptant les données de manière à les envoyer dans un tuyau (le tunnel) qui, lui, est tout à fait autorisé par le proxy. La condition à cela est que le tunnel doit mener à un endroit où se raccorder (sinon, il traîne par terre, c'est logique). Cet endroit ne pas être filtré par le proxy ET disposer d'une connexion non filtrée (puisque c'est celle que nous utiliserons), naturellement.

Cet endroit où se raccorder, l'équivalent de la prise dans le mur, est un serveur SSH. SSH, pour Secure SHell, est un protocole de cryptage réputé pour son efficacité et qui est fortement pratique à utiliser. Nous verrons plus bas comment mettre en place un tel serveur.

Une fois que nous aurons créé la prise dans le mur, il suffira de créer le tunnel reliant notre machine bloquée par le proxy à la prise, puis de diriger ce que l'on veut vers le tunnel. Facile!

Le tunnel est défini sur un port de la machine locale, ce qui signifie qu'il faudra rediriger les données que nous souhaitons faire passer dans le tunnel VERS le tunnel (au lieu de "vers le proxy", seul le tunnel en lui-même passera par le proxy); l'adresse du tunnel qui remplacera l'adresse du proxy sera donc "IP de la machine locale : port du tunnel". (par exemple 127.0.0.1:57641).

Dernier raffinement, il est possible de créer plusieurs tunnels vers le même serveur SSH (un pour naviguer sur Internet, un pour utiliser IRC...).

Tutoriel : accéder au Net par-delà un proxy

IV- Création du serveur SSH

C'est la partie la plus ennuyeuse. En effet, soit vous connaissez quelqu'un avec une machine qui tourne H24 et qui est disposé à monter un serveur SSH dessus, soit ce n'est pas le cas. Voyons d'abord les alternatives possibles.

1- Utiliser un PC comme serveur SSH
Sous Windows, monter un serveur SSH n'est pas aussi facile que sous Linux (une fois n'est pas coutume :p). En effet, l'un des rares logiciels permettant de le faire est Cygwin, qui est un émulateur de Linux sous Windows. C'est cet environnement qui permettra de faire tourner le serveur à proprement parler, OpenSSH.

Comme il y a des gens bien sur le Net, les tutoriels pour utiliser ces deux logiciels existent déjà, il suffit d'interroger l'ami Google pour tomber sur >ce tutoriel<, par exemple.

Gros avantage, les machines les plus anciennes peuvent servir à monter un serveur SSH tant la demande en ressource est faible; si vous avez quelque part un vieux portable sous XP, il peut même faire l'affaire (Pentium 3 ou équivalent, en-dessous, ça devient corsé).

Si même un Windows XP commence à avoir du mal à tourner dessus, il est peut-être temps de passer à quelque chose d'encore plus léger. Je recommande par exemple Damn Small Linux, ou DSL, assez redoutable de légèreté mais qui nécessite d'être curieux de l'univers Linux; le gros avantage étant que l'on parle d'une machine secondaire qui tournera toute seule dans son coin. C'est une expérience à vivre, c'est gratuit, alors n'hésitez pas!

Sous Linux, téléchargez OpenSSH via votre centre de distribution des paquets. Pour la suite, vous allez devoir retrousser les manches, parce que ça se passe en anglais et assez souvent via le Terminal. >Voyez plutôt<.

Sous Mac... Je n'ai même pas envie de me renseigner, mais là encore, vive Google :p

2- Utiliser un smartphone comme serveur SSH

Beaucoup moins répandue, cette partie requiert un smartphone tournant sous iOS (jailbreaké) ou sous Android, qui sera en charge continue et sans mise en veille, ainsi que bien évidemment relié au WiFi de chez vous. Si, comme moi, vous avez un vieil iPhone 3G qui moisit dans un coin, c'est une bonne idée de reconversion!

Voici un tuto pour >iPhone<, et en voici un pour >Android<.

Il faudra bien vous assurer, via un ping www.google.fr une fois en SSH sur votre appareil que le DNS est bien actif (sinon, lorsque plus tard avec le tunnel, vous taperez www.google.fr par exemple, vous ne parviendrez pas à vous connecter parce que la traduction "nom de domaine vers IP" ne sera pas faite (absence de serveur de "traduction", dira-t-on).

3- Utiliser un nano-PC comme serveur SSH

C'est ma solution préférée parce que bidouille et consommation moindre, j'utilise un Raspberry Pi, que l'on peut acheter moyennant une petite quarantaine d'euros (et ça fait même station de téléchargement à distance, du velours).

Ce nano-PC fait aussi PC multimédia à ses heures perdues et ses usages sont très, très nombreux. Vous pouvez vous en procurer un >ici<, pensez par contre à investir dans une carte SD sans quoi l'OS ne bootera pas (ne boote pas sur clé USB!).

Tout comme le PC sous Linux, il faut avoir le goût de la bidouille, mais on trouve des tutoriels fabuleux (j'ai utilisé un tuto en anglais pour configurer le mien, celui de Yummy Pi, mais là encore l'ami Google est plein de ressources).

 

4- Utiliser un NAS comme serveur SSH

Beaucoup de NAS de grande marque, comme Synology, premettent de monter, via leur app-store respectif, un serveur SSH. Comme il y a moult modèles de NAS, je vous invite à demander à l'ami Google ce qu'il en pense, mais c'est chose courante que de petits bricolos se soient adonnés à monter un serveur sur un tel dispositif. Vous risquez de devoir être bricoleur, par contre.

V- Serveur SSH, changement et transfert de port

Pensez à changer le port par défaut. 22 est le port consacré au SSH, mais certains paranos aiment à clamer que c'est la porte ouverte aux hackers et compagnie. Nonobstant la divergence de point de vue sur le sujet, qui part du principe qu'un hacker n'a que faire de votre petite vie de prolétaire lambda, je ne vois pas en quoi ça coince de changer le port "pour le principe". En plus, ça vous apprend des trucs en bidouille informatique, alors y'a pas de mal.

Que votre serveur soit sur le port 22 ou non, si vous passez par une Box internet, vous aurez certainement des difficultés à vous connecter de l'extérieur (soit de manière aléatoire, soit pas du tout). Petite explication.
Lorsque vous voudrez vous connecter de l'extérieur, vous entrerez l'IP de votre Box internet (logique) et le port sur lequel vous avez monté votre serveur SSH (logique aussi). Sauf que votre Box, plus précisément la partie routeur (qui permet d'aiguiller le trafic entre chaque machine qui y est connectée et Internet), si elle s'en sort nickel avec le trafic de tous les jours (naviguer, jouer...), il est nécessaire de lui indiquer que "toute connexion sur  le port <numéro du port du serveur SSH> doit être redirigée systématiquement vers <ip locale  (192.168.x.x) de la machine faisant tourner le serveur SSH>". Là encore, c'est logique.
Ce genre de "règle" s'appelle le port forwarding, ou "transfert de port" en français. Je vais vous donner l'exemple de mon modem, mais vous avez forcément un équivalent (si vous luttez, un petit coup de Google "port forwarding <modèle de votre modem-routeur ou Box>" devrait faire l'affaire.
1- Récupérez l'adresse IP locale de votre machine faisant tourner le serveur SSH. Pour ce faire, appuyez sur les touches Windows+R, puis tapez "cmd", et enfin "ipconfig /all". Dans la liste qui suit, repérez l'adresse 192.168.(0 ou 1).x et notez-la. ATTENTION : ne prenez pas 192.168.(0 ou 1).1 : c'est l'adresse du routeur/box, pas celle du PC (ou alors, vous avez vraiment un drôle de réseau), symbolisée d'ailleurs par le texte "passerelle" ou "gateway".
2- Il faut ensuite vous assurer d'avoir toujours la même IP locale, car le routeur peut sans crier gare changer entre deux redémarrages de machine l'attribution des IP. Sous Windows, il faut suivre >par exemple cette démarche<. Sous Linux/Android/IOS, >plutôt celle-ci<. Demandez à Google si ça ne va toujours pas :p

3- Connectez-vous sur votre box en entrant la fameuse adresse 192.168.(0 ou 1).1, ce qui, si vous êtes sur Numéricable, vous donnera, après avoir entré les informations d'identification (généralement une combinaison de admin/root en login et admin/root/password en mot de passe), un écran comme celui-ci :

(mon image de base était belle mais Overblog me l'a massacrée en jpeg, n'sais pas pourquoi)

(mon image de base était belle mais Overblog me l'a massacrée en jpeg, n'sais pas pourquoi)

VI- Construction du tunnel SSH

Maintenant que nous avons configuré ce qu'il fallait côté "monde libre" (nous avons, pour reprendre ma métaphore hasardeuse plus haut, préparé la "prise" dans le mur), nous allons maintenant nous attaquer à la construction du tunnel SSH.
Mais d'abord, vous devez être certain que votre serveur est accessible depuis l'extérieur. Vous avez théoriquement déjà essayé en local avec les tutoriaux précédents, c'est pour cela que je ne m'attarderai pas plus avant dessus.

La seule chose qui peut-être changera, selon l'outil que vous avez utilisé pour vous connecter lors du tutoriel (WinSCP ou qu'en sais-je), nous allons utiliser PuTTY.

>Télécharger PuTTY<

Lancez PuTTY.

Tutoriel : accéder au Net par-delà un proxy

- Dans le champ Host name or IP address, entrez l'IP WAN de votre box, votre "vraie" IP internet. Vous ne la connaissez pas? Rendez-vous donc sur http://www.whatismyip.com (depuis le réseau local du serveur SSH, bien entendu).
- Dans le champ Port, entrez le port du serveur SSH (celui que vous avez forwardé précédemment).
- Entrez un nom quelconque dans Saved Sessions, comme Ma connexion (et par pitié, pas "Ma connection", c'est le mot anglais, ça).
- Ceci fait, appuyez une petite fois sur le bouton Save, avant de cliquer dans la partie gauche de la fenêtre sur Proxy.

Tutoriel : accéder au Net par-delà un proxy

- Les petits boutons ronds risquent d'être vos amis, puisque vous risquez de devoir y aller à tâtons avant de trouver le bon. Je ne vous cache pas mon ignorance sur "pourquoi untel et pas un autre", ce qui fonctionne chez moi, c'est HTTP, mais il se peut également que Socks4 ou Socks5 fonctionne, il faudra faire le test vous-même.
- Dans Proxy hostname, entrez l'IP de votre proxy (ou son nom en toutes lettres s'il existe, c'est également possible), et dans Port, son... port (soyons logique).
- Dans Username, entrez si besoin le login qui vous est demandé lorsque vous souhaitez vous rendre sur Internet (sur le réseau "limité"). Selon la configuration de votre machine de boulot, il peut être nécessaire de rentrer le nom de domaine auquel est rattachée votre machine (ce sera de la forme <domaine>\<nom d'utilisateur>). Si vous rencontrez des difficultés, vous pouvez essayer avec ou sans nom de domaine.
- Bien entendu, dans Password, renseignez le mot de passe qui vous est demandé lors d'une connexion standard depuis votre réseau "limité".
- Revenez tout en haut de l'arborescence dans la partie gauche dans Session, et cliquez une nouvelle fois sur Save.
- De nouveau dans la partie gauche, descendez jusqu'à SSH, puis dans Tunnels.

Tutoriel : accéder au Net par-delà un proxy

La construction du (ou des) tunnel(s) à proprement parler commence ici.
- Comme nous sommes pour le moment en IP v4 (voir plus haut), nous allons cliquer sur... IP v4. Et comme je n'ai pas la moindre idée de pourquoi nous allons choisir cela, nous allons prendre Dynamic.
- Renseignez ensuite le port sur lequel vous souhaitez créer un tunnel dans Source port. J'ai choisi 1701, mais si vous voulez faire les choses bien, référez-vous à la liste des ports TCP/UDP.
- Laissez le champ Destination vide, puis cliquez sur Add. Et voilà, votre tunnel est créé!
- Vous pouvez créer autant de tunnels que vous le désirez, mais pas la peine de se casser la nénette à en faire des tonnes, voyez en fonction de vos besoins!
- Remontez dans la partie gauche de la fenêtre dans Session, et enfin cliquez sur Save une dernière fois.
- Ceci fait, vous pouvez enfin cliquer sur Open.

Si vous avez bien suivi les parties précédentes (et surtout les tutoriels sur la mise en place du serveur SSH), vous devriez avoir une fenêtre qui s'ouvre avec des informations bizarres, concernant le certificat du serveur SSH (s'il s'agit d'un message d'erreur, l'IP/port du proxy, le format ou le contenu du login/mot de passe, ou encore un mauvais port SSH dans Session peuvent être en cause).
Cliquez sur OK, vous n'aurez plus cette fenêtre désormais.
Ce qui vous donne une fenêtre dans ce goût-là :

Tutoriel : accéder au Net par-delà un proxy

Entrez le login/mot de passe au serveur SSH ainsi que détaillé dans les tutoriels de mise en place du serveur, ce qui doit vous donner quelque chose comme ceci (exemple avec mon Raspberry Pi) :

Tutoriel : accéder au Net par-delà un proxy

Une fois authentifié, vous avez fait le plus dur : le ou les tunnels sont établis. Laissez cette fenêtre ouverte ou réduite, nous allons maintenant passer au raccord vers le tunnel.

Comment cela fonctionne-t-il? Voici déjà le principe de base : vous vous souvenez que nous étions en butte au vindicatif proxy. Là, nous allons conserver en quelque sorte un proxy, à ceci près que c'est le tunnel qui, dorénavant, sera déclaré comme proxy.

Pour cela, nous allons avoir besoin, comme pour un proxy classique, de son IP ainsi que de son port. Qui sont? Allez, je vous aide : nous voulons forcer les communications à passer par le tunnel, qui se trouve établi sur la machine même. L'IP du tunnel sera donc 127.0.0.1 (IP de rebouclage), ou localhost (ce qui revient au même, sous certaines conditions, mais passons).

Quant au port, très simple, il s'agira du port du tunnel établi! Si l'on prend mon exemple précédent, j'avais établi un tunnel sur les ports 1701 et 1702, je pourrai donc entrer en coordonnées de proxy 127.0.0.1:1701 ou 127.0.0.1:1702.

Tutoriel : accéder au Net par-delà un proxy

Dans la pratique, voici comment nous allons procéder.

Pour naviguer, je n'ai pas trouvé mieux que Google Chrome, à cause d'un add-on particulier, SwitchySharp.

C'est ici que cela risque d'être compliqué, car il va vous falloir télécharger Google Chrome et l'installer. Malheureusement, je vais avoir du mal à vous y aider, car il existe bien une version Portable Apps, mais ces IDIOTS n'ont rien trouvé de mieux à faire que de passer par un "téléchargeur", typiquement le genre de procédé de téléchargement qui est filtré par un proxy. Il va donc falloir passer par un ami (ou par le partage de connexion d'un smartphone) pour récupérer Chrome.

Vous avez réussi? Bravo, mais il reste encore un dernier écueil : télécharger SwitchySharp.
Vous allez devoir évidemment configurer le proxy dans Chrome (sauf connexion ouverte, évidemment) avec les coordonnées que vous connaissez maintenant bien, à entrer dans :
- le menu en haut à droite de Chrome - les lignes horizontales -
- puis Paramètres,
- descendez tout en bas de la page, cliquez sur Afficher les paramètres avancés,
- et enfin trouvez Modifier les paramètres du proxy.

Ensuite, rendez-vous ici :

Tutoriel : accéder au Net par-delà un proxy

Cliquez sur Plus d'extensions, ce qui vous ouvre un nouvel onglet (de boeuf, calembour), et entrez en haut à gauche SwitchySharp en un seul mot.
Sélectionnez Proxy SwitchySharp en cliquant sur Ajouter à Chrome.

Si tout s'est bien passé - nul n'en doute - et moyennant sans doute un redémarrage de Chrome, une petite planète bleue est apparue en haut à droite, juste à gauche du menu. Nous touchons au but!
Cliquez sur cette planète et sélectionnez Options, ce qui vous ouvre un nouvel onglet également.
- Dans Profile name, entrez un nom quelconque, par exemple Tagadobudoire ou plus simplement Tunnel (chapeau à celui qui trouve d'où vient le mot "tagadobudoire").
- Sélectionnez Manual configuration,
- Laissez tous les champs vides, sauf Socks host, auquel vous entrerez localhost (ou 127.0.0.1), et le port de votre tunnel dans Port.
- Sélectionnez Socks v5 puis cliquez sur Save. Ce qui doit vous donner quelque chose comme ceci :

Tutoriel : accéder au Net par-delà un proxy

Ceci fait, fermez les préférences de Switchy Sharp, cliquez sur la planète de nouveau : votre profil doit maintenant y apparaître. Cliquez dessus afin de le sélectionner, ce qui le rendra actif.

Je ne peux que vous encourager à fermer puis rouvrir Chrome.

A présent, entrez n'importe quelle adresse qui était bloquée : si vous avez religieusement suivi tout ce tutoriel, vous devriez maintenant avoir accès au Net comme à la maison (la vôtre, pas la mienne)!

Souvenez-vous : le tunnel est actif tant que Putty ne vous a pas envoyé balader, si brusquement vous ne parvenez plus à vous connecter, vérifiez que Putty est toujours en pleine forme.

VII- Annexe : IP dynamique et DNS

Si vous êtes en ADSL, il y a fort à parier que vous soyez en IP dynamique, c'est-à-dire que toutes les 24 heures, votre box se déconnecte pour se reconnecter automatiquement, à ceci près que votre IP ne sera plus la même. Pas pratique, dès lors, de se reconnecter à notre serveur SSH...

Comment faire, alors?

Nous allons utiliser un procédé que vous utilisez tous les jours sans forcément le savoir, le DNS, pour Dynamic Name Server, lequel attribuera un nom de domaine à votre IP, et ce, même si celle-ci change.

Comment est-ce possible? Généralement, un logiciel tiers se chargera au démarrage de Windows (ou peu importe votre OS) et fera la liaison avec le serveur DNS. Ce qui permettra de vous connecter chez vous en utilisant un nom de domaine en toutes lettres au lieu d'une IP.

Il existe des fournisseurs de DNS gratuits, lesquels vous donnent un nom de domaine de rang 2 (par exemple http://mondomaine.hebergeur.com), mais vous pouvez acheter un nom de domaine de rang 1 (http://www.mondomaine.com) si vous le souhaitez (totalement inutile dans le cas qui nous concerne).

Comme, là encore, il existe des gens bien, je vous ai trouvé >un petit tutoriel qui va bien< qui explique comment utiliser No-IP pour avoir un nom de domaine qui va bien, peu importe votre IP.

Vous avez maintenant un nom de domaine, félicitations!

MAIS! Nous n'en avons pas fini. En effet, bien des proxys filtrent ces fournisseurs DNS gratuits. Comment fait-on alors? Technique de sioux qui peut marcher si votre proxy est un nid à courants d'air, j'entends pas là qu'il filtre les NOMS de domaine, mais pas les IP : une fois que vous avez votre nom de domaine, allez sur un site de DNS inversé, comme >celui-ci<, entrez votre nom de domaine et récupérez votre IP, que vous entrerez dans Putty, bien entendu. C'est un peu tordu (mettre en place un service pour avoir un nom de domaine rattaché à une IP dynamique, pour ensuite récupérer l'IP à partir de ce nom de domaine, c'est quand même tordu) mais ça fonctionne nickel pour moi ;-)

VIII- Annexe : Proxifier

Si vous souhaitez utiliser un programme qui n'est malheureusement pas paramétrable d'un point de vue proxy (genre un MMO), il peut être intéressant d'utiliser un logiciel dont le rôle est de dérouter les communications vers ledit tunnel SSH à la place de l'application elle-même.

Ce logiciel serait par exemple Proxifier, mais je m'arrête là pour son usage, n'ayant pas eu l'occasion de le tester. Par contre, "tutoriel proxifier" sur Google peut vous amener quelques résultats...

Avant de me hurler dessus, ce n'est qu'une piste que l'on m'a donnée et qui, tant qu'à faire, peut vous aider.

Partager cette page

Repost 0