Вот такая история:
В моей локальной сети я использую Raspberry Pi с dnsmasq для разрешения имен и DHCP. Наша семья состоит из двух взрослых и двух детей, и я собираюсь ограничить доступ в Интернет для детей через OpenDNS.
Я почти получил это работает правильно, начиная с этот вопрос. По сути, я «помечаю» детские устройства ключевым словом («kids») и привязываю альтернативный DNS-сервер (OpenDNS) к этому тегу с помощью следующего:
# regular DNS for most devices
dhcp-option=option:dns-server,192.168.111.11,8.8.8.8,8.8.4.4
# restricted DNS for kids (two OpenDNS IP addresses, and my local DNS server)
dhcp-option=tag:kids,option:dns-server,208.67.222.222,208.67.220.220,192.168.1.11
# IP reservations for kids devices
XX:XX:XX:XX:XX:XX,set:kids,192.168.1.190
YY:YY:YY:YY:YY:YY,set:kids,192.168.1.191
Это работает: детские устройства попадают на серверы OpenDNS для разрешения имен и блокируются от неподходящих сайтов.
Но проблема в том, что дети больше не могут получить доступ к хостам в нашей локальной сети. Это означает, что, например, они не могут получить доступ к нашему локальному серверу Minecraft или файловым ресурсам. Я попытался изменить порядок DNS-сервера и разместить наш локальный DNS-сервер первым в порядке для детей, но это отключило серверы OpenDNS.
Я пытался придумать решение этой проблемы, и единственное, что я придумал, - это настроить второй DNS-сервер на другом Raspberry Pi, но это означает дублирование большого количества настроек, которые я не хочу отслеживать. оф.
Как я могу настроить DNSMasq для правильного разрешения локальных адресов с разными «внешними» DNS-серверами для двух разных групп клиентов?
Боюсь, такая конфигурация невозможна, вам нужно будет запустить второй внутренний DNS, чтобы иметь возможность контролировать, какой восходящий DNS-сервер используется. Однако вы можете настроить сервер условной пересылки на вторичном сервере, чтобы вам не приходилось настраивать все дважды:
homedomain.local
. Настройте сервер условной пересылки на вторичном DNS-сервере для пересылки всех запросов для homedomain.local
на ваш основной DNS-сервер. Таким образом, любые запросы, скажем, minecraftserver.homedomain.local
отправляется на ваши внутренние DNS-серверы, но запросы для любых других доменов отправляются в OpenDNS.