DNSMASQ 不應答來自路由子網路的 DNS 查詢

DNSMASQ 不應答來自路由子網路的 DNS 查詢

我有兩個子網路使用兩個 DD-WRT AP 連接在一起 - 遠端 AP 處於客戶端路由模式,因此它有一個單獨的子網,其 IP 為 192.168.2.1/24 和 192.168.0.5/24。本機 AP 處於 AP 模式 DD-WRT DHCP 設定對於遠端 AP 處於轉送模式

我在 IP 192.168.0.2/24 上的第一個子網路中設定了 DNSMASQ,它也是第二個子網路的 DHCP 伺服器 - 這有效,我的遠端客戶端獲得了正確的路由器。 DNSMasq 機器可以ping 第二個子網路上的PC,反之亦然,我也可以從第一個子網路上的PC 到第二個子網路上的PC 進行RDP - 所以在我看來,第一個到第二個子網的大部分通信是在職的

我的問題是 DNSMasq 不會向第二個子網路發送 DNS 回覆 - 它對第一個子網路有效。誰能建議為什麼?

需要注意的一件事是,第二個網路的路由位於網關設備(192.168.0.1 ) 上,但我發現這丟棄了許多資料包- 因此每個第一個子網路設備都添加了第二個子網的本地靜態路由它。

route add 192.168.2.0 mask 255.255.255.0 192.168.0.5

由於我目前的問題,我此時尚未測試 DHCP 分配的路由

這是我所擁有的草圖素描網絡

DNSMASQ 設定

# Configuration file for dnsmasq.
domain-needed
bogus-priv
addn-hosts=/etc/dnsmasq.hosts
# so don't use it if you use eg Kerberos, SIP, XMMP or Google-talk. This option only affects forwarding, SRV records originating for dnsmasq (via srv-host= lines) are not
# suppressed by it.
filterwin2k

dhcp-range=set:house,192.168.0.1,192.168.0.254,infinite
dhcp-range=set:backyard,192.168.2.1,192.168.2.254,infinite

# Change this line if you want dns to get its upstream servers from somewhere other that /etc/resolv.conf
resolv-file=/var/run/dnsmasq/resolv.conf
# server=61.9.134.49
# server=61.9.133.193 setup the default gateway
dhcp-option=tag:house,option:router,192.168.0.1
dhcp-option=tag:backyard,option:router,192.168.2.1

# option 42?
dhcp-option=option:ntp-server,192.168.0.2
expand-hosts
domain=wilson.lan
dhcp-range=192.168.0.100,192.168.0.150,12h
dhcp-range=192.168.2.100,192.168.2.150,255.255.255.0,12h


# DO NOT Set The route to that network Done on Gateway
#dhcp-option=121,192.168.2.0/24,192.168.0.5
#Send microsoft-specific option to tell windows to release the DHCP lease when it shuts down. Note the "i" flag,
#  to tell dnsmasq to send the value as a four-byte integer - that's what microsoft wants. See
# http://technet2.microsoft.com/WindowsServer/en/library/a70f1bb7-d2d4-49f0-96d6-4b7414ecfaae1033.mspx?mfr=true
dhcp-option=vendor:MSFT,2,1i
# Set the DHCP server to authoritative mode. In this mode it will barge in and take over the lease for any client
# which broadcasts on the network, whether it has a record
# of the lease or not. This avoids long timeouts when a machine wakes up on a new network.
# DO NOT enable this if there's the slightest chance that you might end up
# accidentally configuring a DHCP server for your campus/company accidentally.
# The ISC server uses the same option, and this URL provides more information:
# http://www.isc.org/files/auth.html
dhcp-authoritative
# Log lots of extra information about DHCP transactions.
log-dhcp

答案1

好的,在更好地閱讀手冊後,我需要添加一些內容來覆蓋僅回答本地子網(--local-service)的預設選項,這是一個沒有否定的預設選項,例如我嘗試過

listen-address=192.168.0.2

然而,由於resolve.conf中有一行

nameserver 127.0.0.1

我的更改停止了 DNSMASQ 回答自身的查詢 - 奇怪的是,DNS 伺服器不再能夠解析任何 dns 名稱,而所有其他電腦都成功地將其用作 dns 伺服器。我通過添加以下行來修復此問題

listen-address=192.168.0.2,127.0.0.1

因為我無法找到一個簡單的方法來修復resolveconf正在做的事情

相關內容