当我激活本地 WireGuard 客户端时,我无法通过浏览器访问互联网。但是,我成功连接到我的 WireGuard 对等端。我使用的是 MacOs 12.6。
这是我的本地 WireGuard 配置文件:
[Interface]
PrivateKey = <private key>
Address = 192.168.220.7/24
DNS = 192.168.100.30
[Peer]
PublicKey = <public key>
PresharedKey = <preshared key>
AllowedIPs = 192.168.100.0/24, 192.168.200.0/24, 192.168.102.0/24, 192.168.103.0/24
Endpoint = <endpoint ip>
据我所知,仅当 IP 地址在“AllowedIPs”下定义的范围内时才应使用 WireGuard 连接。但是,我可能错了。
当我在终端中运行 ifconfig 命令并查找 wireguard 隧道时,它看起来像这样:
utun5: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1420
options=6463<RXCSUM,TXCSUM,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
inet 192.168.220.7 --> 192.168.220.7 netmask 0xffffff00
答案1
据我了解,仅当 IP 地址属于“AllowedIPs”定义的范围时才应使用 WireGuard 连接。
是的,但为了决定IP 地址,必须联系您的 DNS 服务器——这不能依赖于网站的 IP 地址(因为尚不清楚……),因此192.168.100.30
需要联系配置以获取任何地址。
听起来 DNS 服务器当前已关闭(或者您的 IP 地址错误),因此只要您将其用于 DNS,就无法“访问 Internet”。
某些操作系统(例如带有 systemd-resolved 的 Linux)可以根据以下情况从多个 DNS 服务器中进行选择:域名,但据我所知,即使在可用的情况下,WireGuard 也无法正确配置它(它没有选项Domain=
)。
答案2
可以确认 MacOS,只需从界面部分删除 DNS 服务器条目,就可以正常工作。
DNS = 192.168.100.30
我们的想法是有一个有效的 DNS 服务器来解析 DNS->IP,而 wireguard 提供的 DNS 服务器却没有这样做。