У меня есть сервер Ubuntu 10.04, в настоящее время настроенный с dhcp3-сервером, а также мостовой интерфейс (br0) для использования с виртуальными машинами. У меня проблема в том, что когда сервер перезагружается, dhcp3-сервер не загружается из-за дополнительной задержки, вызванной подключением мостового интерфейса.
По существу, br0 не имеет IP-адреса для использования с DHCP3-сервером до конца цикла загрузки, а также после того, как DHCP3-сервер попытался загрузить.
После загрузки сервера я могу без проблем запустить /etc/init.d/dhcp3-server start.
Можно ли как-нибудь: - заставить dhcp3-сервер подождать, пока загрузится интерфейс, прежде чем пытаться загрузить? - запустить dhcp3-сервер после загрузки всего остального?
источник
Вы можете изменить
/etc/init.d/dhcp3-server
сценарий запуска, чтобы дождаться появления IP-адресаbr0
. Например: (Предупреждение: непроверенный код!)Фрагмент должен войти в сценарий запуска, внутри
case ... start)
части, перед запуском демона DHCP3. Конечно, вы должны настроить время ожидания и количество попыток в соответствии с вашей средой (сколько времени займет максимум br0, чтобы получить IP-адрес?)источник
grep -q
линии: 1. Я думаю, что совпадение не удается, потому что мост получает адрес IPv6, как только он работает. Если вас интересует только адрес IPv4, просто заменитеgrep
строку наgrep -q 'inet addr:'
(уже сделано выше); в противном случае необходимо найти более сложное регулярное выражение, которое соответствует всем возможным конечным IP-адресам вашего моста. 2.-q
Опция подавляет вывод (точно так же> /dev/null
)log_warning_msg
; Я думаю, что я исправил это по вашему предложению