OpenVZ VPS 下 CentOS 5 安装 OpenVPN2.3 详细教程
时间:2017-05-28 15:09 来源:linux.it.net.cn 作者:IT
基于各种教程,加上自己经验写成。
在DS的VPS上成功,前提是发了ticket让他们开模块。
第一步:检查 OpenVPN 所需环境
1.检测虚拟网卡(TUN/TAP)支持
1
cat /dev/net/tun
如果返回信息为:
1
cat: /dev/net/tun: File descriptor in bad state
说明正常
2.检测iptables_nat模块
1
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE
如果返回信息为:
1
iptables: Unknown error 4294967295
说明正常
[important]说明:如果上面两步,返回信息有一个不正常,那么你需要发个ticket让客服帮忙开通。因为没有这两项支持OpenVZ主机将无法顺利安装 OpenVPN !Directspace的VPS默认不开通。[/important]
第二步:安装 OpenVPN
环境准备好之后,我们正式开始安装 OpenVPN 了。这里使用的是 yum 来进行安装。
1.默认情况下 CentOS 的 yum 源没有 OpenVPN 的,先安装 EPEL 这个东西(代码如下)
1
2
wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -Uvh epel-release-5-4.noarch.rpm
2.成功后 yum 源里面就有 OpenVPN 了,直接使用命令安装
1
yum install openvpn
说明:这里就体现了 yum 安装的好处,比如 OpenVPN 需要 lzo 支持,安装的时候会检测系统,没有的组件会自动安装进去。
3.安装easy-rsa
由于最新的OpenVPN不自带easy-rsa,需要手工安装。(所以不用什么搜索了,能找得到就见鬼了)
1
wget https://github.com/OpenVPN/easy-rsa/archive/master.zip
解压备用。
第三步:配置 OpenVPN
1.把easy-rsa这个文件夹移出来
1
cp -R (你扔在哪就写哪)/openvpn/easy-rsa /etc/openvpn/
2.进入然后/etc/openvpn/easy-rsa/2.0目录,用vi vars来编辑环境变量。
1
2
cd /etc/openvpn/easy-rsa/2.0
vi vars
根据实际情况修改,保存。这里涉及到编辑器vi的用法,如果有机会我会整理一篇有关的教程。
1
2
3
4
5
export KEY_COUNTRY=”CA”
export KEY_PROVINCE=”ON”
export KEY_CITY=”Toronto”
export KEY_ORG=”ACICFG Tech Team”
export KEY_EMAIL=”cdc@c*******.com”
(哦,我就直接上WinSCP了,偷个懒。)
3.更改文件夹内文件属性
这些文件都不带执行属性,直接上去执行肯定Access Denied。
改成777吧。
(哦,又是WinSCP。。。)
4.保存后把. vars设置生效。
1
2
source ./vars
./clean-all
第四步:生成证书
1.创建证书颁发机构(系统出现提示操作时,直接全部回车)
1
./build-ca server
2.创建CA之后来生成服务器证书(系统出现提示操作时,前面直接全部回车 最后2个按y)
1
./build-key-server server
3.服务器证书生成完了,我们来生成客户端证书,理论上每个OpenVPN用户都有独立的证书。(系统出现提示操作时,前面直接全部回车 最后2个按y)
1
./build-key vpn1
说明:这里的vpn1是客户端名称,如果你再生成第二个随便换成别的名字就可以如:./build-key vpn2)
4.最后生成Diffie Hellman参数,这个需要一小点时间
1
./build-dh
第五步:设置OpenVPN参数
1.新建 server.conf
1
vi /etc/openvpn/server.conf
(再次WinSCP解决)
2.放入如下内容:
(port 443 是监听端口 proto udp 可以是 udp 或 tcp 推荐使用 udp)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
port 443 #这个端口一般不敢封,还可以改成22等
proto udp
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt #这几行按需修改
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
push “redirect-gateway def1″
push “dhcp-option DNS 8.8.8.8″ #设个DNS吧
push “dhcp-option DNS 8.8.4.4″
client-to-client #允许客户互相访问
keepalive 10 120
comp-lzo
persist-key
persist-tun
cipher AES-256-CBC #开个最强加密
verb 3
第六步:启用 ipv4 转发
1.编辑/etc/sysctl.conf
vi /etc/sysctl.conf
2.找到net.ipv4.ip_forward = 0改成net.ipv4.ip_forward = 1保存
3.让更改生效
sysctl -p
说明:如果此时出现错误 error: “Operation not permitted” setting key “net.ipv4.tcp_syncookies” ,就编辑 /etc/sysctl.conf,注释掉 net.ipv4.tcp_syncookies 那一行
[notice]OVZ没法修改这些东西。不管它们了,反正不影响用。[/notice]
4.配置 iptables
1
2
3
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT –to-source 你的服务器IP地址
/etc/init.d/iptables save
/etc/init.d/iptables restart
第七步:启动 OpenVPN
1.启动 OpenVPN
service openvpn start
2.检查 OpenVPN
1
netstat -anup | grep 443
如出现如下字样表示成功,OpenVPN 已经打开
1
2
udp 0 0 0.0.0.0:443 0.0.0.0:*
8179/openvpn
3.设置 OpenVPN 开机启动
1
chkconfig openvpn on
第八步:OpenVPN 客户端
1.下载客户端:
http://openvpn.net/index.php/open-source/downloads.html
被墙了,各位各显神通吧。(屁话,搭建OpenVPN不就是为了翻墙么。。。Catch 22, 呵呵)
2.使用 SFTP 软件把客户端所需文件下载到本地
服务器路径为:/etc/openvpn/easy-rsa/2.0/keys 中5个文件的:
vpn1.crt
vpn1.csr
vpn1.key
ca.crt
ca.key
将上述5个文件下载到 C:\Program Files\OpenVPN\config(总之是你安装目录了)
3、上面那个文件夹下,新建 vpn1.ovpn,输入以下内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
client
dev tun
proto udp
remote 服务器IP地址 443
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert vpn1.crt
key vpn1.key
ns-cert-type server
comp-lzo
cipher AES-256-CBC
verb 3
第九步:恭喜你大功告成
1.在开始菜单里面找到OpenVPN GUI并运行,Vista和Win7下需要管理员身份运行。点Connect后等一下,出现本地连接2,搞定!
[warning]千万注意,需要Administrator权限![/warning]
2.在服务器上你可以用 service openvpn start | stop | restart 来控制
3.另外在此推荐一个自动区分国内国外线路的项目 chnroutes ,不但能够加快国内网站的访问速度,还能节省 VPN 的流量,一举两得哦亲~
(责任编辑:IT)
基于各种教程,加上自己经验写成。 在DS的VPS上成功,前提是发了ticket让他们开模块。
第一步:检查 OpenVPN 所需环境1.检测虚拟网卡(TUN/TAP)支持
如果返回信息为:
说明正常 2.检测iptables_nat模块
如果返回信息为:
说明正常
[important]说明:如果上面两步,返回信息有一个不正常,那么你需要发个ticket让客服帮忙开通。因为没有这两项支持OpenVZ主机将无法顺利安装 OpenVPN !Directspace的VPS默认不开通。[/important]
第二步:安装 OpenVPN环境准备好之后,我们正式开始安装 OpenVPN 了。这里使用的是 yum 来进行安装。 1.默认情况下 CentOS 的 yum 源没有 OpenVPN 的,先安装 EPEL 这个东西(代码如下)
2.成功后 yum 源里面就有 OpenVPN 了,直接使用命令安装
说明:这里就体现了 yum 安装的好处,比如 OpenVPN 需要 lzo 支持,安装的时候会检测系统,没有的组件会自动安装进去。
3.安装easy-rsa由于最新的OpenVPN不自带easy-rsa,需要手工安装。(所以不用什么搜索了,能找得到就见鬼了)
解压备用。 第三步:配置 OpenVPN1.把easy-rsa这个文件夹移出来
2.进入然后/etc/openvpn/easy-rsa/2.0目录,用vi vars来编辑环境变量。
根据实际情况修改,保存。这里涉及到编辑器vi的用法,如果有机会我会整理一篇有关的教程。
(哦,我就直接上WinSCP了,偷个懒。)
3.更改文件夹内文件属性这些文件都不带执行属性,直接上去执行肯定Access Denied。 改成777吧。 (哦,又是WinSCP。。。) 4.保存后把. vars设置生效。
第四步:生成证书1.创建证书颁发机构(系统出现提示操作时,直接全部回车)
2.创建CA之后来生成服务器证书(系统出现提示操作时,前面直接全部回车 最后2个按y)
3.服务器证书生成完了,我们来生成客户端证书,理论上每个OpenVPN用户都有独立的证书。(系统出现提示操作时,前面直接全部回车 最后2个按y)
说明:这里的vpn1是客户端名称,如果你再生成第二个随便换成别的名字就可以如:./build-key vpn2)
4.最后生成Diffie Hellman参数,这个需要一小点时间
第五步:设置OpenVPN参数1.新建 server.conf
(再次WinSCP解决)
2.放入如下内容:(port 443 是监听端口 proto udp 可以是 udp 或 tcp 推荐使用 udp)
第六步:启用 ipv4 转发1.编辑/etc/sysctl.conf
vi /etc/sysctl.conf
2.找到net.ipv4.ip_forward = 0改成net.ipv4.ip_forward = 1保存 3.让更改生效
sysctl -p
说明:如果此时出现错误 error: “Operation not permitted” setting key “net.ipv4.tcp_syncookies” ,就编辑 /etc/sysctl.conf,注释掉 net.ipv4.tcp_syncookies 那一行 [notice]OVZ没法修改这些东西。不管它们了,反正不影响用。[/notice] 4.配置 iptables
第七步:启动 OpenVPN1.启动 OpenVPN
service openvpn start
2.检查 OpenVPN
如出现如下字样表示成功,OpenVPN 已经打开
3.设置 OpenVPN 开机启动
第八步:OpenVPN 客户端1.下载客户端:http://openvpn.net/index.php/open-source/downloads.html 被墙了,各位各显神通吧。(屁话,搭建OpenVPN不就是为了翻墙么。。。Catch 22, 呵呵) 2.使用 SFTP 软件把客户端所需文件下载到本地服务器路径为:/etc/openvpn/easy-rsa/2.0/keys 中5个文件的:
vpn1.crt
vpn1.csr vpn1.key ca.crt ca.key 将上述5个文件下载到 C:\Program Files\OpenVPN\config(总之是你安装目录了) 3、上面那个文件夹下,新建 vpn1.ovpn,输入以下内容
第九步:恭喜你大功告成1.在开始菜单里面找到OpenVPN GUI并运行,Vista和Win7下需要管理员身份运行。点Connect后等一下,出现本地连接2,搞定![warning]千万注意,需要Administrator权限![/warning] 2.在服务器上你可以用 service openvpn start | stop | restart 来控制3.另外在此推荐一个自动区分国内国外线路的项目 chnroutes ,不但能够加快国内网站的访问速度,还能节省 VPN 的流量,一举两得哦亲~(责任编辑:IT) |