Partage de connexion internet sur un réseau local
Rédigé par Xavier - -
Bon aujourd'hui nous allons voir comment partager une connexion internet sur un réseau local. Exemple de situation: vous êtes étudiant et dans votre résidence on vous offre une connexion internet via le wifi. Vous arrivez à connecter votre ordinateur portable, mais pas votre fixe qui n'a pas de carte wifi. Cependant, vos machines sont en réseau local.

Logiciels
- Debian/Ubuntu
- iptables
- Network-manager (optionnel)
Le réseau utilisé
Pour l'exemple, nous utiliserons 2 machines: une qui sera connectée en wifi au point d'accès et fera partage, et une autre qui sera cliente et obtiendra son adresse en DHCP (nous devons devons donc configurer un dhcp-server aussi).

Soyons clair, on ne peut toucher qu'aux machines du bas!
Configuration du serveur
Vous devez passer l'interface eth0 du serveur (celle sur le réseau local) en IP fixe. Pour faire cela, et mettre en place votre serveur DHCP, référez-vous aux articles suivants: Configuration d'un serveur DHCP et si besoin Serveur DHCP, aller plus loin. Vous devez ajouter "192.168.0.1" (IP du serveur) comme passerelle par défaut et une adresse DNS si besoin (par exemple les OpenDNS).
Note: Si votre serveur est une machine équipée de l'environnement Gnome (ubuntu desktop par exemple) vous pouvez utiliser network-manager pour mettre l'IP fixe en place. Il suffit de faire un clic droit sur son icône (dans la zone de notifications) puis "Modification des connexion". Dans l'onglet "Filaire" modifiez l'entrée présente (par défaut: Auto eth0).

Partage de connexion avec iptables
Iptables est une interface de configuration pour le parefeu du noyau Linux. Il est présent dans 99,9% des distributions Linux, c'est un logiciel solide qui a fait ses preuves. Il s'utilise en lignes de commandes.
Je vous ai préparé un script qui contient toutes les commandes iptables. Téléchargez-le.
Rendez le script exécutable:
$ chmod +x iptables
Et lancez-le ensuite (n'oubliez pas de vous mettre en root/sudo) avec la commande:
# ./iptables
A chaque redémarrage, la configuration sera perdue. Si vous voulez la garder, alors ajoutez ce script au démarrage:
# cp iptables /etc/init.d/ # update-rc.d iptables defaults
Et voilà.
Tests
Sur votre machine cliente, vous devez maintenant avoir un accès internet. Si ça ne marche pas:
- Vérifiez que vos machines peuvent se pinger
- Vérifiez avec la commande "route" que vous avez bien l'adresse de passerelle (qui est celle du serveur)
- Vérifiez avec cat /etc/resolv.conf que vous avez bien les adresses de DNS