DD-WRT: Perluas DNSMas-host tidak berfungsi

12

Saya memiliki router Linksys yang menjalankan DD-WRT (Firmware: DD-WRT v24-sp2 (09/08/09) mini). Saya memilikinya berhasil menyelesaikan nama DNS untuk sistem yang ditugaskan DHCP saya, tetapi hanya ketika saya sepenuhnya memenuhi syarat domain tersebut. Ini meskipun menggunakan opsi tambahan "host-host" DNSMasq, yang seharusnya mengaktifkan fungsi yang tepat ini.

Inilah dnsmasq.conf saya:

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 dan astatichostname adalah placeholder untuk nama real-deal yang saya gunakan. Jaringan saya menggunakan 10.77.0.0/16; router saya ada di 10.77.0.5.)

Hasil:

> 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

Apakah ada hal lain yang bisa menambah-host di DNSMasq?

Craig Walker
sumber

Jawaban:

8

Pertanyaan ini sudah lama, tetapi ini adalah salah satu hasil teratas google untuk masalah ini, dan akhirnya saya menemukan jawabannya.

Masalahnya bukan itu yang expand-hoststerjadi. Dokumentasi tentangnya sangat kabur, tetapi yang expand-hostsdilakukan adalah menambahkan domain ke entri host /etc/hosts, bukan ke dns kueri. Jadi misalnya

/ etc / hosts:

10.77.0.5 astatichostname

dnsmasq.conf:

expand-hosts
domain=example.com

Kemudian permintaan dns untuk astatichostname.example.comakan diselesaikan 10.77.0.5(selain untuk permintaan DNS hanya astatichostname).



Larutan:

Jadi, solusinya adalah untuk mendapatkan dd-wrt untuk membuat entri /etc/hoststanpa domain pada mereka, dan kemudian memberitahu dnsmasq untuk mempertimbangkan entri host tersebut sebagai bagian dari example.comdomain ketika kueri DNS catatan yang memenuhi syarat masuk.
Untuk melakukan ini Anda harus:

  1. Masukkan example.comdomain dalam bidang Nama Domain pada halaman Pengaturan -> Pengaturan Dasar di bawah Pengaturan Opsional .
  2. Kosongkan pengaturan LAN Domain pada halaman Layanan di bawah Server DHCP .
  3. Tambahkan expand-hostske Opsi DNSMasq Tambahan pada halaman Layanan di bawah DNSMasq

Langkah # 1 mengontrol domain=pengaturan yang dimasukkan ke dalam dnsmasq.conffile. Langkah # 2 menghapus domain dari entri yang dimasukkan /etc/hosts. Langkah # 3 mengolah domain ke entri /etc/hostsketika kueri DNS yang sepenuhnya memenuhi syarat masuk.


Saya sangat senang dd-wrt membuat ini bagus dan sederhana ...

Patrick
sumber
2

Berikut ini berfungsi untuk saya pada DD-WRT saya:

expand-hosts
local=/lan/
domain=lan

Saya pikir itu karena Anda melewatkan localpengaturan. Saya juga telah lanmenetapkan sebagai "LAN Domain" saya di GUI.

Jim Hunziker
sumber