通過 VPN 進行動態 DNS 註冊?
在我們的 Windows AD 域中,我們有 2 個 DC,它們也充當我們的 DNS 伺服器,允許客戶端電腦更新其
A records
. 我們有很多外部銷售人員,因此我們的一些筆記型電腦必須長時間離開現場,並使用 Fortinet VPN 客戶端通過我們的(全隧道)SSL VPN 連接。VPN 隧道上的 DNS 工作正常,VPN 客戶端能夠完美地解析本地主機名。問題是通過 VPN 連接的客戶端不會使用其 SSLVPN 適配器 IP 地址更新 DNS 記錄。事實上,他們根本不更新 DNS 伺服器。根據我的研究,我確定客戶端應該在“發生更改時”向 DNS 伺服器發送更新,但是當 SSL VPN 適配器連接並獲取 IP 地址時似乎不會發生這種情況。
當檢測到 SSL VPN 適配器具有 IP 地址時,我曾考慮將 PowerShell 腳本部署到使用 DNSCMD 命令的所有電腦,但該解決方案遠非理想,感覺過於復雜且非常混亂。我希望有一個我無法探勘的更簡單的解決方案。
在 SSLVPN 適配器中,在 TCP/IP 屬性中,DNS,確保
Register this connection's addresses in DNS
實際檢查。通常在 VPN 連接上它不是…
您的客戶端沒有向 DNS 註冊其 IP 地址,原因很簡單,因為它們在連接到 VPN 時未配置。這種行為稱為動態 DNS 註冊,在 Windows 中,是針對每個網路適配器的設置。通過 GUI,您可以在網路適配器
Properties
、Networking
選項卡、TCP/IPProperties
、、選項卡上啟用或禁用此功能Advanced
,DNS
如下所示。幸運的是,可以為所有使用者更正此問題。不幸的是,它並不像應有的那麼簡單——沒有內置的 GPO 可以控制這個特定的設置,這讓這個任務由腳本或手動干預來完成。希望手動干預道路不需要真正的解釋(告訴您的使用者這樣做,和/或為那些不能/不會的人這樣做),但是對於這個問題,有三種方法可能值得一些解釋。
- 將 DDNS 註冊工作解除安裝到您的 DHCP 伺服器。
- 這可能是 Fortinet 上的一個可配置選項(用於向您提供的 DNS 伺服器註冊 DHCP 客戶端)。
- 在客戶端上編寫 DDNS 註冊腳本。
我不是重新發明輪子的人,所以請參閱 Evan Anderson 的回答,其中包括您將使用的腳本,以解決類似的問題。
- 如果您想推出自己的 PowerShell 腳本,您將查看class的
SetDynamicDNSRegistration
方法Win32_NetworkAdapterConfiguration
。我認為通過將此類腳本與登錄或啟動 GPO 相結合可以獲得最佳結果,但也可以以其他或更簡單的方式實現。
- 檢查 VPN 客戶端安裝程序文件以查看這是否是可配置選項。
- 當我在舊工作中遇到類似問題時,使用 Cisco VPN 客戶端,可以通過安裝程序包中的一個簡單配置文件配置 DDNS 註冊,我對其進行了更改以滿足我們的需求,然後將其烘焙到我們所有的筆記型電腦映像中。