Как запросить dhcp (используя dhclient) на виртуальном интерфейсе (то есть eth0: 1)

15

Кажется, это работает нормально:

dhclient eth0
ifconfig eth0:1 192.168.1.105 up

Но не это

ifconfig eth0 192.168.1.105 up
dhclient eth0:1

Есть ли способ получить dhcp на виртуальный адрес?

CoolAJ86
источник

Ответы:

20

Вы не можете сделать это на самом деле. Ваша карта имеет только один MAC-адрес, но несколько IP-интерфейсов. Им нужно, чтобы их адреса были статически назначены.

Когда сервер DHCP отправляет обратно DHCPOFFER, как он доставляется, eth0:1а не отправляется eth0? eth0:1рассылает DHCPDISCOVER или DHCPREQUEST по широковещательной рассылке. DHCP-сервер отвечает DHCPOFFER, чтобы сообщить клиенту свой IP-адрес. Но как придет DHCPOFFER, если у eth0:1него еще нет IP-адреса? DHCP-сервер осуществляет широковещательную рассылку и полагается на канальный уровень для правильной доставки кадра Ethernet (с наложенными поверх него другими связанными уровнями) на правильный MAC-адрес. И теперь у вашего устройства есть IP-адрес.

Проблема для DHCPOFFER заключается в том, что с точки зрения уровня 2 два «устройства» ( eth0и eth0:1) неразличимы, и поэтому (с точки зрения уровня 3) DHCPOFFER предназначен для 255.255.255.255 (потому что eth0:1еще не имеет Айпи адрес).

Вы можете обойти это с помощью VLAN. Сети VLAN позволят вам взять один и тот же физический широковещательный домен и рассматривать его как несколько «виртуальных» широковещательных доменов (отсюда и название).


источник
Отличный ответ! Я думаю, что я видел похожие ответы на форумах, но этот гораздо яснее, и теперь я понимаю. Похоже, что если бы я следовал этим инструкциям cyberciti.biz/tips/…, я бы тогда смог сделать dhclient eth0.1DHCPOFFER.
CoolAJ86
Ага. Пока ваша сетевая инфраструктура настроена правильно для VLAN. Посмотрите, как работают Vlans? ,