如何使用OpenVPN设置高级networkingconfiguration

我需要build立一个具有两个受保护段的OpenVPNnetworking。

1)开发人员networking,所有开发人员可以互相访问其他机器。 2)支持者和客户两个angular色的支持networking。 优选地,客户端不能发起到支持者的连接,但是支持可以发起到客户端的连接。

build立这个的简单方法是使用两个独立的OpenVPNconfiguration,2个关键基础设施等。

不过,我认为这也应该是可能的,只有一个OpenVPNconfiguration,使支持者和开发人员都只能使用一个证书的两个目的。

我应该如何设置?

(OpenVPN版本2.0.x,openSuse 11.1)

我已经看到一个openvpn部署作为服务器,其中客户端使用预共享密钥和证书进行身份validation,只有一个configuration文件和每个客户端与他的证书

此外,networking间的通信规则可以通过netfilter来解决

我会在本周末尝试安装它,并提出一个howto

@@@@以后编辑

1 – 遵循http://www.openvpn.net/index.php/open-source/documentation/howto.html#pki使用openvpn的内置工具颁发证书

2 – 服务器configuration

local 1.2.3.4 port 1977 proto tcp dev tap-server ca /etc/openvpn/certs/ca.crt cert /etc/openvpn/certs/server.crt key /etc/openvpn/certs/server.key dh /etc/openvpn/certs/dh1024.pem server 172.17.188.0 255.255.255.0 ifconfig-pool-persist /etc/openvpn/var/pool.txt client-to-client keepalive 10 120 #tls-auth /etc/openvpn/certs/ta.key 0 #cipher DES-EDE3-CBC max-clients 10 persist-key persist-tun status /var/log/openvpn/server-status.log log-append /var/log/openvpn/server.log verb 3 mute 10 push "route 10.0.0.56 255.255.255.255" #client-config-dir /etc/openvpn/var/routes 

3 – 在客户端,与ca.crt和用户(key,csr,crt)

 remote 1.2.3.4 client dev tap nobind port 1977 proto tcp-client persist-key persist-tun ping-timer-rem ping-restart 60 ping 10 verb 3 ca ca.crt cert user.crt key user.key 

你可以从这个模式开始有不同的设置,跟在openvpn的例子之后

或者,如果OpenVPN服务器是一个Linux机器,写一些iptables规则来控制数据stream。