DD-WRT: DNSMasq expand-hosts nie działa

12

Mam router Linksys z systemem DD-WRT (Oprogramowanie układowe: DD-WRT v24-sp2 (09/08/09) mini). Pomyślnie rozwiązuję nazwy DNS dla moich systemów przypisanych do DHCP, ale tylko wtedy, gdy w pełni kwalifikuję te domeny. Dzieje się tak pomimo użycia dodatkowej opcji DNSMasq „expand-hosts”, która ma aktywować tę precyzyjną funkcję.

Oto mój dnsmasq.conf:

interface=br0
resolv-file=/tmp/resolv.dnsmasq
domain=example.com
dhcp-leasefile=/tmp/dnsmasq.leases
dhcp-lease-max=51
dhcp-option=lan,3,10.77.0.5
dhcp-authoritative
dhcp-range=lan,10.77.0.100,10.77.0.149,255.255.0.0,1440m
dhcp-host=00:1A:A0:1D:82:5A,astatichostname,10.77.1.40,infinite
expand-hosts

(FYI: example.com i astatichostname są symbolami zastępczymi dla rzeczywistych nazw, których używam. Moja sieć używa 10.77.0.0/16; mój router jest w wersji 10.77.0.5.)

Wyniki:

> nslookup astatichostname 10.77.0.5
Server:     10.77.0.5
Address:    10.77.0.5#53

** server can't find astatichostname: NXDOMAIN

> nslookup astatichostname.example.com 10.77.0.5
Server:     10.77.0.5
Address:    10.77.0.5#53

Name:   astatichostname.example.com
Address: 10.77.1.40

Czy jest jeszcze coś, co może potknąć się o rozszerzenie hosta DNSMasq?

Craig Walker
źródło

Odpowiedzi:

8

To pytanie jest stare, ale jest to jeden z najlepszych wyników Google dla tego problemu, i w końcu doszedłem do wniosku.

Problem polega na tym, że nie to expand-hosts. Dokumentacja na nim jest bardzo rozmyta, ale expand-hostsdodaje domenę do wpisów hosta /etc/hosts, a nie do zapytań dns. Na przykład

/ etc / hosts:

10.77.0.5 astatichostname

dnsmasq.conf:

expand-hosts
domain=example.com

Następnie zapytania dns dla astatichostname.example.comzostaną rozwiązane 10.77.0.5(oprócz zapytań DNS tylko astatichostname).



Rozwiązanie:

Tak więc rozwiązaniem jest, aby dd-wrt utworzył wpisy /etc/hostsbez domeny na nich, a następnie poinstruować dnsmasq, aby uwzględnił te wpisy hosta jako część example.comdomeny, gdy pojawi się w pełni kwalifikowane zapytanie DNS rekordu.
Aby to zrobić, musisz musieć:

  1. Umieścić example.comdomenę w Domain Name polu na Ustawienia -> Konfiguracja podstawowa strona pod Ustawienia opcjonalne .
  2. Wyczyść ustawienie domeny LAN na stronie Usługi w obszarze Serwer DHCP .
  3. Dodaj expand-hostsdo dodatkowych opcji DNSMasq na stronie Usługi w DNSMasq

Krok 1 kontroluje domain=ustawienie, które zostanie wprowadzone do dnsmasq.confpliku. Krok # 2 usuwa domenę z wpisów, które są wprowadzane /etc/hosts. Krok # 3 wprowadza domenę do wpisów, /etc/hostsgdy pojawia się w pełni kwalifikowane zapytanie DNS.


Cieszę się, że dd-wrt sprawiło, że ten ładny i prosty ...

Patrick
źródło
2

Poniższe działa dla mnie na moim DD-WRT:

expand-hosts
local=/lan/
domain=lan

Myślę, że to dlatego, że brakuje Ci localustawienia. Ustawiłem również lanjako moją „domenę LAN” w GUI.

Jim Hunziker
źródło