我的 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 交换机上运行。