各位先進前輩們好!
目前公司遇到一個問題是
我們有自行架設一個Windows DNS_Server
其中有一筆 ,A紀錄
www.test.com 61.xx.xx.xx
www.test.com是我們的服務系統
但因為該服務是用固定IP對外使用,原因是分公司也是使用同一套系統,
當然也有把分公司IP加入該服務前的防火牆白名單,因公司間目前尚未建置VPN
但目前我們想讓 總公司把www.test.com解析為 > 192.168.1.4
希望讓服務少走一點外部節點,同使減少request數量
防火牆可以做到這個功能嗎? DNS轉發?
目前我司使用 Zyxel USG 500 的防火牆
但稍微查了一下 Nebula似乎無法做到該功能 但因為綁定Nebula而無法使用本地設定 滿奇怪的
所以上來詢問各為前輩解法
假如 test.com 是你們公司的網域
那在外部的DNS上會有一筆A紀錄 www 對應 61.xx.xx.xx
如果你要將 www 對應 192.168.1.4
在你們自己內部的DNS上 新增一筆A紀錄 www 對應 192.168.1.4
然後在用戶端設定第一個DNS為內部DNS的IP位置
這樣用戶端DNS第一個回應的就是 192.168.1.4 而不是外部DNS的 61.xx.xx.xx
原來如此!
所以我在內部DNS 新增 www > 192.168.1.4
內部DNS為 192.168.1.5
外部DNS為 220.x.x.x
然後Router DHCP Server
派發DNS : 192.168.1.5,220.x.x.x
這樣子他會優先從192.168.1.5去抓
www > 192.168.1.4
對嗎?
但額外問題..
因為該網域底下我們有一些其他對外服務
假設www.test.com > 192.168.1.4
cmos.test.com > 61.x.x.1
tmos.test.com > 61.x.x.2
我想讓cmos,toms還是走對外IP的話,是不是要在內部DNS額外設定呢?
因為我之前有嘗試過,在內部DNS Server
只針對 Www.test.com 去做對應
而沒有把cmos.test.com等等子網域加上去,
從而造成除了www以外全部都會解析錯誤 他們在192.168.1.5的DNS Server只找到www 而未找到cmos
DNS回應很單純,用戶端指定哪台就是問哪台
指向內部DNS就是問內網,指向外部就是問外網
DNS紀錄查詢也很簡單,有紀錄就回,沒紀錄就是往外部DNS查
要注意的是沒紀錄往外查的是DNS伺服器去查而不是用戶端
cmos要走外部IP,那在內部DNS新增A紀錄
讓cmos對應的是外部IP即可
不要在外部DNS內新增內部IP的A紀錄就好,會有資安疑慮
DNS應該把內部DNS和外部DNS分開,二台DNS各做各的
外部DNS上只有 61.x.x.x 的紀錄
內部DNS上,設定內部 192.168.1.X 的紀錄
PS:如果有托管的雲端服務,比如 Email ,那內部 DNS + 外部DNS,都要針對雲端服務IP,設相同的 FQDN
例:
外部DNS Zone: test.com
A紀錄:
www.test.com ->61.x.x.x
mail.test.com ->211.x.x.x (假定這是托管,非總公司內部主機)
MX紀錄:
test.com -> mail.test.com
內部DNS Zone: test.com
A紀錄:
www.test.com ->192.168.1.4
mail.test.com ->211.x.x.x
MX紀錄:(空的,內部PC不需要MX,只需A紀錄)
去看了一下你說的那個甚麼 Nebula 的 Demo 網站.
防火牆是可以設定 DNS 轉發的.
所以就看你目前DHCP Server派給用戶端的DNS Server是指向內部Windows DNS Server,還是防火牆,再做相對應的設定.
如果用戶端DNS指向防火牆:
(1)在防火牆設定 Domain Zone Forwader, domain:www.test.com, DNS server: 內部 DNS server.
(2)內部 DNS Server設定 DNS Zone: www.test.com, www.test.com 指向 192.168.1.4
如果用戶端DNS指向內部Windows DNS Server:
(1)在內部DNS Server設定 DNS Forwarder到防火牆, 不要設定 www.test.com
(2)在防火牆設定 www.test.com A 紀錄, 指向 192.168.1.4
切記:
如果內部DNS Server只有一台,DHCP server只要派用戶端一個 DNS Server IP 就好.
依上面情境指向防火牆,或是DNS Server.
不要派兩個DNS Server IP,一個指防火牆,一個指內部DNS Server或是外部DNS Server.
(若有內網DNS Server,正確備援設計就是要有兩台內部DNS Server,一台master/一台slave做同步)
我看到管理者最常犯的錯就是,有架內部DNS Server和建內部DNS record.
DHCP就設定派一個內部 DNS Server和一個外部DNS Server.
這樣會發生用戶查內部DNS record,卻跑去問外部DNS Server的問題.
因為DNS client的查詢行為,要看各個作業系統的DNS client查詢演算設計,不是你所想像的單純的一定先查第一台DNS server,再查第二台DNS Server.
參考: 當時 Windows DNS client的複雜演算設計(現在Windows 11也不知道是否還是這樣)
https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd197552(v=ws.10)
你這樣的做法,會導致分公司及外部查詢 www.test.com 時得到 192.168.1.4的 IP。
樓主並沒說內部 Windows DNS server 有對外開放.
所以我的方案是假設 Windows DNS server 是內部 DNS server.
我覺得架設VPN比較方便簡單
分公司也屬於公司啊
以後有其他服務透過VPN也方便.也安全.
而且兩端都VPN
VOIP ,SMB , 內網,ERP啥的都可以用
重點島內網路對企業來說不貴
要以長期需求來看點對點VPN方便很多
以後萬一擴增分公司在加入也很方便