Domain-Name-System

Tomato 韌體上的 Dnsmasq 不會從簡單的名稱地址回复

  • April 17, 2020

我希望能夠從簡單的名稱“pos”訪問電腦 192.168.0.3。不是“pos.com”或任何東西。通過下面的設置,我可以 ping dev.pos,但不能 pos。我必須 ping mydomain.pos 才能得到回复。

在番茄中的基本>標識中,我已將域名設置為mydomain.(帶句點)

local-ttl=1
bogus-priv
domain=mydomain
expand-hosts
local=/pos/

address=/pos/192.168.0.3

可能是什麼問題呢?

更新:當我從番茄路由器的“ping 工具”ping 時,我在 ping“pos”時得到正確的響應。只是不是來自任何連接到它的電腦。

更新 0.5:執行 nslookup 並輸入pos.(帶句點)有效;不是沒有。

更新 2:我注意到的另一個問題是我的本地 dns 記憶體在訪問這些 dns 條目時不會更新。所以要測試:

cmd
ipconfig /flushdns
ping google.ca
ipconfig /displaydns
' Notice that there are entries
ipconfig /flushdns
ping dev.pos
ipconfig /displaydns
' Notice that there aren't any entries for dev.pos

進一步研究它,我發現了這個連結。但是,將我的配置更改為匹配並沒有任何幫助。

進入我的乙太網適配器的設置並更改“將這些 DNS 後綴(按順序)添加到“。”修復它。但這感覺很髒。我現在必須在所有連接的電腦和任何沒有更改的電腦上更改此設置必須使用“pos”。

我不能確切地說出為什麼,但使用address=/pos.mydomain/192.168.0.3而不是address=/pos/192.168.0.3工作。

dnsmasq不會自動將域搜尋列表推送到使用 DHCP 獲取 IP 地址的主機。為此需要設置 DHCP 參數。您還應該將路由器的地址推送為 DNS 伺服器。查看 dnsmasq 文件以了解 DHCP 可以發送的一些數據。

  • DHCP 選項 6 是名稱伺服器列表
  • DHCP option 119 是搜尋列表的域名列表

編輯:如果您希望能夠僅通過名稱來引用伺服器,您應該在dnsmasq. (不要使用local,因為這會與 zeroconf 衝突。)一些路由器使用lan, 和localnet是傳統名稱。將此域設置為搜尋列表中的第一個域。

引用自:https://serverfault.com/questions/347679