Domain-Name-System

dnsmasq:一個域,半私有,半公有?

  • February 20, 2021

我們的內部辦公網路與我們公司的線上業務具有相同的頂級域,例如ourdomain.com.

對於外部世界,任何公共主機(例如blog.ourdomain.comdownload.ourdomain.comwww.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設置,因此它執行以下操作:

  1. 如果dnsmasq有“自己的”DNS 資訊(例如與主機名關聯的 DHCP 或靜態 IP 地址)用於來自內部辦公網路的查詢,則提供該資訊
  2. 否則,查詢公共 DNS 並將結果轉發回 Intranet 上的詢問者

**問:**這可以用 withdnsmasq嗎?它是否需要辦公室網路的子域?(如果可能,我們希望避免)如果是這樣,如何?我有一種感覺,我必須閱讀dnsmasq文件一百遍;他們很棒,但我可能只是在看解決方案,而不是看到它。

另外:據我了解,這樣的設置與裂腦DNS 不同,因為我們沒有使用一個名稱伺服器根據查詢的來源返回不同的響應,而是為同一個域使用公共和私有名稱伺服器。

這是一個常見的設置嗎?如果沒有,當組織為公共和私人存在使用相同的 TLD 時,是否有一種規範的方式來配置其 DNS?

這是常見的設置嗎?

我在 ServerFault 上看到了多個問題,要求您根據需要進行類似的設置,所以我猜這是一個常見的設置。但由於這不太可能,我會說這是管理員的常見設置,他們並不真正了解 DNS 的工作原理。(對不起,我不想冒犯你——也不想冒犯這個論壇上的任何人)。

我已經提供了一個可能的答案,即一個人在此處同時託管內部 DNS 伺服器和外部 DNS 伺服器的問題。但是,此答案使用 BIND 作為 DNS 伺服器,而不是 dnsmasq。

是否可行(使用 dnsmasq)?

如前所述,如果您自己沒有答案,則不可能對給定區域具有權威性並將查詢轉發到不同的名稱伺服器*。*我在另一個問題中提供的答案是一種解決方法。

當組織將同一域用於公共和私人存在時,是否有一種規範的方式來配置其 DNS?

我會說他們要麼在內部使用子域,要麼使用拆分 DNS。需要在內部和外部視圖中的記錄將需要在兩個區域中複製。這可以使用自動化(例如 Ansible)來簡化。

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