Créer un routeur linux avec connexion wifi via 4G pour un réseau privé

Je vous fais rapidement le topo, je viens de déménager et à l’installation de la fibre, on s’est rendu que quelqu’un a eu la brillante idée sur la voie publique de couper à la base la gaine de desserte télécom et de couler le tout dans le béton… Au final, il faut tout casser et je crains de rester sans téléphone fixe, sans TV et surtout sans internet pendant un bout de temps.

Heureusement qu’il existe encore la 4G qui me permet de partager la connexion internet à mes postes sous wifi. Mais ce n’est pas très satisfaisant car j’aimerais que mes postes sous ethernet dont mon serveur puissent également accéder à internet. Pour mémoire (cf. ce post), mon réseau privé ressemble à ceci :

Sauf que je n’ai pas de box pour l’instant, l’idée est donc de faire le portable Rangiroa un routeur avec sa connexion wifi via le mobile 4G en le branchant directement en RJ45 au port internet du routeur Netgear N300 WNR3500l.

Pour ce faire, l’interface wifi du portable Rangiroa est configurée en connexion automatique (attribution automatique des adresses IP, passerelle et DNS) de manière classique et totalement automatique. Pour la connexion ethernet qui va vers le routeur Netgear, il y a quelques subtilités, le fichier /etc/sysconfig/network-scripts/ifcfg-enp2s0 va ressembler à cela:

[pastacode lang= »bash » manual= »DEVICE%3Denp2s0%0ABOOTPROTO%3Dstatic%0AIPADDR%3D192.168.0.50%0ANETMASK%3D255.255.255.0%0AONBOOT%3Dyes%0AMETRIC%3D10%0AMII_NOT_SUPPORTED%3Dno%0AUSERCTL%3Dno%0ARESOLV_MODS%3Dno%0ALINK_DETECTION_DELAY%3D6%0AIPV6INIT%3Dno%0AIPV6TO4INIT%3Dno%0AACCOUNTING%3Dno » message= » » highlight= » » provider= »manual »/]

j’ai fixé une adresse IP avec un masque différent de mon réseau local, à noter qu’il n’y a aucune passerelle ou de DNS qui sont définis. On active maintenant le mode routeur du poste linux en rajoutant dans le fichier /etc/sysctl.conf la ligne suivante

[pastacode lang= »bash » manual= »net.ipv4.ip_forward%3D1″ message= » » highlight= » » provider= »manual »/]

pour que le fichier soit pris en compte, on tape :

[pastacode lang= »bash » manual= »sysctl%20-p%20%2Fetc%2Fsysctl.conf » message= » » highlight= » » provider= »manual »/]

Maintenant on va faire de l’IP Masquerading, en résumé toutes les requêtes provenant du réseau privé auront l’air de provenir d »une seule machine, à savoir le routeur linux Rangiroa. C’est une manière de protéger le réseau local en le cachant. Cela se fait en tapant la commande suivante :

[pastacode lang= »bash » manual= »iptables%20-t%20nat%20-A%20POSTROUTING%20-o%20wlp3s0%20-j%20MASQUERADE » message= » » highlight= » » provider= »manual »/]

pour que la commande soit prise en compte à chaque démarrage sur ma Mageia je l’ai placée à la fin du script /etc/init.d/mandrake_everytime. On relance le réseau en tapant :

[pastacode lang= »bash » manual= »systemctl%20stop%20network%0Asystemctl%20start%20network » message= » » highlight= » » provider= »manual »/]

maintenant côté routeur, pour la connexion internet, j’ai configuré manuellement l’adresse IP 192.168.0.51 et comme passerelle et serveur DNS 192.168.0.50. C’est tout bon, on peut enfin connecter en RJ45 le routeur Netgear avec notre routeur maison et l’ensemble de du réseau privé profite de la connexion 4G.

Laisser un commentaire