使用 Wireguard 连接时无法解析 LAN 主机名

使用 Wireguard 连接时无法解析 LAN 主机名

我的 LAN 有一个 Wireguard 服务器,我的笔记本电脑从远程位置连接到该服务器。

                                         |                |
                                         |                |
Laptop -> Router (WG client) -> Router -----> (INTERNET) -----> Router -> WG server 
                                         |                |          ∟--> foo
                                         |                |

但是,当使用 Wireguard 隧道时,笔记本电脑无法使用其主机名 ping/ssh 到机器foo,而只能使用其 IP 地址访问它192.168.1.101

% ping foo
ping: cannot resolve foo: Unknown host

% nslookup host foo           
nslookup: couldn't get address for 'foo': not found

% ping 192.168.1.101
PING 192.168.1.101 (192.168.1.101): 56 data bytes
64 bytes from 192.168.1.101: icmp_seq=0 ttl=63 time=27.082 ms

foo从网络上的另一台机器使用其主机名进行访问没有问题。

$ ping foo
PING foo.localdomain (192.168.1.101) 56(84) bytes of data.
64 bytes from foo.localdomain (192.168.1.101): icmp_seq=1 ttl=64 time=0.094 ms


$ nslookup foo
Server:     127.0.0.53
Address:    127.0.0.53#53

Non-authoritative answer:
Name:   foo.localdomain
Address: 192.168.1.101


$ nslookup foo 192.168.1.1
Server:     192.168.1.1
Address:    192.168.1.1#53

Name:   foo.localdomain
Address: 192.168.1.101

我的笔记本电脑使用的 Wireguard 配置文件包含以下行[Interface]

[Interface]
Address = 10.116.51.3/24
DNS = 192.168.1.1, 9.9.9.9, 149.112.112.112

有什么方法可以让使用 Wireguard 隧道的笔记本电脑通过主机名访问 LAN 机器?LAN 在 Unifi Dream Machine 和一些 Unifi 交换机上运行。

相关内容