Centos下openvpn搭建详解

Centos下openvpn搭建详解
本章目录:
加密的数据传输:
    ssh/加密数据传输代理:
    openvpn:
            1、openvpn的概述
            2、vpn数据包的结构
            3、openvpn服务端的部署
            4、在linux客户端的部署
            5、在windows客户端的部署
           
博兴实验中学
SSH代理:
ssh -p port -qCNgD 7070 username@ip
    -q    静默模式
    -C    压缩
    -g    转发代理
    -D    本地动态的监听端口
    -N    不转发从代理客户发过来的命令
   
客户端配置:
玉女性经firefox
    更改代理服务器,使用socket代理
    about:config
    network.proxy.socks_remote_dns;true   
1、openvpn的概述
     
    VPN直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道,OpenVPN是Linux下开源VPN的先锋,提供了良好的性能和友好的用户GUI。该软件最早由James Yonan编写。  OpenVPN允许参与建立VPN的单点使用预设的私钥,第三方
证书,或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库,以及SSLv3/TLSv1协议。
  OpenVPN能在Linux、xBSD、Mac OS X与Windows 2000/XP上运行。:www.openvpn
2、vpn数据包的结构
QQ-->
    route table
源主机        -->vpn_client-->(sip)softwares(data)(dip)-->route table-->vpn_software-->encrypt-->(new_sip)encrypt_data(new_dip)-->router-->next_router
目标主机:    -->vpnserver-->d_encrypt-->根据内层IP包头再次做数据转发
3、openvpn服务端的部署
1)在VPN(192.168.0.1)上安装openvpn软件
软件包组成:pnc
         openvpn        --实现VPN的服务
          lzo            --实现数据压缩
1、安装lzo
# cd /root
# tar xf lzo-2.
# cd lzo-2.03
# ./configure && make && make install
2、安装openvpn
# tar xf openvpn-2.0.
# cd openvpn-2.0.9
# ./configure --prefix=/opt/vpn  && make && make install
# cp /root/openvpn-2.0.9/sample-scripts/openvpn.init  /etc/init.d/openvpn
# vim /etc/init.d/openvpn
openvpn="/opt/vpn/sbin/openvpn"        --指定openvpn的存储路径
work=/opt/vpn/etc
# chkconfig --add openvpn
# chkconfig openvpn on
灭菌检测
2)创建证书和密钥文件
# cd /root/openvpn-2.0.9/easy-rsa    --定义变量
# vim vars
export D=`pwd`
export KEY_CONFIG=$D/opensslf
export KEY_DIR=$D/keys
echo NOTE: when you run ./clean-all, I will be doing a rm -rf on $KEY_DIR
export KEY_SIZE=1024
export KEY_COUNTRY=CN
export KEY_PROVINCE=GD
export KEY_CITY=GZ
export KEY_ORG="UPLOOK.Inc"
情报杂志export KEY_EMAIL="*******************"
# source vars    --执行vars 文件中的代码让变量生效
# ./clean-all    --预先清除$KEY_DIR 目录
创建CA证书(颁发机构)
# cd /root/openvpn-2.0.9/easy-rsa        --一直回车即可,此脚本会引用上一步生成的变量
# ./build-ca
# ls keys/ca*                        --检查根证书是否生成成功
  keys/ca.key
创建 dh(Diffie-Hellman)密钥算法文件
# ./build-dh
# ls keys/dh1024.pem                --检查是否已生成
keys/dh1024.pem
为VPN服务器创建密钥
# ./build-key-server vpnserver
Common Name (eg, your name or your server's hostname) []:vpnserver.uplooking    --填上服务器的主机名,后面会用到,其它回车即可
# ls keys/vpnserver.*                    --验证是否成功
  keys/vpnserver.csr  keys/vpnserver.key
为VPN两个客户端创建密钥
# ./build-key client01.uplooking
Common Name (eg, your name or your server's hostname) []:client01.uplooking        --填上客户端的主机名,后面会用到,其它回车即可
# ./build-key client02.uplooking
Common Name (eg, your name or your server's hostname) []:client02.uplooking        --填上客户端的主机名,后面会用到,其它回车即可
   
国内域名    注意:使用“./build-key”脚本创建密钥时,不同的客户端对应的“Common Name”不能相同。
生成 tls-auth 密钥
tls-auth 密钥可以为点对点的VPN 连接提供了进一步的安全验证,如果选择使用这一方式,服务器端和客户端都必须拥有该密钥文件。
# /opt/vpn/sbin/openvpn --genkey --secret keys/ta.key
# mkdir /opt/vpn/etc
# cp -r keys/ /opt/vpn/etc/
建立连接的四个过程:
1.建立网络连接
2. 建立SSL对称加密通道
3. 交换公匙
4. 推送VPN策略
3)创建主服务器配置文件
# pwd
/opt/openvpn-2.0.9/sample-config-files
# ls
f      loopback-server      README              f
firewall.sh      office.up            f        f
home.up          openvpn-shutdown.sh  f    xinetd-client-config
loopback-client  openvpn-startup.sh  f  xinetd-server-config
# vim /opt/vpn/f
local 192.168.0.1                    --指定监听服务的IP 地址
port 1194                        --开启默认的1194监听端口
proto udp
dev tun                            --使用SSL Tune 的VPN 隧道模式(虚拟网卡)
ca                         --指定根证书
cert                 --指定VPN服务端的证书

本文发布于:2024-09-21 23:32:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/20345.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:使用   密钥   证书   建立   客户端
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议