To wydaje się działać dobrze:
dhclient eth0
ifconfig eth0:1 192.168.1.105 up
Ale nie to:
ifconfig eth0 192.168.1.105 up
dhclient eth0:1
Czy jest jakiś sposób na uzyskanie dhcp na adres wirtualny?
Naprawdę nie możesz tego zrobić. Twoja karta ma tylko jeden adres MAC, ale wiele interfejsów IP. Będą musieli mieć statycznie przypisane adresy.
Kiedy serwer DHCP odsyła DHCPOFFER, w jaki sposób jest dostarczany eth0:1
i nie eth0
? eth0:1
wysyła DHCPDISCOVER lub DHCPREQUEST poprzez nadawanie. Serwer DHCP odpowiada komunikatem DHCPOFFER, aby poinformować klienta o swoim adresie IP. Ale w jaki sposób przyjedzie DHCPOFFER, jeśli eth0:1
jeszcze nie ma adresu IP? Serwer DHCP odsyła z powrotem i polega na warstwie łącza, aby poprawnie dostarczyć ramkę Ethernet (z innymi powiązanymi warstwami ułożonymi na niej) do właściwego adresu MAC. A teraz twoje urządzenie ma adres IP.
Problem dla DHCPOFFER polega na tym, że z perspektywy warstwy 2 dwa „urządzenia” ( eth0
i eth0:1
) są nierozróżnialne, a zatem (z perspektywy warstwy 3) DHCPOFFER jest przeznaczony na 255.255.255.255 (ponieważ eth0:1
nie ma jeszcze Adres IP).
Możesz obejść ten problem, używając sieci VLAN. Sieci VLAN pozwolą ci wziąć tę samą fizyczną domenę rozgłoszeniową i traktować ją jak wiele „wirtualnych” domen rozgłoszeniowych (stąd nazwa).
dhclient eth0.1
uzyskać DHCPOFFER.