Добрый день, есть ли варианты отключить DNS на определенном интерфейсе.
Есть три интерфейса, условно eth0, eth1, eth2. На eth0 и на eth1 нужно оставить dns и dhcp, на eth2 только dhcp и отключить dns, чтобы он не слушал адрес
dnsmasq - первое слово в названии DNS, это в первую очередь DNS, а потом уже dhcp и tftp. Как следствие есть опция для выключения TFTP и DHCP на определенном интерфейсе.
В данном случае iptables лучший вариант для решения твоей задачи при использовании dnsmasq.
В целом это нормально когда ножом не получается разрубить полено, это значит что нож не подходит для этой задачи и тебе стоит обратить внимание на другой инструмент.
Отключить можно, указав порт 0 в настройках(можете глянуть конфиг).
spoiler
# Listen on this specific port instead of the standard DNS port
# (53). Setting this to zero completely disables DNS function,
# leaving only DHCP and/or TFTP.
#port=0
Но она срабатывала глобально для всех интерфейсов. Пришлось сделать три демона для каждого интерфейса отдельно. С isc-dhcp-server не разобрался, там при указании статического маршрута с префиксом /15, клиен не получает его, выше /18 нормально.