Odpowiedzi:
Jest to możliwe tylko wtedy, gdy dwóch klientów DHCP używa różnych adresów MAC. Co oznacza, że nie mogą działać zarówno na tym samym fizycznym interfejsie sieciowym, który ma pojedynczy adres MAC.
Rozwiązaniem są wirtualne interfejsy sieciowe MAC-VLAN systemu Linux. Interfejsy MAC-VLAN to interfejsy sieci wirtualnej wspierane przez interfejs fizyczny, ale używające innego adresu MAC, który jest generowany losowo podczas tworzenia urządzenia MAC-VLAN.
Po utworzeniu interfejsu MAC-VLAN za pomocą interfejsu fizycznego używasz go w taki sam sposób, jak fizyczny. W konkretnym przypadku możesz uruchomić jednego klienta DHCP na interfejsie fizycznym, a drugiego na urządzeniu MAC-VLAN. Każde urządzenie (fizyczne i MAC-VLAN) może wtedy mieć swój własny adres IP.
Nowe urządzenie MAC-VLAN macvlan0
można utworzyć eth0
, uruchamiając
ip link add dev macvlan0 link eth0 type macvlan
Można go usunąć, uruchamiając
ip link delete dev macvlan0
Korzystając z NCD, mojego oprogramowania do konfiguracji sieci ( http://code.google.com/p/badvpn/wiki/NCD ), następujący program NCD utworzy dwa urządzenia MAC-VLAN z eth0
( macvlan0
i macvlan1
), uruchomi DHCP na każdym z nich, i przypisz im uzyskane adresy IP. Z łatwością wykonujesz inne czynności, takie jak dodawanie tras i serwerów DNS; przeczytaj stronę NCD, jeśli jesteś zainteresowany.
process lan {
# Set device.
var("eth0") dev;
# Wait for device to appear, set it up, and wait for cable to be plugged in.
net.backend.waitdevice(dev);
net.up(dev);
net.backend.waitlink(dev);
# Start DHCP's.
provide("lan-link");
}
process lan_dhcp1 {
# Wait for link.
depend("lan-link") linkdep;
# Choose virtual device name.
var("macvlan0") vdev;
# Create virtual MAC-VLAN device.
list("/sbin/ip", "link", "add", "dev", vdev, "link", linkdep.dev, "type", "macvlan") do;
list("/sbin/ip", "link", "delete", "dev", vdev) undo;
run(do, undo);
# Set virtual device up.
net.up(vdev);
# DHCP configuration on virtual device.
net.ipv4.dhcp(vdev) dhcp;
ip_in_network(dhcp.addr, "127.0.0.0", "8") test_local;
ifnot(test_local);
println(vdev, ": got address ", dhcp.addr);
# Assign address to virtual device.
net.ipv4.addr(vdev, dhcp.addr, dhcp.prefix);
}
# This differs from above only in interface name (macvlan1).
process lan_dhcp2 {
# Wait for link.
depend("lan-link") linkdep;
# Choose virtual device name.
var("macvlan1") vdev;
# Create virtual MAC-VLAN device.
list("/sbin/ip", "link", "add", "dev", vdev, "link", linkdep.dev, "type", "macvlan") do;
list("/sbin/ip", "link", "delete", "dev", vdev) undo;
run(do, undo);
# Set virtual device up.
net.up(vdev);
# DHCP configuration on virtual device.
net.ipv4.dhcp(vdev) dhcp;
ip_in_network(dhcp.addr, "127.0.0.0", "8") test_local;
ifnot(test_local);
println(vdev, ": got address ", dhcp.addr);
# Assign address to virtual device.
net.ipv4.addr(vdev, dhcp.addr, dhcp.prefix);
}
Skończysz z macvlan0
a macvlan1
każdy z własnym adresem IP DHCP uzyskane, i eth0
który jest gotowy, ale nie ma adresu IP. Alternatywnie możesz utworzyć tylko jeden interfejs MAC-VLAN i uruchomić na eth0
sobie jedną instancję DHCP .
Korzystanie ze statycznych lub przydzielonych DHCP adresów IP to wybór, jaki możesz podjąć dla swojego komputera.
Tutaj jest dobry tutorial .
Zawiera wiele szczegółów i pomaga uniknąć problemów, które mogą wystąpić, jeśli użyjesz adresu statycznego zamiast adresu przydzielonego przez DHCP, np. Jak połączyć się z serwerami DNS i bramami.
Nigdy nie widziałem konfiguracji DHCP, która pozwalałaby serwerowi DHCP na wysyłanie wielu adresów do interfejsu. Nie wierzę, że protokół to obsługuje. Po przejściu do wielu adresów IP w interfejsie naprawdę powinieneś skonfigurować je jako adresy statyczne.
Niektóre klienty DHCP pozwalają na przypisanie adresu statycznego, gdy adres jest podany. Nie wierzę, że Windows pozwoli ci dodać więcej niż jeden.
Upewnij się, że wszystkie twoje adresy statyczne są poza zakresem adresów DCHP.
Nie wiem na pewno Ale wierzę, że jeśli nie masz routera open source, będziesz musiał użyć statycznego adresu IP, aby zrobić to, co chcesz. IMO, chyba że masz NAPRAWDĘ dobry powód, dla którego chcesz robić to, co chcesz. Po prostu trzymałbym się DHCP. z twojego pytania widzę, że tego właśnie chcesz, więc chyba że ktoś wie, jak to zrobić, poczekam i zostanę przy DHCP, aż ktoś da lepszą odpowiedź. Chociaż jeśli nie masz więcej niż 1-2 szt. I nic więcej w sieci (przedłużacze mediów do drukarek itp.), Nie użyłbym statycznych adresów IP jako IDK w jaki sposób lub czy można ustawić te elementy za pomocą statycznego adresu IP. Być może możesz zrobić, co chcesz, jeśli dostaniesz router typu open source i możesz zrobić to, co chcesz, po prostu użyć statycznego adresu IP komputera za pomocą adresu mac jako sposobu jego identyfikacji i ustawienia jego adresu IP oraz reszta sieci może mieć DHCP. IDK, ponieważ nigdy nie robiłem cienka, po prostu rzucam pomysły, więc przepraszam, że nie mam dla ciebie odpowiedzi. Chociaż link podany przez Bryana wygląda na niezły zasób na temat DHCP i problemów ze statycznym adresem IP. Także w przypadku routera Open Source, sądzę, że Netgear i D-Link je tworzą. Jestem pewien, że więcej, ale IMO to te dwie marki, które wybrałbym. Osobiście nie lubię Linksys, ponieważ zostały kupione przez powieść (można by pomyśleć, że byłyby lepsze, ale NIE IMO. Osobiście wolę D-link, ponieważ są najbardziej konfigurowalnymi routerami, jakie znalazłem). Także w przypadku routera Open Source, sądzę, że Netgear i D-Link je tworzą. Jestem pewien, że więcej, ale IMO to te dwie marki, które wybrałbym. Osobiście nie lubię Linksys, ponieważ zostały kupione przez powieść (można by pomyśleć, że byłyby lepsze, ale NIE IMO. Osobiście wolę D-link, ponieważ są najbardziej konfigurowalnymi routerami, jakie znalazłem). Także w przypadku routera Open Source, sądzę, że Netgear i D-Link je tworzą. Jestem pewien, że więcej, ale IMO to te dwie marki, które wybrałbym. Osobiście nie lubię Linksys, ponieważ zostały zakupione przez powieść (można by pomyśleć, że byłyby lepsze, ale NIE IMO. Osobiście wolę D-link, ponieważ są najbardziej konfigurowalnymi routerami, jakie znalazłem.)
Sprawdź również ten link, a może będziesz mógł zrobić więcej z routerem, jeśli jest on obsługiwany