Créer une passerelle avec iptables

Je ne comprends pas grand-chose aux réseaux, bien que je les utilise, d’une manière ou d’une autre. Par exemple, aller sur internet, configurer une connexion en ethernet ou en wifi, ou utiliser un réseau local. (avec ssh, sshfs… )

Là je voulais avoir une machine en passerelle : un portable connecté à Internet en wifi, et la machine cliente connectée à la passerelle est un autre portable, relié par l’interface eth0 (donc un cable ethernet).

Alors, merci aux archers qui m’ont aidée sur le chan #archlinux-fr (serveur freenode) : CalimeroTecnik, quinq, et tuxce. Après avoir suivi leurs indications, tout fonctionne parfaitement.

Voici le résumé de l’opération. Après avoir installé le paquet iptables:

server : wlan0 lui fournit internet, eth0 est connecté sur un pc client qui veut internet.

1/activer le transfert de paquets au niveau du noyau (/proc etc)
server=> echo 1 > /proc/sys/net/ipv4/ip_forward

2/activer le NAT sur ta passerelle
server=> iptables -t nat -A POSTROUTING -o wlan0 -j SNAT –to-source 192.168.1.32

3/monter un réseau ethernet entre les deux PCs
server=> ifconfig eth0 192.168.0.3

client=> ifconfig eth0 192.168.0.9
client=> route add default gw 192.168.0.3
client=> echo nameserver 208.67.222.222 > /etc/resolv.conf

/! Veiller à avoir une famille d’ip différente sur les deux interfaces réseau: ici sur
eth il y a 192.168.0.xxx et sur wlan il y a 192.168.1.xxx

/! Les adresses des réseaux sont choisies en fonction du réseau déjà existant. Ici, l’ip du
client sur l’interface eth0 était déjà configurée dans le système, j’ai donc réutilisé la même. Autrement, on peut choisir n’importe laquelle, du moment que c’est dans la bonne famille d’adresse (l’avant-dernier groupe de chiffres)

Enfin, il faut aussi faire attention au DNS qui est configuré dans le fichier /etc/resolv.conf de la passerelle.

Chez moi, il y avait le DNS du routeur Adsl, c’est à dire son ip, alors que je passe d’abord par le routeur wifi… en mettant les DNS de chez OpenDNS, ça fonctionne… Vous pouvez aussi mettre les DNS de votre fournisseur d’accès internet, (FAI), ou encore les DNS de OpenNic, ça devrait fonctionner tout aussi bien.