我该如何修复 wireguard 的域名解析问题?

我该如何修复 wireguard 的域名解析问题?

我已经安装了 Wireguard,并成功连接到我的 VPN 网络,但无法使用 VPN 网络的 DNS 解析域名。我可以 ping 内部节点,并且可以通过 nslookup 获取绑定到域的 IP 地址,但 ping、curl 等无法做到这一点。

我也使用 openvpn,因此使用 openvpn 连接解析域名可以正常工作。

我该如何修复 wireguard 的域名解析问题?

操作系统:Ubuntu 18.10

答案1

从手册页CONFIGURATION部分来看wg-quick,措辞不太明显:

   •      DNS — a comma-separated list of IP (v4 or v6) addresses to be set as the interface's DNS servers, or non-IP hostnames to be set as  the  in‐
          terface's  DNS  search domains. May be specified multiple times. Upon bringing the interface up, this runs `resolvconf -a tun.INTERFACE -m 0
          -x` and upon bringing it down, this runs `resolvconf -d tun.INTERFACE`. If these particular invocations of  resolvconf(8)  are  undesirable,
          the PostUp and PostDown keys below may be used instead.

这表明您可以在文件的部分中包含一个search域以及您的 DNS 服务器条目:[Interface]/etc/wireguard/wg.conf

[Interface]
DNS = 10.10.10.1, localdomain

将 IP 更改10.10.10.1为远程网络中的 DNS 服务器 IP wg,并更新localdomain以反映远程网络中使用的域名wg

例如,如果您有一个[Peer]包含 RFC1918 地址的部分:

[Peer]
AllowedIPs = 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16

myserver然后将发送一个查询10.10.10.1myserver.localdomain (你的远程 DNS 服务器显然需要能够解析该主机)

如果您有多个可以由远程 DNS 服务器解析的域,那么它们也可以附加到DNS =上面的条目中,每个条目用逗号分隔。

所有这些都是在常规主机之外处理的/etc/resolv.conf,并resolvconf在后台使用以添加在wg接口启动/关闭时动态添加/删除的额外 DNS 详细信息。

警告:我不知道(没有测试过)发送查询时使用了什么存在,因此wg如果您有多个活动服务器,您可能会向多个远程 DNS 服务器发送查询,因此您可能会将主机详细信息泄露给该远程 DNS 服务器,这可能是不希望的。

高血压

相关内容