LINUX.ORG.RU
ФорумAdmin

openwrt dnsmasq


0

1

Есть сеть lan., в ней dns сервер 10.55.1.1 bind9. В ней есть vlad.lan. 10.55.1.3, и несколько других компьютеров. И есть openwrt.lan. 10.55.1.10 - это его wan интерфейс.

На openwrt включен dnsmasq.

/etc/config/dhcp:

config dnsmasq                 
        option domainneeded '1'
        option boguspriv '1'  
        option filterwin2k '0'     
        option localise_queries '1' 
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/wifi.lan/'
        option domain 'wifi.lan'
        option expandhosts '1'
        option nonegcache '0'   
        option authoritative '1'
        option readethers '1'              
        option leasefile '/tmp/dhcp.leases'      
        option resolvfile '/tmp/resolv.conf.auto'
                 
config dhcp 'lan'
        option interface 'lan'
        option start '100'    
        option limit '150'
        option leasetime '12h'
        option dhcpv6 'server'
        option ra 'server'    
                          
config dhcp 'wan'
        option interface 'wan'
        option ignore '1'     
                         
config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'

Подключившись с ноутбука к openwrt роутеру и получив ip 192.160.0.103, я делаю запрос:

dig openwrt.wifi.lan A

получаю 192.168.0.1.

dig vlad-notebook.wifi.lan A

получаю свой 192.168.0.103

делаю dig google.ru A получаю ответ

А теперь делаю dig vlad.lan A

и не получаю ответа

сделав же dig @10.55.1.1 vlad.lan A получаю правильный ответ

что интересно,

dig lan. NS я получаю router.lan в качестве ns. а в additional идет его ip 10.55.1.1

но dig router.lan. A не находит его

А еще я обнаруживаю, что

dig wifi.lan. NS тоже ничего не находит!

На router.lan я также прописал в файле зоны lan.

wifi.lan. IN NS openwrt.lan.

В итоге при dig @10.55.1.1 wifi.lan. NS я получаю openwrt.lan. в authority секции.

А при попытке dig @10.55.1.1 openwrt.wifi.lan A

я тоже получаю только authority

★★★★★

Я особо ничего не понял в этом количестве текста, не понятно, что как настроено, какие зоны есть, куда обращается dig и что именно не устраивает.

Если я правильно понял у вас dnsmasq отвечает на записи в wifi.lan, за всем остальным ходит на DNS-сервер провайдера и знать не знает про 10.55.1.1. При этом dnsmasq не имеет SOA-записи и named не считает его отвечающим за зону wifi.lan. Так?

Посмотрите DNS-пакеты с помощью tcpdump, может будет понятно, какой DNS-сервер куда обращатся.

mky ★★★★★
()
Ответ на: комментарий от mky

Нет. В openwrt прописано, что за всем, что неизвестно, он должен ходить на 10.55.1.1

Про провайдера же он вообще ничего не знает, так как подключен к сети 10.55.1.0

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от mky

куда обращается dig

dig обращается к сереру, указанному в /etc/resolv.conf

при подключении к openwrt туда записыается 192.168.0.1 - ip openwrt

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от mky

Поставил '0'

Все равно, для зоны wifi.lan ни NS ни SOA не находит. Только A записи для хостов, подключенных к openwrt.

Хотя хосты из lan начали резолвиться

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от cvs-255

для зоны wifi.lan ни NS ни SOA не находит

Ну так и должно быть. dnsmasq отвечает за зону wifi.lan, но он не умеет SOA. Поэтому на эти запросы отвечает, что нет такого.

Вроде бы у него была какая-то опция, что все не найденный записи форвардить на сервер, но точно не скажу, читайте доку.

mky ★★★★★
()
Ответ на: комментарий от mky

dnsmasq отвечает за зону wifi.lan, но он не умеет SOA

И как быть? Я с vlad.lan хочу найти ip адрес vlad-notebook.wifi.lan

Я обращаюсь на router.lan., чтобы узнать, кто отвечает за wifi.lan. и узнаю, что смотреть мне надо на openwrt.lan.

Я обращаюсь на openwrt.lan. и узнаю, что про зону wifi.lan. он ничего не знает.

Ну либо вариант, когда я обращаюсь с A запросом на router.lan., а он сам пытается сделать то же самое.

Или я неправильно понимаю, и router.lan должен сразу лезть с A запросом на openwrt.lan?

Я причину проблемы понял как то, что router.lan говорит, что ответственный за wifi.lan это openwrt.lan, а openwrt.lan говорит, что про wifi.lan вообще ничего не знает и никакой он не ответственный.

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 2)
Ответ на: комментарий от cvs-255

Попробуйте на bind'е описать зону ″wifi.lan″ с ″type forward;″ и ″forwarders {10.55.1.10;}; forward only;″, может поможет.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.