感谢您点击我的问题!
我有一台 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 应用程序上,我可以取消选择“阻止非隧道流量”,它会更改AllowedIPs
为0.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 赞助的......)
西洛基