У меня есть маршрутизатор OpenWRT версии 15.05, который является членом локальной сети. Эта сеть имеет свои собственные серверы DHCP и DNS, которые dnsmasq должен автоматически использовать для разрешения доменного имени. Однако имена хостов для членов локальной сети не разрешаются через dnsmasq.
Я попытался /etc/init.d/dnsmasq stop
что позволило этим именам разрешить на маршрутизаторе. Однако это остановило разрешение всех доменных имен на моем ноутбуке при подключении к маршрутизатору.
Я бы хотел, чтобы dnsmasq не фильтровал локальные доменные имена по его результатам и чтобы он использовал надлежащие DNS-серверы (я верю, что это так), или чтобы найти способ обойтись без dnsmasq, передавая IP-адреса вышестоящих DNS-серверов клиентам роутера. (Я бы предпочел не жестко задавать IP-адреса DNS-сервера, чтобы маршрутизатор можно было использовать в других средах без перенастройки.)
Я отключил некоторые из приведенных ниже параметров, поскольку они гарантируют, что «... запросы на эти имена локальных хостов (и обратный поиск) никогда не будут перенаправлены на вышестоящие DNS-серверы». [1] Однако это не решило мои проблемы с dnsmasq.
root@wrt0:~# cat /etc/config/dhcp
config dnsmasq
#option domainneeded '1'
option domainneeded '0'
#option boguspriv '1'
option boguspriv '0'
option filterwin2k '0'
#option localise_queries '1'
option localise_queries '0'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
#option expandhosts '1'
option expandhosts '0'
option nonegcache '0'
#option authoritative '1'
option authoritative '0'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.auto'
option localservice '1'
...
root@wrt0:~# cat /etc/config/network
...
config interface 'lan'
option ifname 'eth1'
option type 'bridge'
option proto 'static'
option ipaddr '10.0.2.1'
option netmask '255.255.255.0'
...
root@wrt0:~# cat /etc/resolv.conf
search lan
nameserver 127.0.0.1
root@wrt0:~# cat /tmp/resolv.conf.auto
# Interface wan
nameserver 192.168.0.10
nameserver 192.168.0.25
search office.website.org
search website.org
При разрешении локальных имен с использованием dnsqmasq разрешение завершается неудачно:
root@wrt0:~# nslookup abc.office.website.org
Server: 127.0.0.1
Address 1: 127.0.0.1 localhost
nslookup: can't resolve 'abc.office.website.org': Name or service not known
При обходе dnsmasq разрешение работает нормально:
root@wrt0:~# nslookup abc.office.website.org 192.168.0.10
Server: 192.168.0.10
Address 1: 192.168.0.10 resolver.office.website.org
Name: abc.office.website.org
Address 1: 192.168.0.32 abc.office.website.org
dnsmasq без проблем ищет интернет-серверы:
root@wrt0:~# nslookup abc.website.org
Server: 127.0.0.1
Address 1: 127.0.0.1 localhost
Name: abc.website.org
Address 1: 208.xxx.xxx.xxx xyz.website.org
У вас есть идеи о том, как я могу обойти фильтрацию dnsmasq или вообще обойти dnsmasq? Спасибо! : D