Transformez votre Linux en routeur avec une seule commande
Vous voulez en faire un routeur capable de vous connecter à Internet, de proposer un hotspot Wifi, de faire office de proxy transparent ou de router convenablement les ports de vos machines virtuelles ou conteneurs ?
Alors bonne nouvelle, si vous avez une vieille machine qui traine dans un coin (ou un Raspberry Pi), vous allez pouvoir le transformer facilement en routeur grâce à cet outil pour Linux nommé Linux-router (lnxrouter).
Ce script appelle à la fois iptables, dnsmasq, hostapd…etc et permet de :
- Créer un sous-réseau NAT
- Fournir de l’Internet
- Proposer un serveur DHCP et Relay Agent
- Proposer un serveur DNS
- Avoir de l’IPv6 (derrière le LAN NAT, tout comme IPv4)
- Créer un hotspot Wifi :
- Sélectionner le canal du wifi ainsi que son chiffrement WPA2/WPA, WPA2, WPA (pas de WPA3 supporté encore)
- De créer un point d’accès sur la même interface que celle où vous arrive Internet.
- Mettre en place un proxy transparent (redsocks)
- Mettre en place un proxy DNS
Linux Router peut donc être extrêmement utile dans le cas des configurations réseau suivantes :
Internet----(eth0/wlan0)-Linux-(wlanX)AP |--client |--client
Internet Wifi AP(no DHCP) | |----(wlan1)-Linux-(eth0/wlan0)------ | (DHCP) |--client |--client
Internet Switch | |---(eth1)-Linux-(eth0/wlan0)-------- |--client |--client
Internet----(eth0/wlan0)-Linux-(eth1)------Another PC
Internet----(eth0/wlan0)-Linux-(virtual interface)-----VM/container
Ainsi pour créer un hotspot wifi, vous n’aurez qu’à entrer la commande suivante :
sudo lnxrouter --ap wlan0 NomPointAcces -p MotDePasse
Pour monter un proxy transparent qui passe par Tor :
sudo lnxrouter -i eth1 --tp 9040 --dns 9053 -g 192.168.55.1 --p6 fd00:5:6:7::
Et spécifier la config suivante dans le fichier torrc
TransPort 192.168.55.1:9040 DNSPort 192.168.55.1:9053 TransPort [fd00:5:6:7::1]:9040 DNSPort [fd00:5:6:7::1]:9053
Ou encore créer un proxy transparent pour VirtualBox :
sudo lnxrouter -i vboxnet5 --tp 9040 --dns 9053
Je ne m’étends pas sur toutes les possibilités du soft, mais concrètement, lnxrouter ne fait rien de plus que ce qu’il est possible de faire avec un Linux de base. C’est juste que ce script rend les choses plus simples et plus abordables. Je suis certain que ça vous plaira.
Vous retrouverez le script et la doc sur Github.