Sur le pont d'avignon, on y danse... Euh nan c'est pas ça.
Dans ma petite maison, le réseau n'est pas très très complexe. Nous avons une box au milieu du couloir, pour envoyer du WiFi dans les quatre chambres. Et hop, ça fait un réseau qui convient globalement à tout le monde. De mon côté ensuite, j'ai deux ordinateurs portables avec une connexion WiFi et filaire, un « serveur » avec une antenne WiFi externe (une clef USB quoi...), et une imprimante qui n'a pas accès au WiFi. En résumé, un superbe schéma :

Comme l'imprimante n'a pas le WiFi, et que le serveur fourni des fichiers en NFS aux deux portables (ouais le film en WiFi, c'est pas top top...), la connexion filaire est obligatoire. Par simplicité et pour conserver la configuration existante auparavant dans mon précédent logement, je n'utilisais pas le WiFi sur les deux portables et utilisait le serveur comme passerelle. Le tout de la façon la plus moche possible, avec du NAT.
- Avantages ;
- Ben ça marchait
- J'avais rien à changer ou presque, juste brancher et configurer le WiFi sur le serveur,
- Pas de questions de gestion des droits sur le NFS,
- Je pouvais faire ce que je voulais avec les annonces DHCP sur mon réseau.
- Inconvénients ;
- Imprimante non accessible depuis le réseau WiFi,
- Aucune mobilité (quand je déplace un portable, je passe en WiFi, et l'accès aux autres machines devient chiant),
- Solution très moche.
J'ai récemment voulu changé pour une solution plus « propre », en unifiant les réseaux filaires et WiFi. Ma motivation principale était de pouvoir imprimer depuis le salon ou la cuisine, et ne pas être obligé de reconfigurer le réseau à chaque déplacement. Objectif donc faire un pont avec brctl, le serveur aurait retransmis tous les paquets qu'il était nécessaire de retransmettre sur les deux interfaces.
- Avantages ;
- Techniquement le plus simple (genre 3 commandes),
- Le plus beau

- Inconvénients ;
J'ai tenté de le mettre en place, mais malheureusement sans succès. Après analyse, en fait l'arp ne passait que dans un sens du réseau. Ma carte WiFi USB ne semble pas capable d'émettre de paquets avec une adresse MAC qui n'est pas la sienne, ce qui est très balaud pour un pont.
En gardant plus ou moins le même plan, si la carte refuse d'utiliser une MAC qui n'est pas la sienne, et bien faisons lui émettre la sienne ! Un logiciel tout simple permet de le faire, parprouted.
- Avantages ;
- Pas besoin de sortir l'artillerie lourde,
- Ça fait ce que je voulais,
- Inconvénients ;
Ce que fais techniquement ce programme, c'est que lorsqu'il voit passer une requête arp, il rajoute une route vers cet host sur la bonne interface, et transmet la requête. Malheureusement, deux gros défauts. Le premier, pas forcément si grave, d'après ce que j'en ai vu il ne répond pas « proprement » lorsqu'il transmet une réponse arp. Plutôt que de répondre en unicast, il le fait en broadcast pour dire « titi à l'adresse toto ». C'est pas glop. Le second, bien plus chiant, les interfaces réseaux du « pont de niveau 3 » ne répondait plus aux requêtes arp qui leurs étaient adressées directement. Pas de bol... On oublie donc.
Du coup, par dépit, je l'ai fait à la main. J'ai décidé unilatéralement que les adresses ip finissant par 200 jusqu'à 210 seraient pour le réseau filaire. Les autres laissées pour le réseau filaire. J'ai ensuite mit la même adresse IP sur les deux interfaces du serveur. Le tout résumé dans un énorme /etc/network/interfaces :
auto lo
iface lo inet loopback
# On réécrit l'arp qui doit l'être des deux côtés
up echo "1" > /proc/sys/net/ipv4/conf/all/proxy_arp
auto eth0
iface eth0 inet static
# .34 est l'adresse IP donnée côté WiFi par la box
address 192.168.178.34
netmask 255.255.255.0
# La liste des IP côté filaire
up route add -host 192.168.178.200 dev eth0
up route add -host 192.168.178.201 dev eth0
up route add -host 192.168.178.202 dev eth0
up route add -host 192.168.178.203 dev eth0
up route add -host 192.168.178.204 dev eth0
up route add -host 192.168.178.205 dev eth0
up route add -host 192.168.178.206 dev eth0
up route add -host 192.168.178.207 dev eth0
up route add -host 192.168.178.208 dev eth0
up route add -host 192.168.178.209 dev eth0
up route add -host 192.168.178.210 dev eth0
# Tout ce qui n'est pas dans cette liste doit passer par l'autre côté
up route del -net 192.168.178.0 netmask 255.255.255.0 dev eth0
# Configuration automatique du WiFi
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant.conf
Cette solution ne propage que l'unicast. Pour le DHCP, il fallait donc soit faire un dhcp-relay sur le serveur, soit reconfigurer le serveur DHCP. J'ai choisi la seconde solution, car la box ne permet aucune configuration des adresses distribuées. Ainsi côté fil, les IP attribuées sont bien entre 200 et 210.
- Avantages ;
- Une solution qui marche...
- Elle permet la mobilité, je peux imprimer, y'a plus de NAT, la vie est belle
- Je vois pas passer tout le broadcast bizarre des voisins

- Inconvénients ;
- Une configuration chiante. Mais très fortement facilité néanmoins par le /etc/network/interfaces et les outils Debian associés (et je les remercie vraiment...)
- Les portables ne peuvent pas avoir la même IP sur l'interface WiFi et filaire
- Sûrement pas la solution dont je rêvais.
Si jamais vous avez d'autres idées pour faire plus propre et qui fonctionne avec mon matériel, n'hésitez pas à le signaler...
Sans transition aucune, petit bulletin météo. Depuis une semaine, c'est assez marrant à Dresde. Il neige beaucoup durant la nuit, et tout les matins c'est tout blanc partout. Par contre la journée, tout fond progressivement, ce qui rend la vie des piétons affreuse. J'en ai d'ailleurs conclu qu'il y avait pire que le gel, c'était le dégel. Dommage que tout ça ne soit pas resté, on en aurait une belle quantité maintenant.
Derniers commentaires