Quand la neufbox comme box pour mon ADSL chez LDN a commencé à rendre l'âme, j'ai acheté un modem-routeur Buffalo (AirStation Nfiniti WBMR-HP-G300H) histoire d'avoir un truc hackable sur lequel je pourrais mettre OpenWRT et faire plus que juste modem-routeur.
Ça marchait très bien jusque là. Le passage à OpenWRT s'est fait relativement facilement et j'ai pu le transformer en plus en serveur DLNA, ce qui m'a bien servi jusqu'à ce que je m'installe un Kodi (ex-XBMC).
J'ai voulu tester ce soir un Raspberry Pi dans l'optique d'en faire un serveur de backup. Problème : il n'arrivait pas à contacter un autre ordinateur du réseau, alors même qu'ils étaient tous les deux connectés en filaire sur le routeur ! Alors que depuis mon pc en wifi, je pouvais contacter n'importe quel ordinateur dans le LAN et que le routeur contactait bien les deux ordinateurs.
La raison est finalement simple : OpenWRT isole chaque port physique. Pour résoudre ça, j'ai bien trouvé une astuce, à savoir mettre ceci :
config switch 'eth0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'eth0'
option vlan '1'
option ports '0 1 2 3 4 5'
dans le /etc/config/network
et rebooter le Buffalo. Bah oui, mais ça ne marchait pas !
J'ai par contre trouvé ces commandes à taper dans le terminal :
swconfig dev eth0 vlan 1 set ports "0 1 2 3 4 5"
swconfig dev eth0 set apply
Et là ça fonctionne tout de suite ! Et pour que cela soit exécuté à chaque redémarrage, j'ai posé ces commandes dans /etc/rc.local
(oui, c'est sale, mais je n'avais pas envie d'avoir à découvrir les subtilités d'OpenWRT plus que ça).
Bref : ça marche !