站点到站点vpn(site to site vpn)的vpnserver配置
如果您还没有安装openvpn,想知道为什么用openvpn进行site to site vpn部署,请阅读:《如何似乎用openvpn进行部署site to site vpn》
安装openvpn后,配置server端Openvpn 设置
服务端openvpn 机器是vpn的心脏。 在路由routed模式下, 所有的客户端都会连接Openvpn server,而且所有客户端的通讯(如果client-to-client 选项开启的话) 都是通过Openvpn server进行路由的。 所以对于opeenvpn server machine 最好找一个专门的机器。
客户端需要将服务器端的ip写死在配置文件里。 所以最好的办法当然是有一个域名指向您的vpn服务器地址。 如果您服务器的WAN 连接的ip经常会变,比如adsl等,您可以用免费的domain names 服务,例如花生壳,TZO 或者DynDNS 等。
首先,我们创建一个文件夹,专门放Openvpn的配置等信息。
~ # mkdir /etc/openvpn
~ # mkdir /etc/openvpn/certs /etc/openvpn/keys
接下来, 拷贝服务器的证书(我们上一次安装openvpn时创建的server.key)和CA 证书(ca.crt) 放入到/etc/openvpn/keys 。 key必须保持安全性,所以我们改变一下访问权限。
~ # chmod -R 600 /etc/openvpn/keys/
接下来,我们需要创建一个给对称密钥交换和同意的diffie-hellman 参数。 创建后, 同样拷贝该 dh 参数文件放到 /etc/openvpn 目录里。
~ $ openssl dhparam -out dh2048.pem 2048
openvpn一个最好的功能是可以“下推”给特定客户端指定的配置。这样可以允许你部署一个非常强大和灵活的vpn 网络 有不同类型的客户端。(因为针对不同客户端下推了不同的配置项)
然后我们设置一个客户端的配置文件夹在openvpn server端。 当又一个客户端连接vpn server时,服务器查找客户端的配置文件,并找到和客户端证书一样名字的配置文件,然后执行里面的参数设定。
创建 /etc/openvpn/client-configs ,然后在该文件夹下一个remote_office 文件 (remote_office in this example).
remote_office 是客户端网络的名字。
~ # mkdir /etc/openvpn/client-configs
~ # touch /etc/openvpn/client-configs/remote_office
打开remote_office , 写下如下的配置内容。
iroute 192.168.1.0 255.255.255.0
push "route 10.1.1.0 255.255.255.0 vpn_gateway"
这个iroute 表示设定一个内部路由策略在openvpn server上(即internal route)。 这样 server知道将192.168.1.0/24的流量都route到remote_office 客户端上。如下2句,现在理解的还不够透彻。
The iroute directive sets an internal route on the OpenVPN server, so it knows to route all traffic bound for the network 192.168.1.0/24 through the remote_office client.
Pushing the route 10.1.1.0/24 allows the client advertises the server’s network to the client.
Note: Another handy option to push to clients is the redirect-gateway option. This redirects all the client’s traffic though the VPN which can be a great way to surf the Internet safely from an insecure wireless hot spot.
最后,我们需要编辑 openvpn config 文件。 一个实例的配置文件,在 ~/openvpn-2.0.9/sample-config-files。
可以进行参考。
注意: 如果你计划使用多个multiple clients 连接到Openvpn server, 你可以允许客户端们看见对方(客户端能看见客户端), 即启用 “client-to-client”选项。 否则, clients只能看见server。
配置服务器端router(路由器)
为了让连接从server-side 网络通过Openvpn路由到客户端网络上, 在服务端网络的机器需要知道如何能到达客户端。所以我们在server端的路由器上加入路由策略: 允许所有到192.168.1.0/24 的,全部路由到 10.1.1.2 上。
在DGL-4300 路由骑上上,可以在 高级-》路由 里添加该路由策略。
现在我们就可以启动openvpn server服务了。
~ # openvpn --config /etc/openvpn/server.conf
original: http://www.smallnetbuilder.com/security/security-howto/30353-how-to-set-up-a-site-to-site-vpn-with-openvpn?showall=&start=2
此篇文章已被阅读3917 次