OpenVPN 是比较实用的虚拟网络软件,加密性强传输速率快,是企业内部加密通讯的好帮手,本文介绍如何在 CentOS 5.x 上配置 OpenVPN 这个神奇的软件。
一、安装包
1
2
3
4
5
|
rpm -Uhv http: //apt .sw.be /redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0 .3.6-1.el5.rf.i386.rpm
yum -y update
yum -y install openvpn
|
二、服务器端配置
1
2
3
|
cd /etc/openvpn/
cp /usr/share/doc/openvpn-2 .2.2 /sample-config-files/server .conf .
|
注意:上面一行最后有个空格再一点儿
1
2
3
4
5
|
mkdir -p /etc/openvpn/easy-rsa/keys
cd /etc/openvpn/easy-rsa
cp -rf /usr/share/doc/openvpn-2 .2.2 /easy-rsa/2 .0/* .
|
注意:上面一行最后有个空格再一点儿
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
chmod o+x,g+x clean-all
chmod o+x,g+x build-*
chmod o+x,g+x vars
chmod o+x,g+x whichopensslcnf
chmod o+x,g+x pkitool
chmod o+x,g+x inherit-inter
chmod o+x,g+x list-crl
chmod o+x,g+x revoke-full
chmod o+x,g+x sign-req
|
三、编辑 PKI 配置
1
|
vi /etc/openvpn/easy-rsa/vars
|
按 page down 键 往下翻页,找到 export KEY_SIZE= 这行,用 j 和 k 定位行, h 和 l 定位字符,把 1024 改成 2048 或者 4096 。
再定位到最后面,会看到类似下面这样的
1
2
3
4
5
|
export KEY_COUNTRY= "CN"
export KEY_PROVINCE= "ZJ"
export KEY_CITY= "HZ"
export KEY_ORG= "iamwd.com"
export KEY_EMAIL= "w@iamwd.com"
|
把引号里的东西随便改一下,不改也没啥大不了的
按住shift再按两下z保存修改
四、OpenVPN 证书
1、CA证书
注意:前面是点儿空格再点儿
狂敲回车即可,也可以随便写点资料
2、服务器端证书
iamwd 就是服务器名,随便起,但记住,后面要用到
狂敲回车直到 Sign the certificate? [y/n]:
输入 y 然后回车
出来 1 out of 1 certificate requests certified, commit? [y/n]
输入 y 然后回车
3、生成 DH 验证文件
./build-dh
让服务器飞一会儿,前面写 KEY_SIZE=4096 的估计会稍微长一点,但也就一分钟不到肯定好了,主要是 XeHost 的 VPS 比较给力
4、为每个客户端生成证书
WooDragon 替换成需要的用户
一路回车到 Sign the certificate? [y/n]:
按 y 回车
1 out of 1 certificate requests certified, commit? [y/n]
按 y 回车
5、编辑服务配置文件
1
|
vi /etc/openvpn/server .conf
|
-
(1) 找到
port 一行,后面的 1194 改成 53 , 53 是个好端口,当然大家可以根据需要灵活调整
-
(2) 找到
ca ca.crt 这行, ca.crt 替换为 /etc/openvpn/easy-rsa/keys/ca.crt
-
(3)
.cert 这行后面的 server.crt 替换为 /etc/openvpn/easy-rsa/keys/iamwd.crt
-
(4)
.key 这行后面的 server.key 替换为 /etc/openvpn/easy-rsa/keys/iamwd.key
注意上面两行的 iamwd.crt 和 iamwd.key 就是前面服务器端证书这一步骤中生成的,那边生成的东西就用在这里
-
(5) 找到
;push "redirect-gateway def1 bypass-dhcp"
去掉最前面的注释符号;
并且删除 def1 后面的 bypass-dhcp
也就是将这行替换成
push "redirect-gateway def1"
-
(6).找到
;push "dhcp-option DNS 208.67.222.222" 以及 ;push "dhcp-option DNS 208.67.222.220"
替换为 push "dhcp-option DNS 8.8.8.8" 以及 push "dhcp-option DNS 8.8.4.4"
同样是去掉前面的注释符号
-
(7).如果用的是 2048 位加密,那么,把
dh dh1028.pem 改成 dh /etc/openvpn/easy-rsa/keys/dh2048.pem
其他默认就可以了,保存配置
五、启动服务
如果遭遇启动失败的情况,可以在配置文件中加上一行 log-append openvpn.log
再尝试启动,然后到 /etc/openvpn/ 检查 openvpn.log 文件来查看错误发生原因
最后执行一行
chkconfig --level 235 openvpn on
将 openvpn 加入启动项
六、设置外网访问
找到 net.ipv4.ip_forward = 0
把 0 改成 1
1
2
3
|
sysctl -p
iptables -t nat -A POSTROUTING -s 10.8.0.0 /24 -j SNAT --to- source 1.2.3.4
|
把 1.2.3.4 替换成你自己服务器或 VPS 的 IP
1
2
3
|
/etc/init .d /iptables save
/etc/init .d /iptables restart
|
服务器端配置完成
客户端配置非常简单,不再详述
以上参考 Installing OpenVPN 2.2 on Centos 5.7
(责任编辑:IT) |