Я использую DNSmasq как для своих локальных клиентов, так и для некоторых интернет-сервисов. Одна услуга, которую я предоставляю, - это сервер DynDNS. Он получает обновления IP через HTTP и записывает его как простой файл hosts, но без домена. Домен подключен DNSmasq из-за следующей минимальной конфигурации:
interface=eth0 # internal
interface=eth1 # external
no-dhcp-interface=eth1
dhcp-range=192.168.1.2,192.168.1.254,12h
domain=mydomain.eu
no-hosts
addn-hosts=/etc/hosts.dyndns # hosts file created by my dynDNS server
expand-hosts
# Server/VMs
host-record=server,192.168.1.1
host-record=server.mydomain.eu,<externalIP>
cname=dns.mydomain.eu,server.mydomain.eu
address=/mydomain.eu/<externalIP> # wildcard subdomains
Проблема в том, что домен доставляется по DHCP и моим локальным клиентам. Если некоторые из них запрашивают server
клиент распространяет свой запрос на домен server.mydomain.eu
который DNSmasq отвечает как « <externalIP>
. Из-за топологии моего подключения к Интернету это связано с несколькими проблемами. Вместо этого он должен быть разрешен до 192.168.1.1
.
Как заставить DNSmasq различать запросы от локальной сети и интернета? Или можно использовать domain
только для расширения файлов хостов?