VPN 客户端应该通过 IP 地址 192.144.12.42 连接到我的服务器,并且所有其他互联网请求不应通过 VPN 连接。所以只能调用IP地址192.144.12.42。因此,我安装了一个具有 IPTables 规则的 VPN 服务器:
iptables -t nat -A POSTROUTING -s 10.100.170.0/24 -d 192.144.12.42 -j MASQUERADE
这意味着,VPN IP 地址 10.100.170.0/24 只能呼叫 192.144.12.42。因此,在 VPN 连接之后,像 google.de 这样的其他请求就不再起作用了。这就是为什么我想要进行 VPN 拆分。所以我改变了我的VPN客户端配置:
[Interface]
PrivateKey = ???????????=
Address = 10.100.170.9/24,???:???:???:???::4/64
DNS = 9.9.9.9, 149.112.112.112
[Peer]
PublicKey = ?????????=
PresharedKey = U????????=0=
Endpoint = im.secret.domain:51820
AllowedIPs = 192.144.12.42/32
但只有我的 IP 地址 192.144.12.42 可用,但其他页面不可用(例如 google.com)。你知道为什么吗?
概括:
要求: 添加:PC 位于不同的网络中不192.144.12,PC 通过 LTE 接入互联网,或者位于酒店网络中。我希望 PC 用户能够连接到 Wireguard VPN 服务器(Raspberry Pi2),他在浏览器中输入地址 192.144.12.42,并从 Raspberry PI 2 响应中输入 Http 服务器(在 Raspberry Pi2 上,VPN Wireguard 服务器并安装了 HTTP 服务器)。如果PC用户在浏览器中输入google.com,则不应使用VPN连接(即分离连接)。如果用户在 PC 的浏览器中输入 192.144.12.23,则不会显示任何内容(因此 Raspberry Pi1 不应响应)。
成功实施的内容: PC 用户可以连接到 Wireguard VPN 服务器。如果PC用户在浏览器中输入192.144.12.42,则可以访问HTTP服务器(在Raspberry Pi2上),如果PC用户在浏览器中输入192.144.12.23,则不会显示任何内容(因此Raspberry PI1不会显示任何内容)不回应)。
哪个不起作用: 如果 PC 用户想要在浏览器中调用 google.com ,则不会出现任何内容,因为该调用是通过 VPN 连接进行的,并且他无法解析域 google.com 。如果我断开VPN连接,用户通过PC可以打开google.com页面
答案1
从客户端的 WireGuard 配置中删除此行:
DNS = 9.9.9.9, 149.112.112.112
通常,仅当您需要通过 WireGuard 本身访问 DNS 服务器时,才应在 WireGuard 配置文件中包含 DNS 设置。
酒店网络可能会阻止其自身以外的 DNS 解析器,因此如果您想通过酒店网络使用 DNS,您可能必须使用它通过 DHCP 提供的任何 DNS 解析器。