济群信息IT服务-企业云网 技术社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2256|回复: 0
打印 上一主题 下一主题

Cisco系列:Easy-VPN详细剖析(路由器、防火墙)

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-7 07:14
  • 签到天数: 73 天

    [LV.6]常住居民II

    158

    主题

    180

    帖子

    2645

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2645
    跳转到指定楼层
    楼主
    发表于 2019-8-28 00:59:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    一、 EASY-VPN简介
       Ipsecvpn实现站点到站点的VPN
       Easyvpn实现远程VPN
      1. Easy-vpn面临的问题
    1)因为整个ipsec VPN加密传输的根本就是事先配置在设备上的预共享秘钥,一旦秘钥外泄,整个ipsec VPN所作的努力全都会付之东流
    2)建立L2L IPSEC VPN时,双方都有固定的ip地址,这样我们才有可能在配置crypto map的时候指定对方的peer,才有可能配置crypto ACL来定义哪些流量将触发链接的建立。但是对于远程访问VPN而言,客户端一侧的ip是不可能固定的
    3)通过建立动态crypto map,映射到静态crypto map上的方法实现将xauth和组策略绑定到端口上,因为端口是不允许绑定动态crypto map的。
      2. XAUTH
    1)Xauth(扩展认证),Ipsec协议最初的设计并未考虑用户验证的问题,所以IETF引入了一个RFC的草案—XAUTH
    2)Xauth提供用户名和密码的方式来验证用户身份,用于解决easy-vpn密钥外泄的问题。
    3)既然存在用户验证自然就会涉及用户名和密码的存储方式,通常情况下有两种方式:
    l存储在VPN网关设备的内部数据库中。
    l存储在第三方设备上,如一台AAA服务器
    AAA服务器主要使用RADIUS(remote authentication dial in user server,远程验证拨入用户服务)协议和TACACS+(terminal access controller access control system,终端访问控制器访问控制系统)协议

    Radius是通用协议,协议类型为UDP。
    Tacacs+是思科独有的协议,只有思科的设备才能使用,但是协议类型是TCP相对radius安全很多
      3. 组策略
    1)因为客户端的IP是不固定的,所以在配置crypto的时候无法指定peer,这时我们可以让VPN网关去推送这些策略给客户端。
    2)策略主要包括:
    l  地址池:分配客户端地址
    l  DNS和网关:和DHCP一样,分配给客户端网关IP和DNS
    l  共享密钥:分配密钥给客户端
    l  分离隧道:实现客户端在连接VPN的同时可以访问internet
    l  分离DNS:实现客户端访问内网的网站使用内网的DNS,访问外网的网站,使用运营商的DNS
    二、实例(路由器)

      R1的VPN配置
        R1(config)#intf 0/1
        R1(config-if)#ipadd 192.168.1.1 255.255.255.0
        R1(config-if)#nosh
        R1(config-if)#exit
        R1(config)#intf 0/0
        R1(config-if)#ipadd 202.2.2.1 255.255.255.0
        R1(config-if)#nosh
        R1(config-if)#exit
        R1(config)#iproute 0.0.0.0 0.0.0.0 202.2.2.2
    首先配置xauth
        R1(config)#aaa new-model
          开启AAA
        R1(config)#aaa authentication login benet-authen local
          配置VPN客户端认证方式,local为本地认证,也就是在路由器上手动配置账户
        R1(config)#aaa authorization network benet-author local
          为远程访问VPN客户端进行授权
        R1(config)#username benet secret 123
          为客户端创建账户
        R1(config)#cryptoisakmp policy 10
        R1(config-isakmp)#encryption3des
        R1(config-isakmp)#hashsha   
        R1(config-isakmp)#authenticationpre-share
        R1(config-isakmp)#group2
          配置isakmp策略
        R1(config-isakmp)#exit
    定义组策略
        R1(config)#ip local pool benet-pool 172.16.0.1 172.16.0.10
          创建地址池
        R1(config)#ip access-list extended split-acl
        R1(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 any
          配置隧道分离需要的ACL
        R1(config-ext-nacl)#exit
        R1(config)#cryptoisakmp client configuration group benet-group
        R1(config-isakmp-group)#keybenet-key       预共享密钥
        R1(config-isakmp-group)#poolbenet-pool     应用之前配置的地址池
        R1(config-isakmp-group)#dns202.16.41.51    指定DNS
        R1(config-isakmp-group)#aclsplit-acl         调用隧道分离
        R1(config-isakmp-group)#split-dnsbenet.com  分离DNS
          配置用户组及其密钥,并且关联地址池等
        R1(config-isakmp-group)#exit
        R1(config)#crypto ipsec transform-set benet-set esp-3desesp-sha-hmac
        R1(cfg-crypto-trans)#exit
          配置传输集
    创建动态crypto和静态crypto并关联
        R1(config)#crypto dynamic-map benet-dymap 1
        R1(config-crypto-map)#set transform-set benet-set
          创建动态crypto并且关联传输集
        R1(config)#cryptomap benet-stamap 1000 ipsec-isakmp dynamic benet-dymap
          配置静态crypto关联动态crypto
        R1(config)#cryptomap benet-stamap client authentication list benet-authen
          配置静态crypto关联指定授权方式
        R1(config)#cryptomap benet-stamap isakmp authorization list benet-author
          配置静态crypto授权客户端使用IPsecVPN隧道
        R1(config)#cryptomap benet-stamap client configuration address respond
          让客户端首先发起连接
        R1(config)#intf 0/0
        R1(config-if)#cryptomap benet-stamap
          将静态map应用到接口
        R1(config-if)#end
        *Mar  1 00:08:34.355: %CRYPTO-6-ISAKMP_ON_OFF:ISAKMP is ONr
        R1#wr
        Buildingconfiguration...
        [OK]

       然后在客户端安装vpnclient去测试
    三、 Asa配置实例

       R1的配置

    ASA防火墙的VPN配置
        ciscoasa#conf t
        ciscoasa(config)#int e 0/0
        ciscoasa(config-if)#nameif inside
        ciscoasa(config-if)#security-level 100
        ciscoasa(config-if)#ip add 192.168.1.1 255.255.255.0
        ciscoasa(config-if)#no sh
        ciscoasa(config-if)#exit
        ciscoasa(config)#int e 0/1
        ciscoasa(config-if)#nameif outside
        ciscoasa(config-if)#security-level 0
        ciscoasa(config-if)#ip add 202.1.1.1 255.255.255.0
        ciscoasa(config-if)#no sh
        ciscoasa(config-if)#exit
        ciscoasa(config)#route outside 0.0.0.0 0.0.0.0 202.1.1.2
    首先配置isakmp第一阶段的传输集
        ciscoasa(config)# username benet password 123
          创建认证用户
        ciscoasa(config)# crypto isakmp enable outside
          启用asa的crypto功能
        ciscoasa(config)#crypto isakmp policy 10
        ciscoasa(config-isakmp-policy)#encryption 3des
        ciscoasa(config-isakmp-policy)#hash sha
        ciscoasa(config-isakmp-policy)#authentication pre-share
        ciscoasa(config-isakmp-policy)#group 2
          配置isakmp第一阶段的传输集
        ciscoasa(config-isakmp-policy)#exit
    定义组策略,阶段1.5
        ciscoasa(config)# ip local pool benet-pool172.16.0.1-172.16.0.10
          定义分配给客户端的地址池
        ciscoasa(config)# access-list split-acl permit ip 192.168.1.0255.255.255.0 any
          隧道分离实现访问VPN的同时,可以连接internet
        ciscoasa(config)# group-policy test-group internal

          Internal表示策略定义在本地,external表示策略定义在第三方服务器上(一般是AAA服务器上)。
        ciscoasa(config)# group-policy test-group attributes
          进入定义组策略的子命令行
        ciscoasa(config-group-policy)# split-tunnel-policytunnelspecified
          Tunnelall:所有流量必须走隧道,即不做分离隧道,这是默认设置。
          Tunnelspcified:所有匹配acl的流量走隧道。
          Excludespecified:所有不匹配ACL的流量走隧道。
        ciscoasa(config-group-policy)# split-tunnel-network-listvalue split-acl
          关联隧道分离
        ciscoasa(config-group-policy)#exit
        ciscoasa(config)#tunnel-group benet-group type ipsec-ra
        ciscoasa(config)#tunnel-group benet-group general-attributes
        ciscoasa(config-tunnel-general)#address-pool benet-pool

        ciscoasa(config-tunnel-general)#default-group-policy test-group
        ciscoasa(config-tunnel-general)#exit
          定义隧道组,将组策略关联,这里和路由器稍有区别
        ciscoasa(config)# tunnel-group benet-group ipsec-attributes
        ciscoasa(config-tunnel-ipsec)# pre-shared-key benet-key
        ciscoasa(config-tunnel-ipsec)# exit
          定义隧道组的共享密钥
    isakmp第二阶段
        ciscoasa(config)# crypto ipsec transform-set benet-setesp-3des esp-sha-hmac
          设置传输集指定加密算法和身份验证算法
        ciscoasa(config)# crypto dynamic-map benet-dymap 1 settransform-set benet-set
          创建动态map并且关联ipsec
        ciscoasa(config)# crypto map benet-stamap 1000 ipsec-isakmpdynamic benet-dymap
          创建静态map并且映射动态map
        ciscoasa(config)# crypto map benet-stamap interface outside
          将静态map映射到接口
        ciscoasa(config)#end
        ciscoasa#wr
        Buildingconfiguration...

         最后验证方式和路由器一样
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 支持支持 反对反对
    扫一扫,一起坐看风云变幻。使用微信扫描下方二维码关注济群IT服务官方微信(也可微信搜索:Jiquninfo或济群IT服务)。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|济群信息IT服务-企业云网 技术社区 ( 沪ICP备14030571号  

    GMT+8, 2024-12-29 09:47 , Processed in 0.101183 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表