dnsmasq:一個域,半私有,半公有?
我們的內部辦公網路與我們公司的線上業務具有相同的頂級域,例如
ourdomain.com
.對於外部世界,任何公共主機(例如
blog.ourdomain.com
、download.ourdomain.com
、www.ourdomain.com
等)都在我們的域名託管服務商 AWS Route 53 的 DNS 中進行配置。對於辦公室內部網,我們正在執行一個簡單
dnsmasq
的 DHCP 和 DNS(以及 VPN,但這是另一回事);辦公室內部伺服器和台式機(例如具有 DHCP 地址的筆記型電腦)的名稱解析工作正常。該dnsmasq
實例不向公眾提供。到目前為止,我們
dnsmasq
通過維護一個文件來介紹我們的公共伺服器,該文件由一行/etc/hosts.dnsmasq
包含在 main中,類似於 wellknown ,並且具有以下範例內容:/etc/dnsmasq.conf``addn-hosts=/etc/hosts.dnsmasq``/etc/hosts
12.34.56.78 blog 12.34.56.79 download 12.34.56.80 www
我們手動維護這個文件,這變得很麻煩。我們想擺脫它並改進我們的
dnsmasq
設置,因此它執行以下操作:
- 如果
dnsmasq
有“自己的”DNS 資訊(例如與主機名關聯的 DHCP 或靜態 IP 地址)用於來自內部辦公網路的查詢,則提供該資訊- 否則,查詢公共 DNS 並將結果轉發回 Intranet 上的詢問者
**問:**這可以用 with
dnsmasq
嗎?它是否需要辦公室網路的子域?(如果可能,我們希望避免)如果是這樣,如何?我有一種感覺,我必須閱讀dnsmasq
文件一百遍;他們很棒,但我可能只是在看解決方案,而不是看到它。另外:據我了解,這樣的設置與裂腦DNS 不同,因為我們沒有使用一個名稱伺服器根據查詢的來源返回不同的響應,而是為同一個域使用公共和私有名稱伺服器。
這是一個常見的設置嗎?如果沒有,當組織為公共和私人存在使用相同的 TLD 時,是否有一種規範的方式來配置其 DNS?
這是常見的設置嗎?
我在 ServerFault 上看到了多個問題,要求您根據需要進行類似的設置,所以我猜這是一個常見的設置。但由於這不太可能,我會說這是管理員的常見設置,他們並不真正了解 DNS 的工作原理。(對不起,我不想冒犯你——也不想冒犯這個論壇上的任何人)。
我已經提供了一個可能的答案,即一個人在此處同時託管內部 DNS 伺服器和外部 DNS 伺服器的問題。但是,此答案使用 BIND 作為 DNS 伺服器,而不是 dnsmasq。
是否可行(使用 dnsmasq)?
如前所述,如果您自己沒有答案,則不可能對給定區域具有權威性並將查詢轉發到不同的名稱伺服器*。*我在另一個問題中提供的答案是一種解決方法。
當組織將同一域用於公共和私人存在時,是否有一種規範的方式來配置其 DNS?
我會說他們要麼在內部使用子域,要麼使用拆分 DNS。需要在內部和外部視圖中的記錄將需要在兩個區域中複製。這可以使用自動化(例如 Ansible)來簡化。