wireguard客户端和openvpn服务器无法遍历数据包

问题描述 投票:0回答:1

你好?我正在设置此配置。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客户端)一起很好地工作。如果有什么好的方法,请给一些建议。

ubuntu iptables openvpn iproute wireguard
1个回答
0
投票
我认为您伪装了错误的界面。不要这样做:

iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE

应该是:

iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE

© www.soinside.com 2019 - 2024. All rights reserved.