2

Я занимаюсь разработкой встроенного устройства на основе Linux и Busybox и пытаюсь сделать его адаптируемым к различным сетевым конфигурациям. Я бы хотел:

1- Во время загрузки, если нет ответа DHCP, используйте адрес AutioIP.
2. Во время выполнения, если сервер DHCP станет доступным, начните использовать его.

Пункт 1 кажется простым, так как я могу установить свой eth0 на ручной в моем /etc /network /interfaces и настроить команду на

udhcpc eth0 --now || zcip eth0 /etc/zcip.script

Я не уверен в пункте 2. Если я буду одновременно запускать демоны udhcpc и zcip, будут ли они хорошо играть вместе?

2 ответа2

1

Вы можете сделать это с помощью udhcpc+avahi. Avahi - это реализация zeroconf для Linux. Он обеспечивает autoip (предоставление адреса без dhcp) и mDNS (разрешение имен с помощью DNS-сервера).

У меня это работает во встроенной системе с buildroot. Также есть модифицированный стартовый скрипт udhcpc, который позволяет использовать автоответчик, если dhcp недоступен.

0

Если вам нужно использовать AutoIP только как запасной вариант для DHCP во время загрузки, то, возможно, дайте zcip команду получить адрес и выйти, а не работать как демон.

Во время загрузки вы должны сделать:

udhcpc eth0 --now || zcip -f -q eth0 /etc/zcip.script

Когда эта команда завершится, либо будет запущен udhcpc, либо у вас будет локальный адрес ссылки

Затем, когда сервер DHCP станет доступным, запустите демон udhcpc.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .