如何让 Ubuntu 通过 PPTP 选择正确的 DNS 路由?

如何让 Ubuntu 通过 PPTP 选择正确的 DNS 路由?

这是我的情况。

我在远程站点设置了一个 Ubuntu 14.04 PPTP 服务器,它运行良好。我可以通过 Linux 和 Windows 远程连接客户端。我还可以顺利通过 ssh 和 RDP 连接到该远程网络上的内部客户端。

我的问题与我的 Ubuntu 14.04 客户端计算机(笔记本电脑)可以连接到 VPN 但无法通过终端或浏览器解析 DNS 名称有关。如果我启动我的 Windows 虚拟机(通过 VirtualBox)并连接到我的 VPN,我可以通过虚拟机顺利解析 DNS 名称。我唯一的猜测是,出于某种原因,Windows 会自动设置正确的路由和 DNS 解析。至于路由的技术细节,我不确定如何在任何操作系统上获取该信息。

在远程 PPTP 服务器上的 pptp-options 文件中。我有以下内容用于正确的 DNS 路由,该路由指向远程网络上的内部服务器。以下是这些设置。

ms-dns 192.168.1.105

我不认为该问题与我的内部 DNS 服务器有关,因为远程网络上的所有客户端都可以很好地解析内部和外部名称的 DNS 名称。此外,我的 Windows 虚拟机在连接时可以很好地解析内部和外部机器。所以我认为这与我的 Ubuntu 14.04 客户端(笔记本电脑)有关。我是否需要在 Ubuntu VPN 连接上配置其他内容以允许正确的名称解析?

此外,当我使用 Ubuntu 连接到 VPN 并用于nslookup解析远程网络上的机器时,我实际上可以正确解析 IP。但是,当我尝试通过浏览器或 ssh 使用其 DNS 名称导航到机器时。它根本无法解析名称。

myuser@mymachine:~$ ssh [email protected]
ssh: Could not resolve hostname mymachine: Name or service not known

答案1

负责系统范围 DNS 解析器的文件是/etc/resolv.conf。当您连接到服务器时,此文件应在客户端上更新 PPTP 服务器上设置的 ms-dns 信息,VPN 客户端负责进行此更改,尽管您可以将其配置为不对 DNS 配置进行任何更改。还请检查您是否可以使用nslookup hostname dns-server

相关内容