在Internet网关上运行的OpenVPN,所有的私人客户端都可以在没有configuration的情况下访问VPN

我们的局域网连接到我们连接到互联网的办公室网关机器(192.168.1.1)。

我已经为此设置了NAT /伪装,没有任何问题。

我们也使用OpenVPN连接到我们的数据中心(OpenVPN服务器在数据中心)。

我没有直接configuration所有的内部客户端,而是使我们的网关服务器成为OpenVPN服务器(10.91.3.1)的客户端(10.91.3.102)

我们在VPN上的networking速度是荒谬的,我不知道在哪里丢失什么。

它正在工作 ,但我猜数据包正在丢失。

互联网模式/路由器 – 192.168.0.1

网关eth1 – 192.168.0.2(到Internet)eth2 – 192.168.1.1(到LAN)tun0 – 10.91.3.102(到VPN)

局域网192.168.1.0/24

在网关机器上…

*nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A POSTROUTING -o tun0 -j SNAT --to-source 10.91.3.102 -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.0.2 COMMIT *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT # accept everything coming from our LAN (eth2) -A INPUT -i eth2 -j ACCEPT # accept everything on the VPN -A INPUT -i tun0 -j ACCEPT # reject anything else -A INPUT -j REJECT --reject-with icmp-host-prohibited # vpn -A FORWARD -i eth2 -o tun0 -j ACCEPT -A FORWARD -i tun0 -o eth2 -j ACCEPT # allow traffic to flow between the Internet (eth1) and our LAN (eth2) -A FORWARD -i eth2 -o eth1 -j ACCEPT -A FORWARD -i eth1 -o eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT 

如果连接build立,它可能不是你的防火墙规则。 检查是否可以从一个网关ping到另一个网关,指定接口。 例如ping -I tun0 192.168.0.1。 试试这两种方法。

很高兴看到OpenVPN服务器和客户端的VPNconfiguration。 有几种可能的解释:

  • 您可能遇到MTU不匹配/兼容性问题。
  • 您的ISP可能会受到stream量整形的影响,具体取决于所使用的端口。
  • 您是否使用代理服务器?
  • 什么是路由规则(检查“IP路由”)?
  • 不同情况下的协议性能会有所不同。 基于UDP的OpenVPN提供了最好的性能。
  • 尝试隧道模式(TUN)与桥接模式(TAP)。 这些在OpenVPN网站上有解释。
  • 尝试closures双方的压缩。
  • 检查你使用的是最新的/同一版本的OpenVPN。

在每个网关一侧使用类似speedtest.net的东西,而不使用VPN。 一旦VPNbuild立,再次从网关到网关测量速度,排除任何一方的局域网故障。

最后但并非最不重要的一点,我想你不希望LAN客户端的互联网访问通过其他网站路由? 如果你只想要站点到站点的stream量,而不是互联网访问,那么OpenVPN客户端应该被configuration为不改变默认网关来发送所有stream量。 路由规则只应该通过VPNredirect为其他站点绑定的stream量。 默认网关保持原来的ISP连接。