Відповіді:
Це можливо лише в тому випадку, якщо два клієнти DHCP використовують різні MAC-адреси. Це означає, що вони не можуть працювати як на одному фізичному мережевому інтерфейсі, який має одну MAC-адресу.
Рішенням є віртуальний мережевий інтерфейс MAC-VLAN Linux. Інтерфейси MAC-VLAN - це інтерфейси віртуальної мережі, підкріплені фізичним інтерфейсом, але використовуються з іншою MAC-адресою, яка генерується випадковим чином під час створення пристрою MAC-VLAN.
Після створення інтерфейсу MAC-VLAN за допомогою фізичного інтерфейсу ви використовуєте його так само, як і фізичний. У вашому конкретному випадку ви можете запустити один клієнт DHCP на фізичному інтерфейсі, а інший - на пристрої MAC-VLAN. Кожен пристрій (фізичний та MAC-VLAN) може мати свою власну IP-адресу.
Новий MAC-VLAN пристрій macvlan0
можна створити eth0
за допомогою запуску
ip link add dev macvlan0 link eth0 type macvlan
Його можна видалити запуском
ip link delete dev macvlan0
Використовуючи NCD, моє програмне забезпечення для налаштування мережі ( http://code.google.com/p/badvpn/wiki/NCD ), наступна програма NCD створить два пристрої MAC-VLAN з eth0
( macvlan0
і macvlan1
), запустить DHCP на кожному з них, і призначити їм отримані IP-адреси. Ви легко виконуєте інші речі, такі як додавання маршрутів та DNS-серверів; читайте сторінку NCD, якщо вас цікавить.
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);
}
Ви отримаєте власну IP-адресу, отриману DHCP, macvlan0
і macvlan1
кожен із eth0
них, але не має IP-адреси. Крім того, ви можете створити лише один інтерфейс MAC-VLAN та запустити один екземпляр DHCP на eth0
собі.
Використання статичних або призначених DHCP IP-адрес - це вибір, який ви робите для свого комп'ютера.
Тут є хороший підручник .
Він містить багато деталей і допомагає уникнути проблем, які можуть виникнути, якщо ви використовуєте статичну замість призначеної DHCP адреси, наприклад, як підключитися до DNS-серверів і шлюзів.
Я ніколи не бачив конфігурації DHCP, яка дозволила б серверу DHCP надсилати декілька адрес в інтерфейс. Я не вірю, що протокол це підтримує. Щойно ви потрапляєте на кілька IP-адрес в інтерфейсі, ви дійсно повинні налаштувати їх як статичні адреси.
Деякі клієнти DHCP дозволяють призначати статичну адресу при наданні адреси. Я не вірю, що Windows дозволить вам додати більше одного.
Переконайтеся, що всі ваші статичні адреси знаходяться поза діапазоном адрес DCHP.
Я точно не знаю, але я вірю, якщо у вас немає маршрутизатора з відкритим кодом, тоді вам доведеться використовувати статичний IP, щоб робити те, що ви хочете. ІМО, якщо у вас дійсно не є вагомою причиною, чому ви хочете робити те, що ви хочете, я б просто дотримувався DHCP. з вашого запитання я бачу ось що ви хочете, якщо тільки хтось не знає, як це зробити, я б зачекав і залишився з DHCP, поки хтось не дасть кращої відповіді. Хоча якщо у вас більше 1-2 ПК та нічого іншого в мережі (принтери-розширювачі носіїв тощо), я б не використовував статичні IP-адреси в якості IDK, як і якщо можливо встановити ці елементи статичним IP-адресою. Можливо, ви можете робити все, що завгодно, якщо ви отримаєте маршрутизатор з відкритим кодом і, можливо, зможете змусити його робити те, що ви хочете, просто використовувати статичний IP для своєї машини, використовуючи mac-адресу як спосіб ідентифікувати його та встановити його IP та решта мережі може забрати DHCP. IDK, як я ніколи не робив тонких, я просто викидаю ідеї, тому вибачте за те, що не маю відповіді за вас. Хоча посилання, створене Брайаном, виглядає як непоганий ресурс щодо питань DHCP та Static IP. Також для маршрутизатора з відкритим кодом я вважаю, що Netgear і D-Link впевнені, що більше, але IMO ці два бренди - це те, кого я обрав би. Мені особисто не подобається Linksys, оскільки вони були куплені романом (ви б подумали, що вони будуть кращими, але НЕ ІМО. Особисто я віддаю перевагу D-link, оскільки вони є найбільш налаштованими маршрутизаторами, які я знайшов.) Також для маршрутизатора з відкритим кодом я вважаю, що Netgear і D-Link впевнені, що більше, але IMO ці два бренди - це те, кого я обрав би. Мені особисто не подобається Linksys, оскільки вони були куплені романом (ви б подумали, що вони будуть кращими, але НЕ ІМО. Особисто я віддаю перевагу D-link, оскільки вони є найбільш налаштованими маршрутизаторами, які я знайшов.) Також для маршрутизатора з відкритим кодом я вважаю, що Netgear і D-Link впевнені, що більше, але IMO ці два бренди - це те, кого я обрав би. Мені особисто не подобається Linksys, оскільки вони були куплені романом (ви б подумали, що вони будуть кращими, але НЕ ІМО. Особисто я віддаю перевагу D-link, оскільки вони є найбільш налаштованими маршрутизаторами, які я знайшов.)
Також перегляньте це посилання, і, можливо, ви зможете зробити більше з маршрутизатором, якщо він підтримується