Mein dnsmasq ist konfiguriert:
- Auf dem Host 'rtfm.lan'
- Domain 'lan'
- Es gibt einige DHCP-Voreinstellungen, die Hostnamen enthalten
Alle über DHCP registrierten '* .lan'-Hosts lösen sich einwandfrei auf: dnsmasq weiß, welche IPs welchen Hostnamen zugewiesen sind. 'Rtfm.lan' wird jedoch aus / etc / hosts gelesen und in 127.0.0.1 aufgelöst.
Ich kann verhindern, dass dnsmasq / etc / hosts liest, und manuell eine Adresse hinzufügen:
no-hosts
address=/rtfm.lan/192.168.1.2
Dies ist jedoch nicht flexibel: Wenn ich eines Tages beschließe, meine IP zu ändern, muss ich sie auch in der dnsmasq.conf ändern.
Wie kann ich dnsmasq anweisen, den lokalen Hostnamen mit seiner tatsächlichen IP zu verwenden?
Nur für den Fall ... hier ist meine DNSmasq-Konfiguration:
# Never forward plain names (without a dot or domain part)
domain-needed
# Never forward addresses in the non-routed address spaces.
bogus-priv
# Read resolv.conf serially
strict-order
#==========[ NAMESERVER ]==========#
# Cache size
cache-size=4096
# Don't read /etc/hosts
no-hosts
# Read additional hosts-file (not only /etc/hosts) to add entries into DNS
addn-hosts=/etc/hosts-dnsmasq
# Auto-append <domain> to simple entries in hosts-file
expand-hosts
#=== HOSTNAME OVERRIDES
address=/localhost/127.0.0.1 # *.localhost => 127.0.0.1
#==========[ DHCP ]==========#
# Enable for the local network?
dhcp-authoritative
# Tell MS Windows to release a lease on shutdown
dhcp-option=vendor:MSFT,2,1i
#=== DHCP
# Domain name
domain=lan
# DNS-resolve hosts in these domains ONLY from /etc/hosts && DHCP leases
local=/lan/
# DHCP range & lease time
dhcp-range=192.168.1.70,192.168.1.89,24h
# Default route
dhcp-option=3,192.168.1.1
#=== FIXED LEASES
# LAN MY HOSTS
dhcp-host=00:23:54:5d:27:fa, rtfm.lan, 192.168.1.2
dhcp-host=00:23:54:5d:27:fb, rtfm.lan, 192.168.1.2
dhcp-host=c8:0a:a9:45:f1:03, 00:1e:64:9e:e9:5e, wtf.lan, 192.168.1.3
dnsmasq kann seinen eigenen Hostnamen auflösen, indem das Lesen von / etc / hosts deaktiviert und eine andere Konfigurationsdatei zum Lesen der Hostnamen einschließlich sich selbst konfiguriert wird.
dnsmasq-Konfiguration (/etc/dnsmaq.conf):
Konfigurieren Sie in / etc / dnsmasq_hosts den eigenen Hostnamenpunkt auf die IP-Adresse, die Sie benötigen (sowie andere Hostnamen im lokalen LAN).
quelle