云计算之VPN系列

一、VPN概述

  • 在公用网络上建立专用私有网络,进行加密通讯
  • 多用于为集团公司的各地子公司建立连接
  • 连接完成后,各地的子公司可以向局域网一样通讯
  • 在企业网络中有广泛应用
  • 偶尔可以用于翻墙
  • 目前主流的VPN技术(GRE , PPTP, L2TP+IPSec)

二、VPN种类

配置GRE VPN

  1. 启用GRE模块(client和proxy都需要操作)

    [root@client ~]# lsmod  | grep ip_gre
    [root@client ~]# modprobe  ip_gre 
    [root@proxy ~]# lsmod  | grep ip_gre
    [root@proxy ~]# modprobe  ip_gre 
    
  2. Client主机创建VPN隧道

    1)创建隧道

        [root@client ~]# ip tunnel add tun0 mode gre remote 192.168.4.10 local 192.168.4.5
    

    2)启用该隧道(类似与设置网卡up)

        [root@client ~]# ip link set tun0 up
        [root@client ~]# ip link show
    

    3)为VPN配置隧道IP地址

        [root@client ~]# ip addr add 10.10.10.5/24 peer 10.10.10.10/24 dev tun0 
        [root@client ~]# ip a s
    
  3. Proxy主机创建VPN隧道

    1)创建隧道

        [root@proxy ~]# ip tunnel add tun0 mode gre remote 192.168.4.5 local 192.168.4.10
    

    2)启用该隧道(类似与设置网卡up)

        [root@proxy ~]# ip link set tun0 up
        [root@proxy ~]# ip link show
    

    3)为VPN配置隧道IP地址

        [root@proxy ~]# ip addr add 10.10.10.10/24 peer 10.10.10.5/24 dev tun0 
        [root@proxy ~]#  ip a s
    

    4)开启路由转发、关闭防火墙

        [root@proxy ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
    
  4. 测试连通性

    [root@client ~]#  ping 10.10.10.10
    [root@proxy ~]#   ping 10.10.10.5
    

创建PPTP VPN

1.部署VPN服务器

1)安装软件包

[root@proxy ~]# yum localinstall pptpd-1.4.0-2.el7.x86_64.rpm
[root@proxy ~]# rpm -qc pptpd
    /etc/ppp/options.pptpd
    /etc/pptpd.conf
    /etc/sysconfig/pptpd

2)修改配置文件

[root@proxy ~]# vim /etc/pptpd.conf
    localip 192.168.4.5
    remoteip 192.168.3.1-50
[root@proxy ~]# vim /etc/ppp/options.pptpd
    require-mppe-128            //使用MPPE加密数据
    ms-dns 8.8.8.8
[root@proxy ~]# vim /etc/ppp/chap-secrets
    tom             *               123456      *
    //用户名   服务器标识      密码       客户端
[root@proxy ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

3)启动服务

[root@proxy ~]# systemctl start pptpd
[root@proxy ~]# systemctl enable pptpd

4)翻墙设置(非必需操作)

[root@proxy ~]# iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j SNAT --to-source 192.168.4.5

2.客户端设置

启动windows虚拟机--->新建网络连接--->连接到工作区--->使用我的internet连接VPN--->我将稍后设置我的连接 VPN网络设备--->右键连接--->输入用户tom,密码123456--->连接

创建L2TP+IPSec VPN

  1. 部署IPSec服务

1)安装软件包

[root@proxy ~]# yum -y install libreswan

2)新建IPSec密钥验证配置文件

[root@proxy ~]# cat /etc/ipsec.conf
    include /etc/ipsec.d/*.conf
[root@proxy ~]# vim /etc/ipsec.d/myipsec.conf
    conn IDC-PSK-NAT
        rightsubnet=vhost:%priv                        //允许建立的VPN虚拟网络
        also=IDC-PSK-noNAT
    conn IDC-PSK-noNAT
        authby=secret                                    //加密认证
            ike=3des-sha1;modp1024                        //算法
            phase2alg=aes256-sha1;modp2048                //算法  
        pfs=no
        auto=add
        keyingtries=3
        rekey=no
        ikelifetime=8h
        keylife=3h
        type=transport
        left=192.168.4.5                          //重要,服务器本机的外网IP
        leftprotoport=17/1701
        right=%any                                //允许任何客户端连接
        rightprotoport=17/%any

3)创建IPSec预定义共享密钥

        [root@proxy ~]# cat /etc/ipsec.secrets
            include /etc/ipsec.d/*.secrets
        [root@proxy ~]# vim /etc/ipsec.d/mypass.secrets
            192.168.4.5   %any:    PSK    "randpass"

4)启动IPSec服务

        [root@proxy ~]# systemctl start ipsec
        [root@proxy ~]# netstat -ntulp |grep pluto
  1. 部署XL2TP服务

1)安装软件包

[root@proxy ~]#  yum localinstall xl2tpd-1.3.8-2.el7.x86_64.rpm

2) 修改xl2tp配置文件

[root@proxy ~]#  vim  /etc/xl2tpd/xl2tpd.conf
    ....
    ip range = 192.168.3.128-192.168.3.254
    local ip = 201.1.2.10
    ....
[root@proxy ~]#  vim /etc/ppp/options.xl2tpd
    require-mschap-v2          //添加一行,强制要求认证
    #crtscts                   //注释或删除该行
    #lock                      //注释或删除该行
[root@proxy ~]#  vim /etc/ppp/chap-secrets
    tom         *           123456          *

3)启动服务

[root@proxy ~]#  systemctl start xl2tpd
[root@proxy ~]#  netstat  -ntulp |grep xl2tpd

4)设置路由转发,防火墙

[root@proxy ~]#  echo "1" > /proc/sys/net/ipv4/ip_forward

5)翻墙设置(非必需操作)

[root@proxy ~]# iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j SNAT --to-source 192.168.4.5        
  1. 客户端设置

1)设置windows注册表

windows+r ---> regedit ---> HKEYLOCALMACHINE\ System\CurrentControlSet\Services\Rasman\Parameters --> 新建DWORD ---> 名称:ProhibitIpSec , 值:1 ---> 保存退出 ---> 重启计算机

2)新建网络连接

启动windows虚拟机--->新建网络连接--->连接到工作区--->使用我的internet连接VPN--->我将稍后设置我的连接 VPN网络设备--->右键连接--->输入用户tom,密码123456--->安全--->VPN类型:L2TP--->高级--->秘钥:randpass--->连接登录

猜你喜欢

转载自blog.csdn.net/mx_steve/article/details/90547622