Я пытаюсь создать другую подсеть для нескольких конкретных MAC-адресов и настроить конфигурацию DHCP следующим образом:
authoritative;
shared-network local {
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.1 192.168.2.99;
option broadcast-address 192.168.2.255;
option routers 192.168.1.100;
option domain-name "local-network-spec";
option domain-name-servers 8.8.8.8, 8.8.4.4;
deny unknown-clients;
host mdev {
hardware ethernet 40:40:40:40:40:40;
}
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.1 192.168.1.99;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name "local-network";
option domain-name-servers 8.8.8.8, 8.8.4.4;
}
}
Однако, похоже, я что-то неправильно настроил, потому что соответствующая аренда выглядит следующим образом:
lease 192.168.1.5 {
starts 3 2014/04/16 19:10:41;
ends 4 2014/04/17 07:10:41;
cltt 3 2014/04/16 19:10:41;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 40:40:40:40:40:40;
client-hostname "MyMachine";
}
Ключевым моментом здесь является routers
параметр устанавливается по-разному для разных подсетей. Однако, что интересно, несмотря на то, что это не IP-адрес в желаемой подсети, клиент является с правильным шлюзом - 192.168.1.100 вместо 192.168.1.1 - так что что-то явно используется из первого объявления подсети.
Есть идеи, что я здесь делаю не так?
Я не знаю, решит ли это проблему полностью, но для начала ваш маршрутизатор должен быть расположен в той же подсети. 192.168.1.100 не находится в пределах 192.168.2.0/255.255.255.0. Если бы аренда была предоставлена так, как вы ее настроили, у клиента не было бы пути к адресу 192.168.1.100, который находится в другой подсети.