你好?我正在设置此配置。Wireguard服务器(192.168.0.1)PROVIDER / VPS Wireguard客户端(192.168.0.2)-ENS3(10.0.0.2)以太网-openvpn服务器(10.1.0.0/24,tun0 10.1.0.1)因此,openvpn客户端通过VPS的wg0连接到Internet。
ens3 inet 10.0.0.2 netmask 255.255.255.0 broadcast 10.0.0.255
tun0 inet 10.1.0.1 netmask 255.255.255.0 destination 10.1.0.1
wg0 inet 192.168.0.2 netmask 255.255.255.255 destination 192.168.0.2
拓扑子网服务器10.1.0.0 255.255.255.0推送“重定向网关自动本地旁路-dhcp”推送“ dhcp-option DNS 1.1.1.1”
[Interface]
PrivateKey = [privatekey]
DNS = 1.1.1.1
Address = 192.168.0.2/32
PostUp = ip route add WIREGUARD_SERVER_NET/24 via 10.0.0.1 dev ens3;
PostDown = ip route del WIREGUARD_SERVER_NET/24 via 10.0.0.1 dev ens3;
[Peer]
PublicKey = [publickey]
AllowedIPs = 192.168.0.1/32 #GW
Endpoint = WIREGUARD_SERVER:port
root @ VPS:〜#IP路由显示默认通过10.0.0.1 dev ens3 proto dhcp src 10.0.0.2 metric 10010.0.0.0/24 dev ens3原型内核作用域链接src 10.0.0.210.1.0.0/24 dev tun0作用域链接src 10.1.0.1WIREGUARD_SERVER_NET / 24通过10.0.0.1 dev ens3192.168.0.1 dev wg0作用域链接
root@VPS:~# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=1.724 ms
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=1.792 ms
root @ VPS:〜#ip路由添加8.8.8.8 dev wg0root @ VPS:〜#ping 8.8.8.8PING 8.8.8.8(8.8.8.8):56个数据字节ping:发送数据包:必需的密钥不可用
*我不想相信,但是将8.8.8.8插入[Peer]的AllowedIP中,ping将正常运行。
lds quit Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. 192.168.0.1 0.0% 7 1.7 1.7 1.7 1.8 0.1
5. ???
6. dns.google 0.0% 6 28.9 28.9 28.8 29.3 0.2
我尝试过:
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.conf.{all}.rp_filter=0
#iptables -t nat -A POSTROUTING -j NETMAP -s 10.1.0.0/24 --to 192.168.0.2
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
iptables -A FORWARD -i wg0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o wg0 -j ACCEPT
echo "201 cf" >> /etc/iproute2/rt_tables
ip rule add from 10.1.0.0/24 lookup cf
ip route add default dev wg0 table cf
ip route add 10.1.0.0/24 dev tun0 table cf
但是,数据包不会从10.1.0.1通过192.168.0.1或192.168.0.2进入互联网。但是ping从openvpn客户端转到192.168.0.1。Wireguard客户端之所以不是0.0.0.0的原因是因为外部连接是VPS,所以失去了外部连接。iproute2与openvpn客户端(而不是此Wireguard客户端)一起很好地工作。如果有什么好的方法,请给一些建议。
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
应该是:
iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE