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

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

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

Я пытался:

  • Начните dhclient em0 при переходе в состояние МАСТЕР и ifconfig_em0="down" в rc.conf, но если в конце концов интерфейс переходит в состояние соединения, dhclient выходит и не возобновляет работу как devd, который должен его возобновить, проверяет с помощью dhcpif от network.subr - и говорит, что "em0 не интерфейс с поддержкой dhcp".

  • задавать ifconfig_em0="down dhcp" и удалить dhclient.leases.em0 файл, затем перезагрузка - мой интерфейс отключен и настроен после запуска (возможно, он даже был включен, а затем отключен моим сценарием при входе в состояние carp BACKUP).

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

1 ответ

В качестве обходного пути я добавил пользовательское задание 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)

Другие вопросы по тегам