BurstNET VPS上搭建OpenVPN

俺的VPS是基于OpenVZ的,因而不支持PPTP VPN,唯一的办法,是搭建OpenVPN。和PPTP VPN相比,OpenVPN的搭建要稍微麻烦一些。并且服务端和客户端需要生成证书,以及修改配置文件。下面把BurstNET VPS上,Ubuntu系统中搭建OpenVPS的流水账记录一下,供日后参考:

1.前期工作,OpenVPN,需要TUN支持,默认情况下,是没有开启的,需要到后台管理平台中,点击Enable Tun/Tap即可开通。开通后,用命令

cat /dev/net/tun

如果返回 cat: /dev/net/tun: File descriptor in bad stat,表明已经成功启用TUN支持。

另外,需要iptables_nat模块支持,用命令

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE

检查,如果返回iptables: Unknown error 4294967295,表明系统还不支持,需要联系客服开通。

2.安装OpenVPN,这个最简单不过了:

sudo apt-get install openvpn

安装好后,默认的路径在 /usr/share/openvpn,进入 /usr/share/openvpn/easy-rsa/2.0 目录,用vim修改vars文件,加入自己的信息,这些信息在生成证书的时候会用到,下面是示例:

export KEY_COUNTRY="CN"
export KEY_PROVINCE="SC"
export KEY_CITY="ChengDu"
export KEY_ORG="FreedomUnion"
export KEY_EMAIL="[email protected]"

修改好后,保存文件,用命令 . ./var运行,注意两个点之间有个空格。运行后,会设置好变量,接下来按照下面顺序,运行命令,生成证书:

./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,接下来,编辑服务端配置文件:

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客户端:

/usr/sbin/openvpn --config /etc/openvpn/server.conf &

如果需要开机启动,把上面命令加入到/etc/rc.local即可

服务端启动成功截图

image

接下来,配置客户端了,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了:

image

支持原创技术分享,据说打赏我的人,都找到了女朋友!