无法通过 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

现在,您可以使用 computername.yourcompany.local 访问内部电脑,或者如果您之前添加了后缀,则只需使用 computername,例如 Windows 资源管理器中的 \\computername,或在浏览器中输入 computername:8080 即可获得 8080 上的服务,或者使用远程桌面。

答案2

在 VPN 属性中,您需要在 DNS 中指定服务器。或者编辑 hosts 文件,将 IP 地址与主机名关联起来。

答案3

您的/etc/resolv.conf文件定义了计算机应查找的位置以将主机名解析为 IP 地址。基本问题是默认情况下/etc/resolv.conf运行时不会更新。openvpn

以下是修复该问题需要采取的措施。

1.) 将以下内容附加到server.conf您的 OpenVPN 服务器计算机(通常位于/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

相关内容