在OpenVPN中configuration路由

可能重复:
在OpenVPN中configuration路由

我想弄清楚如何在OpenVPN上设置路由。

我在客户端(OS X Snow Leopard)和服务器(OS X Leopard Server)之间有成功的连接,并且每个都可以ping另一个。 但是,我希望连接的客户端能够访问networking上的其他机器。

这是我的networking布局。 在服务器端有一个Verizon Fios路由器,它有一个公共的dynamicIP地址(我通过DynDNS.org知道)和一个内部地址10.50.60.1。 路由器在10.50.60.160的DMZ中configuration了一台机器。

这台机器(10.50.60.160)托pipeOpenVPN,而我想要连接的所有其他机器都在10.50.60.xnetworking上。

客户端从不同地点连接(尽pipe我现在正在testing的那个地址已经分配给了我10.1.5.11的地址。

OpenVPNconfiguration为在10.8.0.0networking上工作,并成功地为客户机分配IP地址。 我这样做是因为我读过的东西。 无论如何,我很好的改变了这个工作。 我已经连接了下面的服务器configuration文件,你可以从'push'和ifconfig条目中看到我不太确定我在做什么。 你可以让我知道如何configuration这个,所以一旦VPN连接,我可以ping和访问10.50.60.160和10.50.60.xnetworking上的其他机器?

我的服务器configuration文件如下:

dev tun tls-server ca /etc/openvpn/openvpn2/easy-rsa/2.0/keys/ca.crt cert /etc/openvpn/openvpn2/easy-rsa/2.0/keys/server.crt key /etc/openvpn/openvpn2/easy-rsa/2.0/keys/server.key # This file should be kept secret dh /etc/openvpn/openvpn2/easy-rsa/2.0/keys/dh1024.pem verb 3 comp-lzo keepalive 10 60 ping-timer-rem persist-tun persist-key server 10.8.0.0 255.255.255.0 push "route 10.50.60.0 255.255.255.0" push "ifconfig 10.50.60.0 10.8.0.1" ifconfig 10.8.0.1 10.50.60.0 duplicate-cn max-clients 5 ifconfig-pool-persist /etc/openvpn/ipp.txt 

任何帮助将非常感激。

谢谢

皮特

根据你的描述,这听起来像是一个路由问题。 OpenVPN客户端(在10.8.0.0/24子网上)可以将数据包路由到本地networking(10.50.60.0/24),但本地networking的数据包不知道如何返回到相反的方向(到10.8。 0.0 / 24)。 只是要清楚,这不是一个OpenVPN的问题。

最简单的解决方法是:在10.50.60.0/24子网的默认网关(FIOS路由器,我认为)上添加一条静态路由,将任何去往10.8.0.0/24子网的stream量转发到OpenVPN服务器(10.50.60.160)。 10.50.60.0/24子网上的主机已将其所有非本地stream量(除10.50.60.0/24之外的所有内容)发送到默认网关。 一旦你告诉默认网关它可以通过10.50.60.160到达OpenVPN子网,这些数据包应该开始stream动。

您需要查看FiOS路由器文档,了解如何设置静态路由的具体说明。 通常需要提供3个参数来定义新的静态路由:一个网关(或路由器)的IP地址; 目的networkingIP地址; 和目标networking子网掩码。 在你的情况下:

  • 网关将只是“10.50.60.160”,即OpenVPN服务器的IP地址。
  • 目标networking地址将是OpenVPN子网IP“10.0.0.0 / 24”。
  • 目标networking子网掩码将是“255.255.255.0”。

FiOS路由器的用户界面可能会将目标networking地址和子网掩码放在一起,例如“10.0.0.255.255.255.0”,CIDR表示法为“10.0.0.0/24”。 如果你不能从文档中找出来,如果Verizon的技术支持失败了,我会build议尝试谷歌。

您可以在OpenVPN服务器(10.50.60.160)上通过“tcpdump”会话确认我的诊断结果。 假设10.50.60.160地址位于名为“eth0”的设备上,您可以运行:

 tcpdump -n -e -i eth0 -s0 icmp 

以root权限。 然后,从您的OpenVPN客户端到10.50.60.0/24子网(FIOS路由器10.50.60.1,应该可以正常工作)上的另一个主机启动“ping”会话。 你应该看到来自OpenVPN客户端的ICMP ECHO REQUEST数据包到10.50.60.1(或你select的任何目标),而不是ICMP ECHO REPLY数据包的反向。

如果在安装了“tcpdump”的10.50.60.0/24子网(除了FiOS路由器)上有另一台主机,您可能也想尝试运行同一命令行,同时从您的OpenVPN客户端ping。 如果我是正确的,您将看到客户端的ICMP ECHO REQUEST数据包像以前一样到达,加上一些带有OpenVPN客户端IP和FiOS路由器MAC地址的出站ICMP ECHO REPLY数据包。