Назад | Перейти на главную страницу

Установите сетевой интерфейс в FreeBSD с включенным DHCP, но полностью без звука, пока не будет явно включен

Я настраиваю резервную копию роутера / брандмауэра FreeBSD, мой провайдер выдает IP по DHCP, он статичен и привязан к MAC-адресу моей сетевой карты, поэтому, когда карп переключает состояние, я пытаюсь отключить интерфейс на одной машине и включите его на другом. Оно работает. Так хорошо до сих пор...

Моя проблема в том, что когда я перезагружаю машину BACKUP, интерфейс настраивается после перезагрузки - он разговаривает с DHCP-сервером с MAC, который уже используется в сети, и получает ответ. Совсем не хорошо - на мгновение таблицы arp моих коммутаторов направляют пакеты не на тот порт.

Я пытался:

Насколько я понимаю, нет способа настроить сетевой адаптер с включенным DHCP, чтобы dhclient при подключении запускался с помощью devd, но при этом он полностью молчал во время процесса загрузки?

В качестве обходного пути я добавил пользовательское задание devd для запуска dhclient без проверок:

# cat /usr/local/etc/devd/dhclient.conf

 notify 1 {
    match "system"          "IFNET";
    match "type"            "LINK_UP";
    media-type              "ethernet";
    match "subsystem"   "em0";
    action "/usr/local/sbin/dhcp_linkup_carp.sh";
 };


# cat /usr/local/sbin/dhcp_linkup_carp.sh

 #!/bin/sh

 [ "`ifconfig em0 | grep inet`" ] && dhclient em0

и установить ifconfig_em0="down" в rc.conf (интерфейс поднимается скриптами devd carp)