
如何設定可以並行向多個名稱伺服器發送查詢的本機 DNS 解析器?
為什麼我需要它:
- 1.1.1.1或8.8.8.8的可靠性不是很好。 (觀察到的 1.1.1.1 上週停機或不穩定時間的小時數)
- 該機器託管 https/socks5 代理,因此名稱查找至關重要且非常頻繁。
如果一台名稱伺服器不提供服務,則首選並行查找來減少延遲。
Linux機器是ubuntu伺服器22.04。
https/socks5 代理服務無法處理多個 DNS 伺服器,因此本機解析器必須處理它的平行或後備查找。
答案1
根據文檔,這可以使用 網域解析。
要使用的參數是:
--all-servers
預設情況下,當 dnsmasq 有多個可用上游伺服器時,它將只向一台伺服器傳送查詢。設定此標誌會強制 dnsmasq 將所有查詢傳送到所有可用伺服器。首先應答的伺服器的應答將傳回給原始請求者。
/etc/default/dnsmasq
您可以透過編輯並新增至 DNSMASQ_OPTS 來實現此目的,–all-servers
如下所示:
DNSMASQ_OPTS="--all-servers"
參考 :
- 使用 dnsmasq –all-servers 讓 DNS 飛起來
- 使用 dnsmasq 進行平行 DNS 查找 (archive.org)
答案2
DNSMASQ 本身無法做到這一點,但我看到 Pihole(在幕後使用 DNSMASQ)與 Unbound 一起使用,為您提供了一個遞歸 DNS 伺服器。這意味著您的伺服器將直接詢問 TLD 伺服器並完全跳過 Google/Cloudflare。