Wireguard VPN 连接无法解析本地主机名

Wireguard VPN 连接无法解析本地主机名

我在树莓派上设置了 Wireguard VPN,我可以通过手机上的客户端应用程序连接到它。我可以通过手机访问互联网,并且我确认手机使用的 IP 与树莓派相同,因此 VPN 适用于外部互联网。

但是我的 Pi 上有一个本地网络服务器,我可以使用直接内部 IP(192.168.1.50)、使用 raspberrypi.local 主机名或使用 /etc/hosts 文件中定义的自定义主机在 pi 上访问它。

但是,在电话和 VPN 上,我只能通过内部 IP 访问本地网络服务器:raspberrypi.local 或 /etc/hosts 中定义的任何其他主机名均不起作用。

我该如何解决这个问题?

答案1

我通过安装 Pi-Hole、在那里设置本地主机并将其启用为所有客户端的 DNS 服务器间接解决了这个问题。现在我可以通过 VPN 访问我的家庭网络,使用本地主机名解析 + DNS 级别广告拦截的额外好处。

Pi-Hole 和 Wireguard VPN 相互配合得很好(Pi-Hole 检测到 Wireguard 并提出自行完成所有配置)。

答案2

当我直接连接到 LAN 时,我可以有一个主机名,将其解析为“hostname.local”。

当我通过 wireguard 连接时,我只能通过在主机名后面附加句点(或点)才能到达主机名:即“主机名”。

通过 wireguard 连接时:

ping hostname.local    (doesn't work)
ping hostname.         (works)

答案3

在我的家庭网络上,我的沃达丰路由器负责解析.local(和.broadband)主机名,这在家里是有效的,因为我的设备使用路由器作为其 DNS 服务器。

因此,为了让此功能在我的 Wireguard 客户端上运行,我只需在 Wireguard 设置中手动将 DNS 服务器设置为我的路由器的 IP 地址(DNS 服务器(Android 版)

Android 上的 Wireguard 界面设置截图

rpi使用 和 时,可以 ping 我的 Raspberry Pi(主机名为 )。rpi虽然从我的手机连接时不起作用,但TLD 通常无法在 Android 上正确解析,所以这是意料之中的。rpi.rpi.broadbandrpi.local.local

相关内容