Je présente ici une méthode pour rediriger le trafic vers une autre machine de votre réseau en utilisant les capacités de NetFilter, le parefeu du noyau Linux. Ce parefeu se manipule en utilisant l’outil iptables. Suite à la mise en place d’un lintop comme «frontend» IPv4, certains sites web hébergés dans le LAN n’étaient plus accessibles en IPv4. Je me suis donc penchés sur la question de la redirection de flux.

On commence par activer le passage IPv4 :

vincentxavier@linutop:~$ sudo sysctl net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1 

On intercepte le flux entrant (PREROUTING) et on l’envoie (-j DNAT --to-destination 192.168.0.1) vers la machine du réseau local.

vincentxavier@linutop:~$ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1

On réintercepte le flux retour (POSTROUTING), provenant de la machine locale (-d 192.168.0.1) et on réécrit son adresse (-j MASQUERADE)

vincentxavier@linutop:~$ sudo iptables -t nat -A POSTROUTING -d 192.168.0.1 -p tcp --dport 80 -j MASQUERADE

Je me suis tardivement rendu compte que sslh permettait un accès en https, ce qui n’est pas forcément plus mal. Je dispose donc désormais des deux accès.