為VPN用戶配置單獨的DNS伺服器?

為VPN用戶配置單獨的DNS伺服器?

我已在 Windows 7 電腦上設定了 VPN。

目前W7盒子設定為使用路由器作為DNS伺服器,這很好,但我想說的是:

任何透過 VPN 連線的使用者都可以使用這些 DNS 伺服器。

這可能嗎,還是必須在每個客戶端上設定?

答案1

我不使用 Windows 7,但 Windows 7 家用版不太可能支援這種等級的控制。 Windows Server 版本可以。

如果 Windows 無法執行此操作,以下是一些可能的解決方案:

  1. 讓您的路由器成為 VPN 伺服器,並用它來提供 DNS。大多數路由器使用 Dnsmasq 作為 DHCP + DNS 伺服器,它支援你想做的事情。它可以在 DHCP 階段分發不同的 DNS 伺服器,也可以根據 LAN IP 範圍或請求的網域將 DNS 請求轉送到不同的 DNS 伺服器。如果您的路由器不允許您在此類層級配置 Dnsmasq 的 DHCP/DNS 設置,您可以在許多路由器上安裝自訂韌體(例如 DD-WRT、Tomato),這將允許您添加原始 Dnsmasq 選項。從網路角度來看,這是首選選項,因為 VPN 伺服器確實應該位於邊緣,而 dnsmasq 則很可靠。

  2. 在路由器上使用 Dnsmasq 根據來源 IP 轉送 DNS 請求,但保留 Windows 7 桌面作為 VPN 伺服器。在 DNS 解析方面與#1 相同:您的 VPN 用戶端和桌面將使用相同的 DNS 伺服器(路由器),但路由器會根據來源 IP 將 DNS 請求轉送到不同的伺服器。但只有當 VPN->LAN 是路由或橋接而不是由 Win7 進行 NAT 時,此功能才有效,否則路由器將看到與 Windows 7 桌面具有相同來源 IP 的 VPN 用戶端,並且無法單獨轉送 DNS。

  3. 如果您的路由器不允許您編輯 dnsmasq 設定也不支援自訂韌體:在 Windows 7 電腦上安裝支援多重轉送的 DNS 伺服器軟體,編輯 Windows 7 電腦的 TCP/IP 設定以僅指向此 DNS 伺服器(即本機主機127.0.0.1,或虛擬機器的IP(如果在虛擬機器中執行dnsmasq)。然後讓這個DNS伺服器軟體根據來源IP將DNS請求轉送到不同的DNS伺服器。

https://stackoverflow.com/questions/7709744/is-there-something-like-dnsmasq-for-windows有關 Windows DNS 伺服器軟體的一些建議,或者您可以執行一個小型 Linux VM 並在其中執行 dnsmasq。

我個人在路由器上運行Tomato,並根據請求的網域將DNS請求轉發到不同的DNS伺服器。一些有用的連結:

番茄模組列表:http://www.linksysinfo.org/index.php?threads/tomato-modifications.26037/

支援的硬體:http://tomatousb.org/doc:build-types

打開WRT:http://openwrt.org

石像鬼韌體:http://www.gargoyle-router.com/


編輯:

針對您希望“使用您的Win7盒子而不讓它推動所有DNS流量”的評論,我認為有幾個問題需要澄清:

  • 我可能是錯的,但我認為您無法使用 Windows 7 內建 VPN 伺服器為 VPN 用戶端指派不同的 DNS 伺服器。除非有註冊表設定可以執行此操作。我嘗試用​​谷歌搜尋但找不到任何東西。也許其他人可以為您提供更多幫助。

  • 如果您希望 VPN 用戶端接收異地 DNS 伺服器,它們將無法解析您網路上的本機主機名,並且只能透過 IP 位址 LAN 資源。您打算如何處理 LAN 資源?您的實際用例是什麼?

  • 來自 VPN 用戶端的 DNS 流量應該最小,而且這不應該是您可能遇到的第一個流量問題。您確定您只關心 DNS 流量,而不是一般流量嗎?您的 VPN 用戶端是否使用 VPN 連線作為預設網關,以便所有流量都透過 VPN 路由,導致您的問題? (我相信您希望在 VPN 用戶端中關閉“使用遠端網路作為預設網關”。)

  • 您似乎不僅想控制 VPN 用戶端接收的 DNS 伺服器(如您最初的問題所示),而是控制 VPN 用戶端如何路由其流量(無論是透過 VPN 還是透過網路連線)。 VPN 用戶端始終可以選擇使用您的本地網路作為所有互聯網流量的預設路由、使用您的 DNS 進行預設解析、廣播流量將始終進入等。管道了。因此,恐怕無論您在 LAN 端做什麼,您都必須手動正確設定 VPN 用戶端。

  • 您可能還需要確保 VPN 用戶端上的連線順序正確設定為先使用網路連線。看 https://serverfault.com/questions/163401/change-the-order-of-dns-lookup-when-connected-in-the-vpn

希望您能找到適合您的解決方案。

相關內容