CentOS 5.7下的OpenVPN配置笔记
接到任务,写OpenVPN配置教程一篇,于是憋出来
安装包
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
服务配置
cd /etc/openvpn/
cp /usr/share/doc/openvpn-2.2.0/sample-config-files/server.conf .
注意:上面一行最后有个空格再一点儿
mkdir -p /etc/openvpn/easy-rsa/keys
cd /etc/openvpn/easy-rsa
cp -rf /usr/share/doc/openvpn-2.2.0/easy-rsa/2.0/* .
注意:上面一行最后有个空格再一点儿
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配置
vi /etc/openvpn/easy-rsa/vars
按page down键往下翻页,找到export KEY_SIZE=这行,用j和k定位行,h和l定位字符,把1024改成2048或者4096,推荐4096,如果没几个人用的话加密强度当然越高越好~
再定位到最后面,会看到类似下面这样的
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保存修改
证书证书
1.CA证书
. ./vars
注意:前面是点儿空格再点儿
./clean-all
./build-ca
狂敲回车即可,也可以随便写点资料
2.certificate for the server
./build-key-server iamwd
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.为每个客户端生成证书
./build-key WooDragon
WooDragon替换成需要的用户
一路回车到Sign the certificate? [y/n]:
按y回车
1 out of 1 certificate requests certified, commit? [y/n]
按y回车
5.编辑服务配置文件
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就是前面certificate for the server这一步骤中生成的,那边生成的东西就用在这里
(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"
同样是去掉前面的注释符号
其他默认就可以了,保存配置
启动服务
service openvpn start
如果遭遇启动失败的情况,可以在配置文件中加上一行log-append openvpn.log
再尝试启动,然后到/etc/openvpn/检查openvpn.log文件来查看错误发生原因
最后执行一行
chkconfig --level 235 openvpn on
将openvpn加入启动项
设置外网访问
vi /etc/sysctl.conf
找到net.ipv4.ip_forward = 0
把0改成1
sysctl -p
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 2.2.2.2
把2.2.2.2替换成你自己VPS的IP
/etc/init.d/iptables save
/etc/init.d/iptables restart
服务器端配置完成
客户端配置非常简单,不再详述
以上
参考
http://nkush.blogspot.com/2011/10/installing-openvpn-22-on-centos-57.html
BTW:混蛋,老外写文章也挺不靠谱啊,漏了好多个关键点没写,然后我也没想到,朋友提醒了才发现= =
WooDragon's Blog内容均为原创,转载请注明出处
- 还没有Trackback
大概是第一批的小白鼠路过…恭喜完成
话说你又转移到日本去了 主机
@久酷 : 是啊,刚开始贼快的,现在不慢就谢天谢地了……
@WooDragon : 国人们一窝蜂的 全涌过去了 不慢才怪呀,我们中国人多力量大,再好的网络也能撑爆它
@久酷 : 的确……后来一度想再整回美国,懒得折腾了,换IP啥的麻烦,就算了……
还行日本的挺快的~~估计现在不是抽风时间
@Youwei : 慢的时候延迟300+
顶一下
3.生成DH验证文件
./build-dh
让服务器飞一会儿,前面写KEY_SIZE=4096的估计会稍微长一点,但也就一分钟不到肯定好了,主要是XeHost的VPS比较给力
确实,用Linode日本的居然等了半个多小时了= =
还要修改一个
在 server.conf 里
dh dh1028.pem
改成
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
十分感谢,学习了