OpenVPN客户端无法到达服务器局域网上的盒子


3

我似乎无法弄清楚。该服务器在具有专用网络的VPS上运行。我需要通过OpenVPN服务器从客户端访问同一数据中心上的另一个VPS。服务器的LAN IP是10.128.182.211,需要访问的框是10。我可以从客户端ping服务器的LAN。我正在推动路线,并且可以在客户端中看到它:

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.8.0.5        128.0.0.0       UG    0      0        0 tun0
0.0.0.0         192.168.2.1     0.0.0.0         UG    303    0        0 wlan0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
128.0.0.0       10.8.0.5        128.0.0.0       UG    0      0        0 tun
192.168.2.0     0.0.0.0         255.255.255.0   U     303    0        0 wlan0
192.168.14.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

我已经在服务器上尝试了以下两个规则:

iptables -A FORWARD -i tun0 -o ens4v1 -j ACCEPT
iptables -A FORWARD -i ens4v1 -o tun0 -j ACCEPT

但是仍然没有。我目前通过VPN路由所有客户端的流量,并且IP转发已启用并正常工作。

更新

想通了..真的很明显。就像我用来上网的规则一样,我需要一个MASQUERADE规则。

-A POSTROUTING -o ens3 -j MASQUERADE
-A POSTROUTING -o ens4v1 -j MASQUERADE

是什么/etc/network/interfaces样子的?
2014年

您可以将UPDATE作为答案发布吗?
dotvotdot 2016年

Answers:


1

我需要MASQUERADE规则

使用MASQUERADE是最简单的方法,但是您也可以通过将到VPN的路由添加到所有LAN机器来设置路由。

请参阅:http : //openvpn.net/index.php/open-source/documentation/howto.html#scope

服务器在VPS上运行

某些VPS无法执行MASQUERADE,因此您可以这样做:

iptables -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 12.34.56.78

--to-source选项将是输出接口的地址

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.