vendredi, mars 13, 2009

Utilisation du client DHCP FreeBSD sur une interface bridge

Je souhaite utiliser mon PC portable dans 2 environnements différents:
  1. À la maison, ou j'utilise l'interface Ethernet native (bge0)
  2. Au bureau, ou j'insère mon portable entre mon PC bureautique et la prise murale: Connexion au PC bureautique par câble croisé sur une carte Ethernet PCMCIA (xl0) et un câble droit entre la prise murale et sur l'interface Ethernet native (bge0). Le FreeBSD réalisant un pont entre ces deux cartes réseaux.
Et comme je ne veux pas modifier la configuration du PC à chaque fois, je souhait obtenir cette configuration «générique» dans mon /etc/rc.conf :


cloned_interfaces="bridge0"

ifconfig_bridge0="addm bge0 addm xl0 DHCP"

ifconfig_bge0="up"

ifconfig_xl0="up"
Le problème est qu'avec cette configuration, mon interface bridge0 refuse de lancer le client DHCP!
En effet, le client DHCP nécessite de recevoir un «link state events», ce que ne fait pas l'interface virtuelle bridge0.
Ce problème ce résous en utilisant le mode «synchronous client» par l'utilisation du mot clé SYNCDHCP à la place de DHCP.
Et voici au final, la configuration fonctionnelle:

cloned_interfaces="bridge0"

ifconfig_bridge0="addm bge0 addm xl0 SYNCDHCP"

ifconfig_bge0="up"

ifconfig_xl0="up"