Как использовать DHCP при наличии, иначе используйте статический IP

Когда мои начальные загрузки системы, которые это должно проверить на данный интерфейс (например, eth0), возможна ли конфигурация DHCP соответственно, если сервер DHCP существует в сети. Если да, DHCP должен использоваться. В противном случае предопределенный статический IP-адрес должен использоваться.

  • Я знаю, как выполнить сценарии при запуске
  • Я знаю, как указать интерфейсы в/etc/network/interfaces

Я пытался играть вокруг с dhclient, например.

dhclient -1 # Try once to get a lease. One failure, exit with code 2. 

См. http://www.computerhope.com/unix/dhclient.htm

Однако dhclient всегда возвращается '0', даже если нет соединения, avilable вообще.

Каков был бы корректный подход?

2
задан 16 November 2015 в 14:37

1 ответ

Простая опция, если бы Ваша статическая установка не собирается потенциально конфликтовать с чем-нибудь, состояла бы в том, чтобы установить сетевой псевдоним. Для соединения непсевдонима Вы оставляете настроенным для DHCP, но затем Вы настраиваете соединение псевдонима со своим статическим соединением. Таким образом, если DHCP доступен, технически оба соединения активны, по-видимому, только DHCP, каждый действительно "работает" сеть, которую Вы используете. Если DHCP не доступен, он сам присваивает 169 адресов и не работает, но статический псевдоним делает. Не забывайте перезагружать или перезапускать сервис после редактирования.

/etc/network/interfaces Пример

auto eth0
allow-hotplug eth0
iface eth0 inet dhcpauto eth0
allow-hotplug eth0
iface eth0 inet dhcp

auto eth0:1
iface eth0:1 inet static
name Ethernet alias LAN card
address 192.168.1.7
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0

Детали, доступные здесь: https://www.cyberciti.biz/faq/linux-creating-or-adding-new-network-alias-to-a-network-card-nic/

0
ответ дан 2 December 2019 в 23:42

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

Похожие вопросы: