Назад | Перейти на главную страницу

Установите шлюз для каждого интерфейса в DNSMasq

У меня есть 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-option 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