Rendre son Raspberry accessible depuis Internet

Aujourd’hui, je vais tenter d’expliquer et d’illustrer de façon la plus simple possible, comment attribuer une adresse IP fixe à son Raspberry. Cela aura pour but de pouvoir s’y connecter facilement via SSH, mais aussi de le rendre accessible depuis le net. Chose qui va être très importante selon son utilisation, ici, ce sera pour la création d’un serveur web.

Tout d’abord, pour réaliser ces étapes, on va avoir besoin d’un Raspberry (forcément), et d’un routeur / box opérateur. Attention, il faut absolument avoir accès à son interface d’administration, généralement, on y accède via une adresse de type : http://192.168.1.1. De plus, nous aurons besoin d’avoir accès aux paramètres DHCP et NAT du routeur / box. Sans ces services d’accessibles, il sera compliqué de poursuivre aisément :)

Dans les exemples ci-dessous, je vais utiliser un Raspberry Pi 4, dans la configuration 4Go de RAM. Ma box provient de l’opérateur SFR, il s’agit du modèle NB6VAC, avec une connexion fibre 1Gb/sec.
Le Raspberry est connecté via le port gigabit en Ethernet. Le système d’exploitation utilisé est Ubuntu Serveur 20.04 LTS.

 

Astuce :

Dans le cas où vous n’auriez pas d’écran, et que vous voulez vous connecter directement en SSH sur votre Raspberry. Il suffit de créer un fichier nommé « ssh » dans la partition boot de la carte SD.
Attention, il s’agit bien de la partition boot, pas du dossier /boot présent également sur la carte SD.

 

Connecter le Raspberry :

  • Je connecte mon Raspberry en Ethernet.

Récupérer l’adresse IP locale :

  • Je récupère l’addresse IP locale de mon Raspberry via l’interface de ma box / routeur.

récuperer-adresse-ip-box

Connexion via SSH sur le Raspberry:

  • Je me connecte en SSH grâce à l’adresse IP locale récupérer sur l’interface d’administration via un Terminal. Pour la première connexion, si vous utilisez la version serveur d’Ubuntu, l’identifiant et le mot de passe de connexion sont « ubuntu« . Si vous avez choisi Raspbian comme système d’administration, notre identifiant sera : pi et le mot de passe : raspberry.
    Si vous êtes sous Linux, utilisé simplement le terminal, idem sous MacOS, mais si vous êtes sous Windows, vous pouvez utiliser Putty.

capture terminal ssh

Configuration du fichier dhcpcd.conf :

  • Je suis à présent connecté à mon Raspberry via SSH. Je vais maintenant pouvoir lui attribuer une adresse statique en modifiant le fichier /etc/dhcpcd.conf.
    • Avant de modifier ce fichier, il est impératif de connaître son adresse IP locale, celle récupérer précédemment via l’interface de la box.
    • Il faut également noter le protocole utilisé pour la connexion, la commande ifconfig permet d’obtenir le nom du protocole. Dans l’exemple ci-dessous, le protocole est : enp0s15.

commande ifconfig

    • J’édite ensuite mon fichier dhcpcd.conf grâce à un sudo nano /etc/dhcpcd.conf. Dans lequel j’ajoute mon protocole, mon adresse IP locale, l’adresse de routage (adresse de notre box / routeur) et le masque de sous-réseau /24 à la fin de l’adresse IP.

commande dhcpcd

    • J’enregistre et je quitte le fichier en faisant un Ctrl + X puis en confirmant par un Yes ou Oui selon la langue du système d’exploitation.

 

Ouverture des ports du Raspberry :

  • Je vais maintenant ouvrir les ports sur la box / routeur, pour permettre au Raspberry de communiquer via le net.
  • Je me connecte à ma page d’administration de la box via http://192.168.1.1, et j’entre dans les réglages > Réseau V4 > NAT.
  • J’ajoute un nom, je choisis le protocole, le type, le numéro de port, l’adresse IP de destination et le port de destination.
    • Dans mon exemple, j’ajoute le port 80 et 443, le port 80 étant le port d’écoute du serveur HTTP, et le 443 le port d’écoute pour le HTTPS (SSL).

Port NAT

 

Je suis maintenant dans la capacité d’avoir accès à mon Raspberry depuis l’exterieur, je peux ainsi héberger mon site web, et y accéder via mon adresse ip publique présente sur l’accueil de l’interface d’administration de la box / routeur.

ip publique box

Ce n’est pas le plus simple pour y accéder, un nom de domaine sera le bienvenu, je ferais un article prochainement pour expliquer en détails comment relier le Raspberry à nom de domaine.

À bientôt ! 🙂