WireGuard 完整隧道阻止互联网访问

WireGuard 完整隧道阻止互联网访问

感谢您点击我的问题!

我有一台 R-Pi,并在其上安装了 WireGuard(我没有使用 PiVPN;我试过,但根本不起作用)。我还安装了 PiHole。

我一直在关注PiHole 文档的 WireGuard 指南因为我确信这两项服务可以很好地共存。

一切都按计划进行,无需排除故障......

从表面上看,此配置将我的 DNS 请求路由到 PiHole(正如它应该做的那样),因为如果我将某个域列入黑名单,并在连接到 VPN 后尝试访问该域,则无法访问该域(但如果将其列入白名单,则可以访问该域)。这还允许我在服务器的 LAN 上 ping 设备(更具体地说是在其主以太网的子网上);但奇怪的是,我无法使用主机名 ping 设备...

这是配置服务器端:

[Interface]
Address = 10.100.0.1/24, fd08:4711::1/64
ListenPort = 50009
PrivateKey = <myprivatekey>
PostUp = nft add table ip wireguard; nft add chain ip wireguard wireguard_chain {type nat hook postrouting priority src>
PostDown = nft delete table ip wireguard; nft delete table ip6 wireguard
# apparently according to the PiHole docs, I must use nft and not iptables for Raspbian 11.

[Peer] #mypc
PublicKey = <mypublickey>
PresharedKey = <presharedkey>
AllowedIPs = 10.100.0.2/32, fd08:4711::2/128

现在是客户端:

[Interface]
PrivateKey = <myprivatekey>
Address = 10.100.0.2/32, fd08:4711::2/128
DNS = 10.100.0.1 #ip of server wich has PiHole on it

[Peer]
PublicKey = <mypublickey>
PresharedKey = <mypresharedkey>
AllowedIPs = 10.100.0.1/32, fd08:4711::1/128, 192.168.1.0/24
Endpoint = <mydomainname>:50009
PersistentKeepalive = 25

所以一切都很好(考虑到我本来要写我有 DNS 泄漏,但刚刚进行了测试,看起来没问题!)。这里只有一个问题(不是主要问题):我的 DNS 请求是否使用此系统加密?

但是现在我想要一个完整的隧道,我的所有流量都通过我的服务器,这样我的 IP 就被屏蔽了,我就可以安全地访问一些 SMB 共享(我已经配置了 SFTP,但万一它坏了,我想要一种备用方式来访问我的文件)。

很多教程(包括 PiHole 文档)都说要设置AllowedIPs = 0.0.0.0/0, ::/0...我照做了,但是...我立即失去了互联网连接...可能是防火墙问题吗?如果是,在哪里:服务器端还是客户端?

如果我 nslookup 任何域,它都无法解析,即使我的服务器(上面有 PiHole)被指定为隧道的 DNS 服务器……

这是服务器配置(无变化):

[Interface]
Address = 10.100.0.1/24, fd08:4711::1/64
ListenPort = 50009
PrivateKey = <myprivatekey>
PostUp = nft add table ip wireguard; nft add chain ip wireguard wireguard_chain {type nat hook postrouting priority src>
PostDown = nft delete table ip wireguard; nft delete table ip6 wireguard
# apparently according to the PiHole docs, I must use nft and not iptables for Raspbian 11.

[Peer] #mypc
PublicKey = <mypublickey>
PresharedKey = <presharedkey>
AllowedIPs = 10.100.0.2/32, fd08:4711::2/128

这是客户端:

[Interface]
PrivateKey = <myprivatekey>
Address = 10.100.0.2/32, fd08:4711::2/128
DNS = 10.100.0.1

[Peer]
PublicKey = <mypublickey>
PresharedKey = <mypresharedkey>
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = <mydomainname>:50009
PersistentKeepalive = 25

在 WireGuard Windows 应用程序上,我可以取消选择“阻止非隧道流量”,它会更改AllowedIPs0.0.0.0/1, 128.0.0.0/1, ::/1, 8000::/1。不会改变或帮助任何东西,但我只是想提一下……

我真的不明白,已经为此挣扎了 5 个小时了……非常绝望……

感谢您读到这里!

西洛基

答案1

是的,只是为了把事情说清楚:这不是解决方案,而是绕过。

我最终决定使用这个 GitHub 脚本:https://github.com/angristan/wireguard-install

我认为问题与 resolv.conf 有关,但我不确定。pihole 文档实际上在故障排除部分表达了该问题: 照片

所以如果有人遇到和我一样的问题,请随意使用该链接(我不是由@angristan 赞助的......)

西洛基

相关内容