将数据包从一个VPN路由到另一个VPN

我在OpenSUSE服务器上安装了两个OpenVPN服务器(10.8.0.0和10.9.0.0)。 在一个networking中,每台计算机对其他任何一台计算机都是可见的,但我想这样做是为了使计算机在networking上可见。 我想这样路由数据包:当一个用户(比如说10.8.0.6)在另一个VPN(10.9.0.6)上ping一个地址时,数据包被路由到10.9.0.1,然后到这个合适的计算机VPN。 我如何使用iptables或其他工具来实现? 我在本节末尾尝试了这些命令,但没有任何结果。

DD-WRT项目在它的wiki上有一些OpenVPN示例,它有一个示例configuration,该示例configuration在“ 高级configuration:多路由networking”部分中应该完全符合您的需要。

你要记住的关键部分是在这段摘录中:

由于两者都连接到同一台服务器,因此不能为两个客户端使用相同的端口号,所以我们将为第一个客户端提供端口1999,为第二个客户端提供2000端口。 另外,我们需要告诉Client1如何到达Client2的子网,反之亦然。 这意味着在我们的configuration中包含第二个路由条目。

您最有可能需要添加到现有configuration的是以下内容:

OpenVPNconfiguration为10.8.0.0客户端

 port 2000 # Create routes route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.1 route add -net 10.9.0.0 netmask 255.255.255.0 gw 10.8.0.1 

iptablesconfiguration为10.8.0.0上的客户端

 # Open firewall holes iptables -I INPUT 2 -p udp --dport 2000 -j ACCEPT iptables -I FORWARD -i br0 -o tun0 -j ACCEPT iptables -I FORWARD -i tun0 -o br0 -j ACCEPT 

OpenVPNconfiguration为10.9.0.0客户端

 port 1999 # Create routes route add -net 10.9.0.0 netmask 255.255.255.0 gw 10.9.0.1 route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.9.0.1 

iptablesconfiguration为客户端在10.9.0.0

 # Open firewall holes iptables -I INPUT 2 -p udp --dport 1999 -j ACCEPT iptables -I FORWARD -i br0 -o tun0 -j ACCEPT iptables -I FORWARD -i tun0 -o br0 -j ACCEPT 

OpenVPNconfiguration为服务器

 # Create routes route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.6 route add -net 10.9.0.0 netmask 255.255.255.0 gw 10.9.0.6 

服务器的iptablesconfiguration

 # Open firewall holes for Client1 iptables -I INPUT 2 -p udp --dport 2000 -j ACCEPT iptables -I FORWARD -i br0 -o tun0 -j ACCEPT iptables -I FORWARD -i tun0 -o br0 -j ACCEPT # Open firewall holes for Client2 iptables -I INPUT 2 -p udp --dport 1999 -j ACCEPT iptables -I FORWARD -i br0 -o tun1 -j ACCEPT iptables -I FORWARD -i tun1 -o br0 -j ACCEPT # Allow Forwarding packets between Client1 and Client2 iptables -I FORWARD -i tun0 -o tun1 -j ACCEPT iptables -I FORWARD -i tun1 -o tun0 -j ACCEPT 

请注意,这些说明是用于设置以太网路由,这是更容易设置,可能是你想要的情况下。 但是,您应该查看桥接和路由之间的区别 ,以及如果您认为需要桥接function可以设置以太网桥接的概述。