Table des matières

Comment laisser passer vers le web

Introduction

D'après l'auteur de ce billet, une façon simple de laisser les ordis d'un réseau local accéder à internet par l'intermédiaire du seul pc ayant une connection à …. internet. C'est vraisemblablement ce qu'on appelle créer une passerelle pour un réseau local donné (voir schéma de l'implantation).

Le but est de laisser l'accès au net pour les ORDI 1 et 2 qui sont reliés par câble, entre eux et au pc Phlinux par l'intermédiaire d'un routeur (ici vieille LiveBox de récup). La seule sortie vers l'extérieur étant un point d'accès (smartphone) auquel seul Phlinux est relié en ouifi (sinon, ben ce s'rait pas utile d'en parler); il faut donc transiter par ce dernier.

Installation

Ne requiert aucune installation particulière, les outils étant de base sur Debian (vrai de Jessie à Buster, me signaler si faux à partir de Bullseye).

Pour mieux visualiser le réseau concerné, un petit schéma d'implantation:

										                		 - - - - - - - - ORDI 2
											      			¦
											      			¦
												  	  ethernet
											      			¦
Point d'accès	 								      			¦
   Internet      	- - - wifi - - - PHLINUX - - - ethernet - - - LIVEBOX / ROUTEUR	
														¦
											      			¦
													  ethernet
											      			¦
											      			¦
														 - - - - - - - -  ORDI 1

Sur les ORDI 1 et 2

On va définir la route pour les paquets entrant et sortant. La première IP est celle du réseau du point d'accès, la seconde est, pour le cas de phlinux, l'IP de sa carte éthernet.

Un exemple pour rendre permanente la route vers le web, en passant chez phlinux:

echo -e '#!/bin/sh\nroute add 192.168.74.0 gw 192.168.2.3' > /etc/network/if-up.d/route && chmod +x /etc/network/if-up.d/route

Résultat:

/etc/network/if-up.d/route
#!/bin/sh
route add 192.168.74.0 gw 192.168.2.3

Modifier la “gateway” de la carte qui va vers le routeur, qui en fait est la même que la deuxième IP de la commande de routage:

/etc/network/interfaces
 ...
#The primary network interface
# carte vers LiveBox/Routeur
auto eth1
iface eth1 inet static
        address 192.168.2.5
        netmask 255.255.255.0
        gateway 192.168.2.3    # ip de la carte de la passerelle reliée au réseau local

Mettre l'IP du point d'accès (pas celle du réseau) vers le net:

/etc/resolv.conf
nameserver 192.168.74.1  # ip du point d'accès vers internet

Sur l'ordi passerelle (ici phlinux)

Décommenter cette ligne (si besoin):

/etc/sysctl.conf
....
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
....

Ajouter une commande dont l'iface est celle de la carte (ici wifi, donc “wlan1”) qui est connectée à internet:

/etc/rc.local
iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE     # ne pas oublier un éventuel "&&" en fin de ligne si une autre commande suit

Utilisation

Alors là vraiment on en fait ce qu'on veut.

Pratiquement chez phlinux l'accès se fait à l'ORDI 1 par ssh. C'est en fait une unité de stockage (pas d'écran, ni clavier). Pour l'ORDI 2, c'est un pc “normal”, mais auquel phlinux accède éventuellement par vncviewer.

Petit rappel

Toutes les IP de ce billet sont fausses, penser à les adapter