Назад | Перейти на главную страницу

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

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

dhclient eth0
ifconfig eth0:1 192.168.1.105 up

Но не это:

ifconfig eth0 192.168.1.105 up
dhclient eth0:1

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

Вы действительно не можете этого сделать. Ваша карта имеет только один 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 еще не имеет IP-адреса).

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