Dnsmasq saya sudah dikonfigurasi:
- Di host 'rtfm.lan'
- Domain 'lan'
- Ada beberapa preset DHCP yang menyertakan nama host
Semua '* .lan' host yang terdaftar melalui DHCP dapat mengatasi dengan baik: dnsmasq mengetahui IP mana yang ditugaskan untuk nama host mana. Namun, 'rtfm.lan' dibaca dari / etc / hosts dan diselesaikan menjadi 127.0.0.1.
Saya dapat mencegah dnsmasq dari membaca / etc / hosts dan menambahkan alamat secara manual:
no-hosts
address=/rtfm.lan/192.168.1.2
Tapi ini tidak fleksibel: jika suatu hari saya memutuskan untuk mengubah IP saya - saya juga harus mengubahnya di dnsmasq.conf.
Bagaimana saya bisa memberitahu dnsmasq untuk menggunakan nama host-lokal dengan IP asli?
Untuk berjaga-jaga .. inilah konfigurasi DNSmasq saya:
# 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 dapat menyelesaikan nama hostnya sendiri dengan menonaktifkan membaca dari / etc / hosts dan mengkonfigurasi file konfigurasi lain untuk membaca nama host termasuk dirinya sendiri.
konfigurasi dnsmasq (/etc/dnsmaq.conf):
Di / etc / dnsmasq_hosts, konfigurasikan titik hostname sendiri ke alamat ip yang dibutuhkan (juga nama host lainnya di lan lokal).
sumber