在 Centos 6.3 和 WinXP 下安装配置 OpenVPN 2.3.2 服务器和客户端

来源:互联网 发布:魔法王座弩炮升阶数据 编辑:程序博客网 时间:2024/05/16 06:24

在 Centos 6.3 和 WinXP 下安装配置 OpenVPN 2.3.2 服务器和客户端

网络环境:
局域网内一个无线路由器R(192.168.0.1),一台式机A(Linux系统,192.168.0.2,有线上网),一台笔记本B(WinXP系统,192.168.0.3,无线WIFI上网)。A做openvpn的服务器,B做openvpn的客户端。


一、安装服务器(在A上)
安装和配置openVPN,需要下面三个软件:
lzo:该库的功能是对虚拟链路进行压缩。
openssl:囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议。
easy-rsa:RSA证书管理工具。

1. 先校正一下系统时间:
# ntpdate pool.ntp.org

2. 安装lzo库
先下载源代码包(这里下载的是 lzo-2.06.tar.gz)。
# tar xzvf lzo-2.06.tar.gz          // 解压    
# cd lzo-2.06    // 进入目录
#more INSTALL   // 阅读INSTALL文件,了解安装步骤。
下面是INSTALL文件里的介绍的快速安装的步骤:
  Quick start
  -----------
    ./configure
    make
    make check
    make test     (run a full test)
    make install  (when logged in as root)

安装:
# ./configure
# make
# make check
# make test
# make install

3.安装openssl
简单,略。

4.安装openvpn
先下载源代码包(这里下载的是 openvpn-2.3.2.tar.gz)。
# tar xzvf openvpn-2.3.2.tar.gz          // 解压    
# cd openvpn-2.3.2    // 进入目录
# more INSTALL   // 阅读INSTALL文件,了解安装步骤。
下面是INSTALL文件里的介绍的快速安装的步骤:
QUICK START:

  Unix:
    ./configure && make && make-install

安装:
# ./configure && make && make install

安装过程中碰到“configure: error: libpam required but missing ”错误,就到Linux系统的第一张安装盘里找pam-devel安装包并安装。如果系统是32位,安装 pam-devel.i686;如果系统是64位,安装 pam-devel.x86_64。然后再安装试试。

5. 创建openvpn的创建配置目录
# mkdir /etc/openvpn      

6. 解压easy-rsa软件包,拷贝easy-rsa-master下easy-rsa目录到配置目录。
# tar zxvf easy-rsa-2.2.0_master.tar.gz
# cp -r ./easy-rsa-2.2.0_master/easy-rsa  /etc/openvpn/
# cd /etc/openvpn/easy-rsa/2.0/

7. 生成CA证书

修改/etc/openvpn/easy-rsa/2.0/vars参数

[root@localhost 2.0]# vi vars

export KEY_COUNTRY="CN"                 国家
export KEY_PROVINCE="ShengFen"          省份
export KEY_CITY="ChegnShi"              城市
export KEY_ORG="zuzhi"                  组织
exportKEY_EMAIL="test@163.com"          邮件
export KEY_OU="DanWei"                  单位

保存退出

# source ./vars
# ./clean-all
# ./build-ca
碰到Common Name (eg, your name or your server's hostname)提示:输入”server”
碰到其他提示直接回车,表示默认提示参数安装。
默认情况所创建的文件会生成在/etc/openvpn/easy-rsa/2.0/keys目录下。

8. 生成dh文件
[root@localhost 2.0]# ./build-dh
最后会生成dh1024.pem

9. 生成服务器证书
[root@localhost 2.0]# ./build-key-server server

A challenge password []:123456

Certificate is to be certified until Feb 19 02:49:06 2024 GMT (3650 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

10. 生成客户端证书

[root@localhost 2.0]# ./build-key client

A challenge password []:123456

Certificate is to be certified until Feb 19 02:50:30 2024 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries

11. 把CA证书和客户端证书打包
[root@localhost 2.0] cd keys/
[root@localhost keys]#tar zcvf keys.tar.gz client* ca.*把client,ca开头的文件压缩保存为keys.tar.gz。

二、配置服务器

进入openvpn服务器安装包的目录,把./sample/sample-config-files/server.conf文件拷贝到/etc/openvpn/目录下。

[root@localhost openvpn-2.3.2]# cp ./sample/sample-config-files/server.conf  /etc/openvpn/
[root@localhost openvpn-2.3.2]# cd /etc/openvpn/
[root@localhost openvpn]# vi server.conf   //如下修改此配置文件:

local 192.168.0.2   // OpenVPN监听的本地IP地址。
port 1194
proto tcp
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  # This file should be kept secret
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.8.0.0 255.255.255.0"
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /openvpnLog/openvpn-status.log   //状态日志的保存路径
log    /openvpnLog/openvpn.log         //日志的保存路径
verb 3

保存退出。

三、安装客户端(在B上)
下载相同版本的openvpn-gui,从 google 找到 openvpn-install-2.3.2-I001-i686.exe 下载安装。安装成功后,在命令行窗口运行ipconfig命令会看到虚拟网卡。
找到安装目录中的config文件夹复制安装目录中的simple-config/client.ovpn到config目录下,把上面在A上打包的keys.tar.gz文件解压到该目录下。

四、配置客户端
使用记事本打开client.ovpn,并修改如下:
 
client
dev tun
proto tcp
remote 192.168.0.2 1194
resolv-retry infinite
nobind
user nobody
group nobody
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3

保存退出。

五、测试

1. 关闭防火墙
# service iptables stop
2. 启动服务器
可以前台运行或后台运行:
# /usr/local/sbin/openvpn --config /etc/openvpn/openvpn.conf   //前台运行
# /usr/local/sbin/openvpn --daemon --config /etc/openvpn/openvpn.conf  //后台运行
# netstat -ln //查看openvpn使用的端口1194是否已经起来。
3. 启动客户端
双击桌面上的“OpenVPN GUI”图标,运行客户端。鼠标右键点击任务栏上的“OpenVPN GUI”托盘,在弹出的菜单上点击“Connect”,连接服务器。如果连接成功,托盘的两个小电脑应该变为绿色。
4. 客户端与服务器互相ping一下,看能否ping通。
在客户端用ipconfig命令查看虚拟网卡的IP地址(这里假设是10.8.0.6)。
服务器ping客户端:ping 10.8.0.6
客户端ping服务器:ping 10.8.0.1

如果互相能ping通,说明 OpenVPN 安装成功。

0 0