ubuntu 下 openvpn的配置

时间:11-07-07 栏目:技术 作者:liva 评论:1 点击: 4,512 次

首先,你要确定你的VPS的环境:

验证OpenVZ VPS的TUN/TAP设备已被正确呢。可以用下面命令测试:
#cat /dev/net/tun
如果命令返回信息为:
cat: /dev/net/tun: File descriptor in bad state
恭喜你,你的VPS TUN/TAP已经可以使用。
cat: /dev/net/tun: No such device
或者其它,说明TUN/TAP设备没有被正确配置,请与你的客服继续联系。
另外还是要提醒,要使用VPN路由需要在VPS中配置NAT,比如下面命令:
# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE
如果返回错误,比如:
iptables v1.4.3.2: can’t initialize iptables table `nat’: Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded.
那么说明你的母机变不允许你在VPS中设置NAT,也需要你和客服联系,让他们开通VPS的NAT。其他错误就是OK了。

第二,本机安装OpenVPN

在ubuntu下安装软件就这么简单,一条指令够了。
第三、配置OpenVPN服务器和客户端

1、生成证书

配置证书的过程稍微复杂一点,先拷贝/usr/share/doc/openvpn/examples/easy-rsa/2.0目录到/etc/openvpn目录下或者home目录里。修改目录里面的vars文件中的几个配置项:

请将上面这些变量设置称你所想要的。KEY_COUNTRY使用2个大写字母来表示国家,比如中国代号可以设置成 CN

然后执行如下命令

注意:在进入 Common Name (eg, your name or your server’s hostname) []: 的输入时, 每个证书输入的名字必须不同,以上生成的证书在keys文件夹中,下面配置会用到。

2、配置服务端

拷贝示例的server.conf文件到/etc/openvpn目录,进行修改:

按照下面进行修改:

3、客户端配置修改

windows下客户端的配置过程:

1.安装 OpenVPN GUI For Windows, 到 http://www.openvpn.net/index.php/open-source/downloads.html 下载.
2.依屏幕指示安装openvpn gui.
3.配置 openvpn gui :
安装结束后,进入安装文件夹下的 config 目录, 然后将上面建立的 client.conf 文件从 server 上下载到此文件夹, 并更名为 client.ovpn
同时, 将上面制作的下列证书文件解压到此文件夹.
ca.crt
client1.crt
client1.key
4.然后双击 client.ovpn 即可启动 openvpn, 或者通过 OpenVPN GUI 的控制启动 VPN.
如果双击 client.ovpn 没有反应, 则在任务栏点 OpenVPN GUI 的小图标右键, 选择 edit config, 将内容复制过去再保存. 然后再点右键中的 connect 即可.
(也可以在client.ovpn的右键菜单中选择"Start OpenVPN on this config file"就可以连上了。确认没问题后,启动OpenVPN服务即可。该服务会扫描配置文件目录,为每个配置文件启动一个进程进行相应的连接。)

第四、启动服务器

添加IPTABLES规则:
最好的写法
端口规则

路由规则

OPENVZ的机器请执行下面这条指令

不同的机器,-o eth0 参数可能不一样,具体可输入 ifconfig 查看,搞清 ip所在的网卡号.
同时, 需要将 ip forward 打开. 不要用 echo 1 > /proc/sys/net/ipv4/ip_forward 的方式, 这种方式重启后无效. 先查看一下:
sysctl -a | grep for
#查看结果:
net.ipv4.conf.tun0.mc_forwarding = 0
net.ipv4.conf.tun0.forwarding = 1
net.ipv4.conf.eth0.mc_forwarding = 0
net.ipv4.conf.eth0.forwarding = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.all.forwarding = 1
net.ipv4.ip_forward = 1
如果你的主机上列数值不是为1, 则要将其改成1, 例如:
sysctl -w net.ipv4.ip_forward=1
依此类推.
之后就可以启动服务器了

这样一台openvpn服务器就配置好了。

下面说下各个证书的作用:

Filename Needed By Purpose Secret
ca.crt server + all clients Root CA certificate NO
ca.key key signing machine only Root CA key YES
dh{n}.pem server only Diffie Hellman parameters NO
server.crt server only Server Certificate NO
server.key server only Server Key YES
client1.crt client1 only Client1 Certificate NO
client1.key client1 only Client1 Key YES
client2.crt client2 only Client2 Certificate NO
client2.key client2 only Client2 Key YES
client3.crt client3 only Client3 Certificate NO
client3.key client3 only Client3 Key YES

 

参考文档:

http://a18zhizao.com/y2010/1302_vps-on-the-installation-and-use-openvpn.html

http://www.xiaohui.com/dev/server/20070514-install-openvpn.htm

http://www.linuxfly.org/post/84/

http://www.lenghost.cn/vps/burstnet-vps-openvpn-install/

http://www.black-xstar.com/blog/693.html

http://www.linuxfly.org/post/86/

http://www.shorewall.net/OPENVPN.html

http://openvpn.net/index.php/open-source/documentation/install.html (官方)

http://www.douhua.im/2010/01/06/ubuntu-server-install-openvpn-server/

声明: 本文由( liva )原创编译,转载请保留链接: ubuntu 下 openvpn的配置

ubuntu 下 openvpn的配置:目前有1 条留言

  1. I’ve been browsing online more than 3 hours today, yet I never found any interesting article like yours. It is pretty worth enough for me. In my opinion, if all site owners and bloggers made good content as you did, the internet will be much more useful than ever before.

    2013-08-04 上午 11:17 [回复]

发表评论


购物推荐

赞助商

© 2013 enjoydiy.com. Design by zijiao. 61 queries in 0.437 seconds, using 21.32MB memory