Wireguard从客户端通过服务器转发到客户端网络

时间:2019-12-20 19:45:35

标签: vpn wireguard

所以我有一个本地计算机,我想通过Wireguard连接到远程网络。我无法打开远程网络中的端口,因此我添加了一个位于两者之间的服务器。

我可以通过笔记本电脑以及从入口点到远程网络的vpn ping服务器。 我可以从服务器ping笔记本电脑和入口点

我无法从笔记本电脑ping入口点。
我无法从笔记本电脑ping远程网络。

配置:
服务器

 [Interface]
Address = 10.5.0.1/24
ListenPort = 1194
PrivateKey = <PrivateKey>    

[Peer]
PublicKey = <PublicKey>
AllowedIPs = 10.5.0.2/32,192.168.1.200/16

[Peer] # Laptop
PublicKey = <PublicKey>
AllowedIPs = 10.5.0.200/32

笔记本电脑:

[Interface]
PrivateKey = <PrivateKey>
Address = 10.5.0.200/32

[Peer]
PublicKey = <PublicKey>
Endpoint = <ServerIP>:1194
AllowedIPs = 10.5.0.0/16,192.168.0.0/16
PersistentKeepalive = 15

指向远程网络的入口点:

[Interface]
PrivateKey = <PrivateKey>
Address = 10.5.0.2/32

[Peer]
PublicKey = <PublicKey>
Endpoint = <ServerIP>:1194
AllowedIPs = 10.5.0.0/16
PersistentKeepalive = 15

我还要在服务器以及入口点上都设置sysctl -w net.ipv4.ip_forward = 1

1 个答案:

答案 0 :(得分:0)

解决方案正在添加

PostUp   = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT;
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT;

到服务器的[接口]

并添加

PostUp = iptables -t nat -A POSTROUTING -o eno2 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o eno2 -j MASQUERADE

进入入口的[接口]