田伟博客

此博客着重于记录日常生活中的大大小小事,偶尔用来发发牢骚.

CentOS5.5安装OpenVPN

在学习中实践 在实践中学习;有句话是这么说的:“光说不练假把式”,意思是只会说,却不会去做。强调不光会说,而且还要去认真做,这就有点像在学校学习的理论知识,要结合实际操作来加深记忆,或者说是在实际的操作中来达到学习的目的。

今天动手在CentOS中完成OpenVPN的安装和配置,并在本地完成VPN代理上网,本文根据网上资料并根据自己的VPS系统环境整理修改。

服务器环境:

Ramhost的VPS,CentOS5系统,由于系统优化过,本身是不带OpenVPN。

客户端也就是本机:

Windows XP SP2简体中文版,对客户端要求不高。

下面都是以Root身份用SSH登录服务器的操作指令,具体步骤如下:

1.安装软件仓库

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

2.安装软件

yum -y install openvpn

3.生成服务器证书

cd /usr/share/openvpn/easy-rsa/2.0
vi vars   #设置相关证书变量值(修改最后5个值: 国家/省/市/组织/电邮)

export KEY_COUNTRY="CN"
export KEY_PROVINCE="GD"
export KEY_CITY="ZhongShan"
export KEY_ORG="FreeVNP"
export KEY_EMAIL=Tony@tianwei.org


source vars  #设置会话环境变量生效
./clean-all  #清理旧文档
./build-ca  #创建CA证书
./build-dh  #创建相关加密文件
./build-key-server server #创建服务器证书

4.复制服务器证书和配置文件

  cp keys/ca.crt   /etc/openvpn
  cp keys/server.key  /etc/openvpn
  cp keys/dh1024.pem  /etc/openvpn
  cp keys/server.crt  /etc/openvpn
  cp /usr/share/doc/openvpn-2.1/sample-config-files/server.conf /etc/openvpn(注:)

注:可以将配置文件范本复制到目录然后修改,也可以用vi新建。

5.修改配置文件(修正)

cd /etc/openvpn
vi server.conf

port 1194
proto udp #TCP/UDP均可
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log         openvpn.log
verb 3

6.配置启动参数

  chkconfig openvpn on
  service openvpn start


7.生成客户端证书(每个客户端做一次)

cd /usr/share/openvpn/easy-rsa/2.0
./build-key client       #客户名称自定义 
如果需要生成多个客户端,重复执行
./build-key client1 #注意修改名称,确保每个证书名称唯一

8.让VPN可以访问外网设置

vi /etc/sysctl.conf
et.ipv4.ip_forward = 0改成net.ipv4.ip_forward = 1保存。然后执行
sysctl –p

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to-source 1.2.3.4

#将1.2.3.4 换成你自己的IP,

ifconfig #查看自己的IP绑在哪块网卡上的,比如我的外网IP是绑在venet0:0,那么红色字体就venet0

/etc/init.d/iptables save #保存iptables设置,
/etc/init.d/iptables restart #重新启动下。

到这一步服务端就设置好了,然后下载我们的证书,以下三个:

ca.crt,client.crt,client.key

9.安装客户端

http://openvpn.net/ 下载openvpn+gui并安装


10.部署客户端证书

  把下载的证书放到到C:\Program Files\OpenVPN\config(默认安装在此目录)
  ca.crt
  client.crt
  client.key

a.复制C:\Program Files\OpenVPN\sample-config\client.ovpn到上面的config目录
b.复制下面配置参数替换原有内容

client
dev tun
proto udp
remote 1.2.3.4 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert Tony.crt
key Tony.key
ns-cert-type server
comp-lzo
verb 3

到此就可以打开OpenVPN客户端进行链接了。

开机自动启动

vi /etc/rc.local
/etc/init.d/openvpn start

参考资料:

http://salomi.blog.51cto.com/389282/252130

« Ramhost使用感受读图-淹没的街道 »
    Gravatar头像
  • quote 2.syshy
  • 2011-6-29 15:35:24 回复
  • 装了好多次,终于按照你的方法装成个了,但是启动后,我在本地能上qq,网页一律打不开,ping 域名也是无解析,点解啊?
    田伟 于 2011-6-29 15:36:57 回复
    8.让VPN可以访问外网设置

    vi /etc/sysctl.conf
    et.ipv4.ip_forward = 0改成net.ipv4.ip_forward = 1保存。然后执行
    sysctl –p

    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to-source 1.2.3.4

    #将1.2.3.4 换成你自己的IP


    请参考这一条

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关注我

网站分类

热文排行

最新评论及回复

最近留言

文章归档

热门标签

控制面板

Powered By Z-Blog 1.8 Walle Build 100427

Copyright © 2009-2015 田伟博客
蜀ICP备09018418号