Le réseau Local - et le WEB accède à mon Pi

L'idée de ce billet est de faire que mon Pi soit accessible depuis l'Internet, soit pour accéder au serveur HTTP installé, soit au terminal en SSH. ethernet.jpg

Ce billet va être compliqué. Non pas pour les notions techniques à acquérir, mais par la diversité des équipements des opérateurs qui sont très différents.

  • Rien que chez Orange vous trouvez plus d'une 1/2 douzaine de LiveBox différentes, avec leurs bugs respectifs. L'IP fixe est proposée... en option payante ! On se passera d'eux
  • Chez SFR, c'est pas trop compliqué, mais ils ne savent pas fournir d'IP fixe... On se passera d'eux.
  • Chez Numericable, qui vient de se lier à SFR, on va les oublier aussi.
  • Reste OVH et Free.
  • J'en oublie ? BOUY..quoi ? Connais pas !


Obtenir une @ ip fixe

C'est très simple chez OVH elle est fixée d'origine.
Chez Free, il vous suffit d'aller sur votre compte d'abonné et d'en faire la demande.

Mais revenons au sujet du billet.

Le NAT, ça sert à quoi ?

Souvenez vous (si vous avez lu le billet sur l'adressage) que votre Pi est caché derrière la box et même si vous lui avez donné une @ ip fixe locale (v. billet IP fixe), celui-ci n'est pas accessible depuis Internet, ce qui n'est pas très pratique pour un serveur web... Vous l'admettrez.
Nous allons donc travailler à le rendre visible grâce au NAT.
Le NAT est une fonctionnalité du routeur pour rediriger une demande particulière émanant de l'extérieur, du net, HTTP dans notre cas, c.à d. le port 80, vers une machine précise de notre réseau local... Le Pi par exemple.

Pourquoi le port 80, me demanderez-vous ?
Toutes les applications qui communiquent à travers TCP/IP utilisent un port dédié. Le protocole TCP/IP en compte 65536.
Ces ports sont, soit déterminés à l'avance par convention (21 pour FTP, 22 SSH, 25 SMTP, ... 80 ou 8080 pour HTTP, v. liste), soit déterminés à la volée (n° port > 10.000).
Notre box-routeur par principe et par sécurité a fermé tous les ports pour les communications entrantes. Il nous faut donc ouvrir le port qui nous intéresse en le dirigeant vers la machine concernée.

Ouverture du port 80 sur une FreeBox

C'est la FreeBox qui me semble la plus simple à paramétrer. Quelque soit la version de box, Free nous propose une page web depuis notre compte Free, pour régler cette ouverture de port.

  1. On se connecte sur son compte Free
  2. On va sur "Ma FreeBox", puis sur "Configurer mon routeur FreeBox"

on obtient à peu près cet écran :
redirection_ports-25ede.jpg Il suffit de choisir les bonnes valeurs...
port entrant : 80 - protocole : tcp - @ ip du poste destinataire .46 (@ du Pi) - port de l'appli : 80
Vous faites de même pour le port 22 et votre Pi sera accessible en SSH depuis Internet Le tour est joué !

une astuce pour la sécurité

Vous n'êtes pas obligé de choisir 22 comme port entrant. Si vous décidez d'une autre valeur (> à 10.000 et < à 65536), comme 11122 par exemple, vous empêcherez des attaques automatiques sur le port 22, mais vous serez obligez d'ajouter ":11122" derrière l'@ de votre box.

user@poste:/home/user$ ssh user@86.123.99.31:11122

Ouverture du port 80 sur box OVH

Je le dis tout de go... La box Technicolor TG788vn (Alcatel-Thomson) choisie par OVH est une daube à paramétrer, comme tous les produits Alcatel-Thomson d'ailleurs, dont l'ergonomie est imbitable par le commun des mortels.
@$*#¤%@... GRRR !
Merci M. OVH que j'aime bien par ailleurs, d'en prendre bonne note.
Donc après avoir passé ma p'tite colère... Sans rentrer dans les détails... Pour paramétrer la Technicolor (cette M...), il faut :

  1. aller dans "Partage du jeu ou de l'application" (Mais où sont-ils allés chercher un truc pareil ???)
  2. créer une règle NAT, appelée : "Créer un jeu ou une application" (N'importe quoi !)
  3. affecter cette règle NAT à une @ IP : Là, la box vous liste les "applications" d'un côté, puis des machines de l'autre, qu'elle n'a pas été fichue de reconnaître en vous donnant un "unknow-00-AB-CD-01-02-02", à savoir l'@ MAC de vos appareils.

C'est très pratique (!??) Surtout si on a comme moi, une cinquantaine d'@ IP affectées sur le réseau local. GRRRR !
Heureusement, sous Raspbian/Linux il est simple de connaitre l'@ MAC du Pi en tapant :

root@pi:/root$ ifconfig

C'est fini, on arrête de s'énerver.


Vous voilà hébergeur ! Ça fait quel effet ???