Transformez votre Linux en routeur avec une seule commande

par Korben -

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.