感谢您点击我的问题!
我有一台 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
我意识到在服务器端至少会有第二个以太网接口用于转发来自客户端的互联网流量。