我最近使用 Raspberry Pi OS Lite 设置了一个无头 Rasperry Pi。
我设置了 Wireguard 和一些 UFW 规则。
我希望得到的结果是:
- 除通过 wireguard 连接的流量外,所有网络流量均被阻止
- 基本上:vpn 会一直处于打开状态。如果 vpn 没有打开,那么 pi 就不应该与外界通信
这些是我设置的 UFW 设置:
# Reset existing rules to start fresh
sudo ufw reset
# Set default deny policies
sudo ufw default deny incoming
sudo ufw default deny outgoing
# Allow all incoming and outgoing traffic on wg0
sudo ufw allow in on wg0 from any to any
sudo ufw allow out on wg0 from any to any
# Specific allowances (local network and torrent client port)
sudo ufw allow from 192.168.178.0/24
sudo ufw allow to 192.168.178.0/24
sudo ufw allow in 51413/tcp
# Enable UFW
sudo ufw enable
对于 wireguard,我将配置保存为 /etc/wireguard/wg0.conf,使用它看起来很有希望。
- 运行 wireguard 本身是可行的(我检查过
sudo wg show
-> 它显示了 wg0 的界面) - 设置 UFW 规则有效(我已检查
sudo ufw status
)
sudo ufw status
Status: active
To Action From
-- ------ ----
Anywhere on wg0 ALLOW Anywhere
Anywhere ALLOW 192.168.178.0/24
192.168.178.0/24 ALLOW Anywhere
51413/tcp ALLOW Anywhere
Anywhere (v6) on wg0 ALLOW Anywhere (v6)
51413/tcp (v6) ALLOW Anywhere (v6)
Anywhere ALLOW OUT Anywhere on wg0
Anywhere (v6) ALLOW OUT Anywhere (v6) on wg0
然而,我观察到的行为并不完全是我所希望得到的。基本上,pi 无法连接到外部...我错过了什么?
答案1
我设法解决了这个问题。UFW 不是问题,因为配置实际上是正确的。问题出在 VPN 上。
我观察到的情况是,一段时间后就无法连接了。重置所有内容并重新连接 VPN 后,VPN 可以正常工作,但一段时间后,VPN 就会停止工作。
我需要在 wireguard 配置中添加一个“保持活动”参数:
[Peer]
...
PersistentKeepalive=25