VPNnetworkingconfiguration

我正在运行我公司的主服务器,并希望设置一个VPN,以便远程办事处(在不同的国家/地区)可以在同一个networking中。

我想实现以下networking结构:

-------------- -------------- | Remote Net 1 | ------------------------------ | Remote Net 2 | | 192.168.2.X | | | 192.168.3.X | -------------- | -------------- | ----------------- | The Internet | ----------------- | | ----------------- | Local Network | | 192.168.1.X | ----------------- 

我希望它是所有计算机都可见,并且可以通信和使用其他局域网中的networking服务(即,本地networking可以使用远程networking1中的文件服务器,远程networking1上的计算机可以使用本地networking中的文件服务器)

详细信息:所有使用Ubuntu 10.10的客户端和运行Debian Lenny的主服务器最好VPN服务器将是OpenVPN

有人能告诉我怎么去实施这个系统吗?

帮助将不胜感激,谢谢,RayQuang

如果您在每个远程networking上运行一个客户端,并且在服务器configuration中启用了客户端到客户端,则它们可以相互通信。 为了让远程networking中每个网关后面的客户进行通信,您需要通过ccd使用“iroute”。

如果您不打算通过“本地networking”路由所有stream量,则您可能需要每边都有静态路由才能了解其他VPN端点后面的networking。 您可以使用openvpn服务器configuration中的“push”命令来推送路由。

我的目标是首先创build一个基本的服务器configuration,并连接两个远程端。 一旦他们可以与服务器通信,你可以使用iroute(通过ccd)并推送路由,让他们通过vpn服务器(当然还有vpn服务器后面的networking)find对方。

提示:使用udp,使用tun,启动mtu / mssfix / fragment(如果遇到问题,使用–mtu-test运行客户端)。 使用非192.-networking进行vpn通信。

你明显需要在iptables FORWARD链中使用ip_forwarding和ACCEPT规则来工作,但除此之外,我认为这是一个相当简单的设置。

http://openvpn.net/index.php/open-source/documentation/howto.html有很好的例子。

编辑70:就像Harv说的那样,将远程networking1和2直接连接到对方是有意义的。

我认为最简单的方法是获得实际的VPN路由器。 每个办公室都有一个,每个都有自己的静态IP。 两个分支机构将连接到总部。 如果你想得到更多的幻想(和复杂的..)你会让每个VPN路由器连接到对方的VPN路由器..我不知道这将如何工作。

我没有使用OpenVPN,但我曾使用IPSecnetworking到networkingconfiguration来实现类似的设置。 在networking到networking的设置中,客户端也不需要VPN客户端。 对于他们访问其他networking上的主机就像访问本地主机减去延迟。 IPSec端点将作为IPSec路由器进行所有的encryption和解密。

我曾经使用这个设置在印度和美国之间build立IPSec隧道,对我来说工作得非常好。

如果RHEL / CentOS是一个选项,那么设置这将是一件轻而易举的事情。 只要按照指南。 这在Debian / Ubuntu中也是可行的,但是我没有经验。

http://www.centos.org/docs/5/html/5.1/Deployment_Guide/s1-ipsec-net2net.html