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

Как установить правильное разрешение имен в dnsmasq для каждого клиента?

Вот такая история:

В моей локальной сети я использую 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-сервер используется. Однако вы можете настроить сервер условной пересылки на вторичном сервере, чтобы вам не приходилось настраивать все дважды:

  1. Настройте вторичный DNS-сервер для «ограниченного доступа»
  2. Для наглядности предположим, что ваша внутренняя зона на основном DNS-сервере homedomain.local. Настройте сервер условной пересылки на вторичном DNS-сервере для пересылки всех запросов для homedomain.local на ваш основной DNS-сервер.

Таким образом, любые запросы, скажем, minecraftserver.homedomain.local отправляется на ваши внутренние DNS-серверы, но запросы для любых других доменов отправляются в OpenDNS.