1

Я всегда использовал dnsmasq, чтобы указать поддомен моей локальной машины разработчика на уровне маршрутизатора / сети.

address=/dev.example.com/192.168.1.80

Теперь я настроил два интерфейса VLAN для других целей (например, гостевая сеть). Мне нужно иметь возможность использовать разные серверы имен на каждой локальной сети, что я также сделал с помощью dnsmasq.

dhcp-option=br0,6,208.67.222.123,208.67.220.123
dhcp-option=br1,6,208.67.222.222,208.67.220.220
dhcp-option=br2,6,208.67.222.123,208.67.220.123

Однако, как только эта конфигурация будет создана, директива address больше не работает. Похоже, что эта конфигурация dhcp будет использоваться для разрешения DNS выше всего остального, поэтому запросы на поддомен dev обращаются к Интернету, а не к моему локальному ip, как раньше. Для большей эффективности я попытался переместить директиву адреса до и после конфигурации dhcp. Это не имеет значения.

Есть ли способ назначить каждому интерфейсу DNS-серверы и использовать адресную директиву или выполнить то же поведение другим способом?

В случае, если это помогает, я использую прошивку AdvancedTomato.

1 ответ1

1

Сервер dnsmasq прослушивает сам маршрутизатор. Однако указанная выше конфигурация указывает всем устройствам в этих трех сетях использовать DNS-серверы вне вашей сети, то есть локальные адреса не будут разрешаться.

Вам необходимо настроить DNS-сервер на адрес маршрутизатора в сетях, где вы хотите разрешить локальные адреса. Например, чтобы включить на br0, измените конфигурацию на:

dhcp-option=br0,6,192.168.1.1
dhcp-option=br1,6,208.67.222.222,208.67.220.220
dhcp-option=br2,6,208.67.222.123,208.67.220.123

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .