無法透過 VPN 解析電腦名稱,只能解析 IP 位址?

無法透過 VPN 解析電腦名稱,只能解析 IP 位址?

當我透過 RDP 連接到客戶端網路上的一台電腦時,網路上有一堆我可以透過名稱存取的 PC(例如 SVN 伺服器、Jenkins 等)。

然而,當我在本機 PC 上透過 VPN 連線時,這些電腦名稱都無法解析,但我可以毫無問題地 ping 通它們的 IP 位址。

這是我需要手動設定的問題還是 VPN 設定的問題?

答案1

我不是 IT 專業人士,但這在我的公司很有效。

在 Windows 10 上,如果您有內部 DNS 伺服器,則應將其新增至 VPN 提供的 DNS 伺服器。在 Windows Server 上,您可以設定具有本機名稱權限的 DNS 伺服器,google 則是您的朋友。

或者,用戶端可以在其 VPN 連線上執行此操作:

  • 開啟控制面板、網路和共用中心、變更適配器設置
  • 右鍵單擊您的 VPN 連線、屬性、網絡
  • 選擇 TCP/IPv4 選項(無論您所在區域的名稱是什麼)
  • 點選屬性、進階...
  • 轉到 DNS 選項卡
  • 新增您的內部 LAN 伺服器 DNS 位址,例如 10.0.10.1
  • 可選:在編輯框中「此連線的 DNS 後綴:」新增 DNS 後綴,例如 yourcompany.local
  • 申請並退出
  • 中斷並重新連接 VPN(如果已連線)

Now, you can access an internal pc with computername.yourcompany.local or, if you added the suffix before, just computername, for instance \\computername in windows explorer, or computername:8080 in the browser for a service on 8080, or with遠端桌面.

答案2

在 VPN 屬性內,您需要在 DNS 中指定伺服器。或編輯主機文件,將 IP 位址與主機名稱關聯起來。

答案3

您的/etc/resolv.conf檔案定義您的電腦應在何處將主機名稱解析為 IP 位址。基本問題是預設/etc/resolv.conf運行時不會更新。openvpn

以下是您需要執行的操作來解決該問題。

1.) 將下列內容附加到server.confOpenVPN 伺服器電腦上的檔案中(通常位於/etc/openvpn/server.conf),以使伺服器連接到用戶端,以將主機名稱轉換為 IP 位址。

push "dhcp-option DNS 192.168.1.1"
push "dhcp-option DOMAIN mylocaldomain.lan"

2.) 在您的客戶端電腦上安裝並使用以下命令resolvconf將標準連結resolv.conf到的版本,以具有能夠修改的功能resolvconfresolv.conf

sudo apt install resolvconf
sudo mv /etc/resolv.conf /etc/resolv.conf.orig
sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf

3.) 將下列內容附加到檔案底部,以便在 OpenVPN 伺服器連線或中斷連線時client.ovpn運作。resolvconf

up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

4.) 每當您運行時,openvpn您都必須使用-script-security 2允許openvpn運行的標誌來執行此操作resolvconf。這是一個呼叫範例

sudo openvpn --script-security 2 --config /path/to/client.ovpn

您可以在此處閱讀上述說明的更詳細版本以及我的(正在運行的)OpenVPN 伺服器的一些範例程式碼:https://steamforge.net/wiki/index.php/How_to_configure_OpenVPN_to_resolve_local_DNS_%26_hostnames

相關內容