我有一台安装了 Wireguard 的 Debian 服务器,想通过某种方式从我的手机连接到它,让 Debian 服务器充当手机到互联网的网关。因此,来自手机的所有互联网流量都将通过 WG 隧道传输到 Debian 服务器,然后从那里传输到互联网。
Debian 服务器的 WG 配置:
[Interface]
Address = 10.10.10.1/24
SaveConfig = true
ListenPort = 51194
PrivateKey = ***Debian server***
[Peer]
PublicKey = ***myPhone***
AllowedIPs = 10.10.10.2/32
MyPhone WG 配置:
[Interface]
PrivateKey = ***myPhone***
Address = 10.10.10.2/32
[Peer]
PublicKey = ***Debian server***
Endpoint = xxx.xxx.xxx.xxx:51194
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
我已设置net.ipv4.ip_forward = 1
(/etc/sysctl.conf
并重新启动了服务器)。
我的 Debian 服务器的 iptables 规则是:
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wg0 -j ACCEPT
iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
我可以通过 WG 从我的手机连接到 Debian 服务器并且可以 ping 通它(ping 10.10.10.1
可以工作,另一种方式也可以工作),但是,手机上的互联网无法工作。
我怀疑 iptables 存在问题。有什么想法吗?