У меня есть dhcp, настроенный с помощью DNSMasq, который похож на это:
dhcp-range=interface:eth0,10.1.0.50,10.1.0.250,255.255.255.0
dhcp-range=interface:eth1,10.1.20.50,10.1.20.250,255.255.255.0
То, что я должен смочь сделать, установлено шлюз 'dhcp-опция 3' для каждого интерфейса отдельно, который я ожидал, будет похож на это:
dhcp-option=interface:eth0,3,10.1.0.254
dhcp-option=interface:eth1,3,10.1.20.254
Однако это не работает. Каков был бы корректный способ настроить независимые шлюзы на основе на интерфейс?
Само собой разумеется, что синтаксис в вопросе имеет смысл. Однако это еще проще:
dhcp-option=eth0,3,10.1.0.254
dhcp-option=eth1,3,10.1.20.254
[Edit] После пары лет использования я сообщаю о проблеме с этой настройкой. Допустим, у вас есть общедоступная и безопасная сеть, доступная через Wi-Fi. Если ваше устройство подключается к общедоступной сети, но вы хотите переключиться на безопасную, ваше устройство и DHCP-сервер попытаются повторно использовать аренду вашего адреса из общедоступной сети, что приведет к неверному адресу подсети, которую вы сейчас занимает. . Вероятно, это можно исправить, установив время аренды равным нулю, но это может иметь другие неблагоприятные последствия в зависимости от требований вашей сети (адреса сетевого принтера и т. Д.).
Вы можете сделать это с помощью тегов диапазона:
dhcp-range=set:net1,10.1.0.50,10.1.0.250,255.255.255.0
dhcp-range=set:net2,10.1.20.50,10.1.20.250,255.255.255.0
dhcp-option=net1,3,10.1.0.254
dhcp-option=net2,3,10.1.20.254