openvpn server 制作(笔记)

来源:互联网 发布:大淘客cms加淘口令 编辑:程序博客网 时间:2024/05/21 22:29

首先配置好环境,又两种办法。
    1> yum -y install openssl openssl-devel gcc
    2> 挂在本地光盘或者镜像安装里面的 openssl openssl-devel gcc

安装LZO软件包
    1 > wget http://down1.chinaunix.net/distfiles/lzo-2.06.tar.gz
    2> tar -zxvf lzo-2.03.tar.gz
    3> cd lzo-2.03
    4> ./configure && make && make install

安装OpenVPN
    1> wget http://down1.chinaunix.net/distfiles/openvpn-2.0.9.tar.gz
    2> cp openvpn-2.0.9.tar.gz /usr/local/
    3> tar -zxvf openvpn-2.0.9.tar.gz
    4> cd openvpn-2.0.9
    5> ./configure --prefix=/usr/local/openvpn
    6> make && make install


OpenVPN服务器端配置
先easy-rsa复制到安装文件到/usr/local/openvpn/进入修改vars文件最后部分的信息.
    1> cd /usr/local/
    2> cp -r openvpn-2.0.9/easy-rsa/ /usr/local/openvpn
    3> cd /usr/local/openvpn/easy-rsa/2.0/
    4> vim vars
    将信息改为如下,保存退出
    export KEY_COUNTRY="CN"
    export KEY_PROVINCE="BJ"
    export KEY_CITY="beijing"
    export KEY_ORG="beijing"
    export KEY_EMAIL="123@qq.com"

制作服务器文件
    1> cd /usr/local/openvpn/easy-rsa/2.0
    2> source vars
会出现一行信息,不用理,继续输入
    3> ./clean-all
这是用来初始化keys目录,然后输入以下命令.
    4> ./build-ca
后面一路回车即可以
这时候在keys目录中已经生成了文件

现在生成diffice-hellman文件
    5> ./build-dh
回车即可

为服务器生成证书和密钥
    6> ./build-key-server server
这里可以一路回车,密码最好写上,不低于六位,不填也可以,安全为好咯。后面有两个提示选择yes或者no直接yes即可
或者填写你想填写的信息后面只要“例如在Organizational Unit Name填入server这个名字即可,后面密码不低于6位”


修改openvpn的配置文件
    1> mkdir -p /etc/openvpn
    2> cp /usr/local/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn
    3> vim /etc/openvpn/server.conf
以下有几步:
    4> 将proto udp改为proto tcp 即服务启动tcp 1194端口,local后添加上服务器ip
    5> 将ca那4行内容改成如下形式:
    ca /usr/local/openvpn/easy-rsa/2.0/keys/ca.crt
    cert /usr/local/openvpn/easy-rsa/2.0/keys/server.crt
    key /usr/local/openvpn/easy-rsa/2.0/keys/server.key
还有上面所生产的diffie-hellman文件
    dh /usr/local/openvpn/easy-rsa/2.0/keys/dh1024.pem

6> 修改server那一行如下
    server 10.8.0.0 255.255.255.0
这是为VPN客户端分配IP的网段

7> 将verb 3改为verb5 这样可以看到更多的调试信息,可以不改。
8> 如果希望客户端的私有网络间可以互访,可添加上网段,如:
这个要注意,推路由可能会照成客户端所有的包都走vpn,导致客户机上不了网,如下修改。

    # Push routes to the client to allow it
    # to reach other private subnets behind
    # the server.  Remember that these
    # private subnets will also need
    # to know to route the OpenVPN client
    # address pool (10.8.0.0/255.255.255.0)
    # back to the OpenVPN server.
    ;push "route 192.168.10.0 255.255.255.0"
    push "route 192.168.20.0 255.255.255.0"

9> 固定IP地址分配,取消下面行的注释:
    client-config-dir ccd
    route 10.8.0.0 255.255.255.252
这样就有下面的IP地址分配原则:
[5,6][9,10][13,14][17,18][21,22][25,26][29,30][33,34][37,38].....[241,242][245,246][249,250][253,254]



11> 开启系统自身的转发IP的功能
    echo 1 > /proc/sys/net/ipv4/ip_forward

12> 启动VPN服务(先关闭iptables和selinux)
    /usr/local/openvpn/sbin/openvpn --config /etc/openvpn/server.conf &

13> 设置用service启动openvpn
cp /usr/local/openvpn-2.0.9/sample-scripts/openvpn.init /etc/init.d/openvpn
vi /etc/init.d/openvpn 注释154行

14 > 启动,关闭,重启openvpn服务
    /etc/init.d/openvpn start | stop | restart
15> 查看openvon情况
    ifconfig 会看见的,或者 ps aux | grep openvpn 或者lsof -i:1194 或者netstat -ntl |grep 1194 也可以看到
    看见进程端口都没问题就ok辣!!


16>  为客户端生成证书文件
    ./build-key daxiong
也是和上面一样一路回车,注意服务器端又密码就要填写一样的密码,也可以后面在Organizational Unit Name填入daxiong这个名字即可,后面密码不低于6位
后面生成客户端文件以此类推。。。。。。

17 > 在 /etc/openvpn文件夹下新建名为ccd文件夹,在ccd 文件夹里以客户名为名新建文件,内容格式如下:
    vi /etc/openvpn/ccd/daxiong   然后加入下面一行加入的ip要和第九步的规则一样:
         ifconfig-push 10.8.0.5 10.8.0.6       



========================================================================================================
windows客户端安装
1、先下载vpn软件http://openvpn.se/files上下载和服务器版本一致的windows客户端
2、安装客户端
3、将ca.crt、daxiong.crt、daxiong.key复制到C:\Program Files\OpenVPN\config中
4、把/usr/local/openvpn-2.0.9/sample-config-files/client.conf复制出来,在此基础上建立客户端配置文件放到C:\Program Files\OpenVPN\config中,改名为daxiong.ovpn,用文本修改内容
    将proto udp改为proto tcp
    将remote 那行修改为如下内容(服务器IP和端口号)
     例如:172.16.17.128 1194
    将ca那三行修改为如下
    ca  ca.crt
    cert daxiong.crt
    key daxiong.key
    

5、右击OpenVPN图标,选择connect,这时就可以连接上了。
=============================================================================================
6、linux客户端安装
    linux下播openvpn直接把拷贝下来的key放到openvpn安装路径(默认/etc/openvpn)下按照windows的去配置
里面的配置,唯一不一样的就是,conf文件不需要改成ovpn后缀,因为linux下不需要用软件去拨号,把文件都放到/etc/openvn后直接,运行/etc/init.d/openvpn start即可。

=========================================================================================================
吊销证书方法:
1,vi /usr/local/openvpn/easy-rsa/2.0/openssl.cnf  注销282和283语句如下:
    #MODULE_PATH = $ENV::PKCS11_MODULE_PATH
    #PIN = $ENV::PKCS11_PIN
2、cd /usr/local/openvpn/easy-rsa/2.0/
3、source vars
4 、/revoke-full daxiong
5、cp /usr/local/openvpn/easy-rsa/2.0/keys/crl.pem /etc/openvpn/
6、vi /usr/local/openvpn/server.conf 添加下面语句:
    crl-verify crl.pem
7,/etc/init.d/openvpn restart

===================================================================================

定时检测脚本vpn

#!/bin/bash
# restart openvpn

ping -c 2 10.50.0.1
if [ $? != 0 ]; then
ping -c 2 121.14.3.118
if [ $? == 0 ]; then
/etc/init.d/openvpn restart
fi
fi