DD-WRT: DNSMasq розширення-хости не працюють


12

У мене є маршрутизатор Linksys, на якому працює DD-WRT (Прошивка: DD-WRT v24-sp2 (09/08/09) mini). Я успішно вирішував імена DNS для моїх систем, призначених DHCP, але лише тоді, коли я цілком кваліфікую ці домени. Це незважаючи на використання додаткової опції DNSMasq «розгорнути-хости», яка повинна активувати цю точну функцію.

Ось мій 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 та astatichostname є заповнювачами імен реальних угод, якими я користуюся. Моя мережа використовує 10.77.0.0/16; мій маршрутизатор працює на 10.77.0.5.)

Результати:

> 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

Чи є ще щось, що могло б активувати розширення-хост у DNSMasq?

Відповіді:


8

Це питання давнє, але це один із найкращих результатів google для проблеми, і я, нарешті, розібрався.

Проблема в тому, що це не те, що expand-hostsробить. Документація на ньому дуже нечітка, але те, expand-hostsщо потрібно, додає домен для розміщення записів /etc/hosts, а не dns-запитів. Так, наприклад

/ і т.д. / хости:

10.77.0.5 astatichostname

dnsmasq.conf:

expand-hosts
domain=example.com

Тоді dns-запити до astatichostname.example.comвирішуватимуться 10.77.0.5(крім DNS-запитів просто astatichostname).



Рішення:

Таким чином, рішення полягає в тому, щоб отримати dd-wrt для створення записів /etc/hostsбез домену на них, а потім сказати dnsmasq розглянути ці хост-записи як частину example.comдомену, коли надходить повністю кваліфікований запит DNS-запису.
Для цього вам повинен:

  1. Помістіть example.comдомен у поле Ім'я домену на сторінці Налаштування -> Основна настройка у розділі Необов’язкові налаштування .
  2. Опустіть налаштування домену LAN на сторінці Сервіси під сервером DHCP .
  3. Додати expand-hostsв Додаткові параметри Dnsmasq на послуги сторінки під Dnsmasq

Крок №1 контролює domain=налаштування, що надходять у dnsmasq.confфайл. Крок №2 видаляє домен із записів, які додаються /etc/hosts. Крок №3 прив'язує домен до записів, /etc/hostsколи надходить повністю кваліфікований запит DNS.


Я так радий, що dd-wrt зробив це приємно і просто ...


2

На моєму DD-WRT працює наступне:

expand-hosts
local=/lan/
domain=lan

Я думаю, це тому, що ти пропускаєш localналаштування. Я також lanвстановив свій "домен LAN" в графічному інтерфейсі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.