BurstNET VPS上搭建OpenVPN
2,552 views 三月 28, 10 by Timothy俺的VPS是基于OpenVZ的,因而不支持PPTP VPN,唯一的办法,是搭建OpenVPN。和PPTP VPN相比,OpenVPN的搭建要稍微麻烦一些。并且服务端和客户端需要生成证书,以及修改配置文件。下面把BurstNET VPS上,Ubuntu系统中搭建OpenVPS的流水账记录一下,供日后参考:
1.前期工作,OpenVPN,需要TUN支持,默认情况下,是没有开启的,需要到后台管理平台中,点击Enable Tun/Tap即可开通。开通后,用命令
1 | cat /dev/net/tun |
如果返回 cat: /dev/net/tun: File descriptor in bad stat,表明已经成功启用TUN支持。
另外,需要iptables_nat模块支持,用命令
1 | iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE |
检查,如果返回iptables: Unknown error 4294967295,表明系统还不支持,需要联系客服开通。
2.安装OpenVPN,这个最简单不过了:
1 | sudo apt-get install openvpn |
安装好后,默认的路径在 /usr/share/openvpn,进入 /usr/share/openvpn/easy-rsa/2.0 目录,用vim修改vars文件,加入自己的信息,这些信息在生成证书的时候会用到,下面是示例:
1 2 3 4 5 | export KEY_COUNTRY="CN" export KEY_PROVINCE="SC" export KEY_CITY="ChengDu" export KEY_ORG="FreedomUnion" export KEY_EMAIL="admin@xiaozhou.net" |
修改好后,保存文件,用命令 . ./var运行,注意两个点之间有个空格。运行后,会设置好变量,接下来按照下面顺序,运行命令,生成证书:
1 2 3 4 | ./build-ca ./build-key-server timothy-vps ./build-key ClientName ./build-dh |
./build-key-server 用来生成服务端证书,./build-key用来生成客户端证书,有几个客户端,就需要生成几个。
生成好后,接下来需要配置服务端配置文件,把/usr/share/openvpn/easy-rsa/2.0/keys目录下所有生成好的证书文件,拷贝到 /etc/openvpn/keys,接下来,编辑服务端配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | cd /etc/openvpn vim server.conf #输入以下内容到配置文件 port 1194 proto tcp dev tun ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/timothy-vps.crt key /etc/openvpn/keys/timothy-vps.key dh /etc/openvpn/keys/dh1024.pem server 10.8.0.0 255.255.255.0 push "redirect-gateway def1" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220" client-to-client keepalive 10 120 comp-lzo persist-key persist-tun verb 3 |
编辑好后,保存文件,用vim编辑 /etc/sysctl.conf,把net.ipv4.ip_forward=0改成 net.ipv4.ip_forward = 1,运行 sysctl -p命令,编辑/etc/init.d/iptables,加入以下规则:
/sbin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT –to-source Your-VPS-IP
接下来,服务端配置基本结束,运行命令,启动OpenVPN客户端:
1 | /usr/sbin/openvpn --config /etc/openvpn/server.conf & |
如果需要开机启动,把上面命令加入到/etc/rc.local即可
服务端启动成功截图
接下来,配置客户端了,Windows下使用OpenVPN,需要下载最新版的OpenVPN安装程序。安装好后,将在VPS上生成好的证书文件,下载到客户端,包括ca.crt证书,以及客户端证书:timothy.crt timothy.key,将它们统统拷贝到OpenVPS安装目录下的config目录,编写客户端文件,保存为client.ovpn,内容如下:
client
dev tun
proto tcp
remote Your-VPS-IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert timothy.crt
key timothy.key
ns-cert-type server
comp-lzo
verb 3
保存好后,右键点击client.ovpn,选择“Start OpenVPN on this config file”,建立VPN连接,建立好后,命令行会有如下提示: Initialization Sequence Completed,表示连接成功,这下,可以VPN上网了。去ip138.com,看看你的IP,应该是VPS的IP了:
声明: 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论,对其完全的正确不做任何担保或假设
本站文章均采用 知识共享署名-相同方式共享3.0 协议进行授权,除非注明,本站文章均为原创,转载请注明转自 Timothy's Space 并应以链接形式标明本文地址!
爆一下被和谐掉的IP:173.212.229.16
让DDOS来的更猛烈一些吧。
@lonkil: 你是个坏淫~
囧
竟然搜到了你的文……
@Allen: 哈哈,刚出炉的,新鲜的文章,照着搞吧,包成功……
@Timothy :遇到问题鸟,给你发邮件了……还是iptables的问题
cat: /dev/net/tun: File descriptor in cad stat 改为cat: /dev/net/tun: File descriptor in bad stat
@Allen: 多谢纠正,已改~~
我查到iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE 如果不是xen的主机,MASQUERADE不能用的;OpenVZ要用iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o venet0 -j SNAT –to your_ip
但是好像里面的参数venet0这个似乎每个人都不一样?
求解……
@Allen: ifconfig可以查看网络接口的名称
你太诱惑我了
@ZWWOOOOO: 呵呵,要OpenVPN帐号可以找我
你啥时候搞个监控宝?我这弄snmp都头大了
@Allen: 搞的有监控宝,没配SNMP那个监控
哈哈,我自己好像搞定了net-snmp,一会儿弄监控宝看看。
PS:用Android上的Chrome-Lite被你识别为Safari 530.17
@ALLEN: 估计是插件数据问题,识别不准确,呵呵
BurstNET 的VPS很实惠的,等godaddy这头过期了,我也换个VPS.hoho
@BLINUX: 是比较实惠,只是有时候貌似网络会抽风,访问很慢,但系统运行还是正常的。
@Timothy :比如现在我这就超级飞速……昨晚就不是很快。
@Allen: 嗯,有时候快得让人兴奋,有时候慢得让人郁闷……
@Timothy : 换成UDP,速度就飞速了……190KB/s都是家常便饭……
@ALLEN: UDP是?
@Timothy :连接模式哈,改成UDP~
@Allen: 了解~
话说你买的是什么套餐是5刀每个月的吗?
@blueandhack: 就burstnet最便宜的那款VPS
timothy,你的博客很精彩,我正在建这个openvpn,能告诉我怎么样在ssh中下载文件到本地吗?
我不知道怎么把那些Key下载到本地 使用命令以后 我找不到keys包(命令我不太了解什么意思)
我本地是windowsxp.请指教,谢谢了
我的QQ:877395988
@letmego: 最简单的,就是用scp命令,google一下吧。我一半用SSH客户端的Z-modem功能,服务端也需要装个组件,使用起来很方便。