OpenVPN指南

雅奇MIS的用户一般都是对计算机、网络基础不甚了解的人。好多人因此将自己的应用裸跑在公网上。能解决问题当然不错,因为裸奔则很有可能造成安全性的缺失。

曾经有朋友测试过SoftEther。一个也很不错的软件。但是可惜,这个软件现在也收费了。对于一个不希望使用盗版的人来说,寻找替代是一件必然的事。当然,在最近一段时间玩弄Linux的过程中,越来越觉有熟悉配置相关内容的必要。Linux,即便是非常方便易用的Ubuntu,也缺乏如同Windows一样的Setup then run特性。掌握一些配置方面的知识,特别是网络配置方面的知识对于现阶段的我犹为重要。

本来这篇文章开了个头,现在应该至少写了80%。但是可爱的儿子迷上了FUEL中无拘无束的穿行,还必要打开音箱,让引擎欢愉的叫声充满房间,以致于刚开了头就看着他玩。

从07年又一次接手雅奇MIS以来,网络逐渐淡出了我的生活,而且以前学的也不是那么好,所以最近在尝试配置OpenVPN的过程中就象儿子玩游戏的感觉一样,想到哪就配置到哪里,丝毫没有头绪。这个VPN是周六晚上开始配置,结果周日晚上、周一晚上,一共用了三个枯燥让人昏昏欲睡的夜晚,终于搞定,周一早上又测试了一下,还是很稳健的。

回忆得烦燥,结果正好听到曾轶可兄最近大作<视觉系>。感觉更甚。不过曾氏的作品风格跟我年轻时喜欢的张楚很像,换个声线粗犷一些的女人来唱应该会好一些吧,比如凤凰传奇。

老欧的特点,不管讲什么都是越扯越远。

书归正传,话说一个企业,它不大也不小。公司人虽然少,但是分布在城市的数个地点,并且在另外一个城市也有一个分公司。这样一家公司,按照很多人的想法“信息化建设”应该非常成熟了吧,no,连个毛都没有,因为用不起软件公司来做公司的管理应用系统,只有买了套某软件来设计系统。怎么,老板太扣了?NO,这是家送水的公司,利润不够高,遇到的软件公司都比较狠一点。没办法,人员成本太高。很典型。

软件系统做好了,结构传统,C/S的,没办法。那就数据库开放吧,但是出了问题怎么办呢?好在我们还可以建立VPN。虽然小小的降低效率,至少安全了一点点。

介绍一下配置这个VPN必要的软件:
1. 操作系统Ubuntu Linux Server 9.04
2. 服务器端apt-get安装的OpenVPN
3. 客户端,因为用户软件系统的原因,OpenVPN for Windows,如果看不懂E文,选择Windows Installer右边的链接就可以了。
软件的安装就不说了。缺省安装即可。你安装到别的位置就自行对目录。;)

服务器端设置
[code language=”bash”]
sudo apt-get install openvpn
sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/
cd /etc/openvpn/easy-rsa
[/code]
编辑vars文件,将Export的几个值设置成你想要的。这个修改将让你在后面减少很多输入工作。继续我们的命令行之旅。
[code language=”bash”]
source ./vars
./build-ca
./build-key-server server
./build-dh
[/code]
将生成的文件ca.crt, server.crt, server.key复制到/etc/openvpn/中,将/usr/share/doc/openvpn/examples/sample-config-files/server.config.gz文件解压缩到/etc/openvpn中
[code language=”bash”]
/etc/init.d/openvpn start
[/code]
VPN已经建立好了,如果客户端还想通过这台服务器访问服务器所在的网络,需要建立NAT
NAT的设置可以参照老纪博客的iptables内容
[code language=”bash”]
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT –to-source 你的服务器的ip地址
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A FORWARD -o tun0 -j ACCEPT
[/code]
我只用了第一条就OK了。顺手加到/etc/rc.local中,这样重新起动也无所谓了。

客户端设置
首先在要服务器上生成客户端所需要的key和授权文件,比如为机器client
[code language=”bash”]
cd /etc/openvpn/easy-rsa
source ./vars
./pkitool client
[/code]
将ca.crt/client.crt/client.key复制到client机器的相应目录中。比如缺省安装的openvpn在C:\Program Files\openvpn\config中,将sample-config中的client.opvn复制到刚才那个目录,连接测试吧。

参考资料:
1. Linux路由器配置方法及实例解析
2. openvpn设置
3.

打赏

《OpenVPN指南》有1个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注