二、 实验设备
1. 三层交换机一台(实训平台v1.0中cisco vios l2设备)
2. 二层交换机二台(实训平台v1.0中cisco iol switch设备)
3. 路由器三台(实训平台v1.0中cisco vIOS设备)
4. vpc 二台 (实训平台v1.0中virtual pc设备)
5.IPSEC VPN网关一台(实训平台v1.0中H3C vfw1000设备,但需要升级设备)
三、 实验拓扑图
四、 实验目的
1. 实现总部与分支企业内网vpc可以访问上公网
2. 实现总部与分支企业内网vpc可以通过IPSECVPN互访
3. 掌握VPN单臂部署的优势及应用场景、相关的配置
4. 结合理论进一步理解VPN通信过程
五、 实验需求、步骤及配置
1. 公网环境路由器的配置如下:
Router(config)#int g0/1
Router(config-if)#no shut
Router(config-if)#ip address 202.103.95.111 255.255.255.0
Router(config-if)#exit
Router(config)#int g0/0
Router(config-if)#no shut
Router(config-if)#ip address 202.103.96.111 255.255.255.0
Router(config-if)#exit
总部vpc配置,指定vpc主机ip为192.168.10.1,网关为192.168.10.254:
VPCS> ip 192.168.10.1 255.255.255.0 192.168.10.254
VPCS> ip dns 114.114.114.114 指定dns服务器
3. 总部接入层交换机IOL_SW的配置:
Switch(config)#vlan 10
Switch(config-vlan)#exit
Switch(config)#interface e0/0
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#exit
Switch(config)#interface e0/1
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
4. 总部核心/汇聚层交换机vIOS_SW配置
Switch(config)#vlan 10
Switch(config-vlan)#exit
Switch(config)#interface g0/0
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
Switch(config-if)#exit
Switch(config)#ip routing 启动路由功能
Switch(config)#interface vlan10
Switch(config-if)#ip address 192.168.10.254 255.255.255.0
Switch(config-if)#no shut
Switch(config)#interface g0/1
Switch(config-if)#no switchport 改为三层接口
Switch(config-if)#no shutdown
Switch(config-if)#ip address 10.1.1.1 255.255.255.252
Switch(config)#interface g0/2
Switch(config-if)#no switchport 改为三层接口
Switch(config-if)#no shutdown
Switch(config-if)#ip address 10.2.2.1 255.255.255.252
Switch(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.2 配置上网的缺省路由,下一跳为边界路
由器接口g0/1
Switch(config)#ip route 192.168.20.0 255.255.255.0 10.2.2.2
5. 北京总部公网边界路由器配置:
Router(config)#interface GigabitEthernet0/0
Router(config-if)#ip address 202.103.96.112 255.255.255.0
Router(config-if)#ip nat outside
Router(config-if)#no shutdown
Router(config)#interface GigabitEthernet0/1
Router(config-if)#ip address 10.1.1.2 255.255.255.252
Router(config-if)#ip nat inside
Router(config-if)#no shutdown
Router(config)#access-list 1 permit any 定义内网所有网段都可以做NAT上公网
Router(config)#ip nat inside source list 1 interface g0/0 overload 实现内网vpc访问公网
Router(config)#ip route 0.0.0.0 0.0.0.0 202.103.96.111 指向公网路由器
Router(config)#ip route 10.2.2.0 255.255.255.0 10.1.1.1 回程
Router(config)#ip route 192.168.10.0 255.255.255.0 10.1.1.1 回程
6. 总部IPSEC VPN网关配置,实现与长沙分支机构内网网段IP互通:
a) 完成IP、路由基本配置
[H3C] interface gigabitethernet 1/0
[H3C-GigabitEthernet1/0]un shut
[H3C -Gigabitethernet1/0] ip address 10.2.2.2 255.255.255.252
[H3C -Gigabitethernet1/0] quit
[H3C]ip route-static 0.0.0.0 0.0.0.0 10.2.2.1 配置默认路由,指向核心交换机,保证VPN
网关与服务器及公网互通
b) 因为此时用的是H3C防火墙做的VPN网关,所以需配置安全区域及策略,放通
访问防火墙自身的流量(local区域),否则直连都不能访问:
[H3C]security-zone name Trust 创建安全区域
[H3C-security-zone-Trust]import interface GigabitEthernet 1/0 绑定接口
[H3C-security-zone-Trust]quit
[H3C]acl advanced 3000
[H3C-acl-ipv4-adv-3000]rule permit ip source any destination any 配置ACL
[H3C-acl-ipv4-adv-3000]quit
[H3C]zone-pair security source trust destination local 允许从trust区域到LOCAL区域流量
[H3C-zone-pair-security-Trust-Local]packet-filter 3000
[H3C-zone-pair-security-Trust-Local]quit
[H3C]zone-pair security source local destination trust 允许从LOCAL区域到trust区域流量
[H3C-zone-pair-security-Trust-Local]packet-filter 3000
[H3C-zone-pair-security-Trust-Local]quit
[H3C]zone-pair security source trust destination trust 单臂模式,允许trust区域进出流量
[H3C-zone-pair-security-Trust-Local]packet-filter 3000
[H3C-zone-pair-security-Trust-Local]quit
IPSEC VPN策略配置 (NAT-T默认开启)
[H3C]acl advanced 3001 定义感兴趣流量,需要做VPN的私网网段
[H3C-acl-ipv4-adv-3001]rule permit ip source 192.168.10.0 0.0.0.255 destination
192.168.20.0 0.0.0.255
[H3C-acl-ipv4-adv-3001]quit
[H3C]ike proposal 1 定义IKE阶段一策略
[H3C-ike-proposal-1]authentication-method pre-share 指定身份认证的方法
[H3C-ike-proposal-1]encryption-algorithm des-cbc 指定IKE数据加密的算法
[H3C-ike-proposal-1]authentication-algorithm md5 指定IKE数据完整性的算法
[H3C-ike-proposal-1]dh group2 指定dh协议密钥组
[H3C]ipsec transform-set h3c 定义IKE阶段二策略,H3C为名字
[H3C-ipsec-transform-set-h3c]protocol esp 安全协议
[H3C-ipsec-transform-set-h3c]esp encryption-algorithm des-cbc 加密算法
[H3C-ipsec-transform-set-h3c]esp authentication-algorithm md5 hash算法
[H3C-ipsec-transform-set-h3c]encapsulation-mode tunnel 工作模式
[H3C-ipsec-transform-set-h3c]quit
[H3C]ike keychain h3c 创建用于身份认证的pre-shared key与对方ID绑定,
h3c为keychain名字
[H3C-ike-keychain-h3c]pre-shared-key address 202.103.95.112 key simple zhongyuan
ip为对方vpn网关ID,zhongyuan为pre-shared key
[H3C-ike-keychain-h3c]quit
[H3C]ike profile h3c 创建profile,名字为h3c
[H3C-ike-profile-h3c]keychain h3c 绑定创建好的keychain
[H3C-ike-profile-h3c]exchange-mode aggressive 开启野蛮模式
[H3C-ike-profile-h3c]match remote identity fqdn cisco 指定对方ID为cisco
[H3C-ike-profile-h3c]local-identity fqdn h3c 指定本地ID为h3c
[H3C-ike-profile-h3c]quit
[H3C]ipsec policy h3c 1 isakmp 定义加密策略集,h3c为名字
[H3C-ipsec-policy-isakmp-h3c-1]remote-address 202.103.95.112 对方公网IP
[H3C-ipsec-policy-isakmp-h3c-1]transform-set h3c 绑定阶段二策略
[H3C-ipsec-policy-isakmp-h3c-1]security acl 3001 绑定感兴趣流量
[H3C-ipsec-policy-isakmp-h3c-1]ike-profile h3c 绑定profile
[H3C-ipsec-policy-isakmp-h3c-1]quit
[H3C]int g1/0
[H3C-GigabitEthernet1/0]ipsec apply policy h3c 绑定加密策略集h3c
[H3C-GigabitEthernet1/0]quit
长沙分支机构vpc配置,指定vpc主机ip为192.168.20.1,网关为192.168.20.254:
VPCS> ip 192.168.20.1 255.255.255.0 192.168.20.254
VPCS> ip dns 114.114.114.114 指定dns服务器
分支接入层交换机IOL_SW的配置:
Switch(config)#vlan 20
Switch(config-vlan)#exit
Switch(config)#interface e0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
Switch(config-if)#exit
Switch(config)#interface e0/0
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
9. 分支机构边界VPN网关配置,实现与总部VPN网关建立IPSEC VPN隧道,配置如下:
a) 完成IP、路由基本配置:
Router(config)#int g0/0
Router(config-if)#no shut
Router(config-if)#ip nat outside
Router(config-if)#ip address 202.103.95.112 255.255.255.0
Router(config-if)#exit
Router(config)#int g0/1
Router(config-if)#no shut
Router(config-if)#exit
Router(config)#int g0/1.20 划分子接口,做单臂路由部署
Router(config-subif)#encapsulation dot1Q 20
Router(config-subif)#ip address 192.168.20.254 255.255.255.0
Router(config-subif)# ip nat inside
Router(config)#ip route 0.0.0.0 0.0.0.0 202.103.95.111 指向公网IP
Router (config)#access-list 102 deny ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255
Router (config)#access-list 102 permit ip 192.168.20.0 0.0.0.255 any 需要做NAT的网段
Router (config)#ip nat inside source list 102 interface g0/0 overload
此时,可以测试一下与对方公网IP的连通性,以及vpc访问公网
b) 完成IPSEC VPN策略配置,如下:
Router(config)#crypto isakmp policy 1 配置IKE阶段一策略
Router(config-isakmp)#authentication pre-share 网关身份认证方法
Router(config-isakmp)#hash md5 指定IKE数据完整性算法
Router(config-isakmp)#encryption des 指定IKE数据加密加密算法
Router(config-isakmp)#group 2 dh协议密钥组
Router(config-isakmp)#exit
Router(config)#crypto keyring key 创建密钥链,名称为key
Router(conf-keyring)#pre-shared-key address 202.103.96.112 key zhongyuan
Router(conf-keyring)#pre-shared-key hostname h3c key zhongyuan 对方ID: h3c和出口IP
都与pre-shared key绑定
Router(config)#crypto isakmp profile vpn 创建profile,名称为vpn
Router(conf-isa-prof)# keyring key 绑定密钥链
Router(conf-isa-prof)# self-identity fqdn cisco 指定本地身份ID为cisco
Router(conf-isa-prof)# match identity host h3c 指定对方的身份ID为h3c
Router(conf-isa-prof)# initiate mode aggressive 开启野蛮模式
Router(conf-isa-prof)#exit
Router(config)#crypto ipsec nat-transparency udp-encapsulation 开启NAT-T(为什么?)
Router (config)#access-list 101 permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255
定义感兴趣流量
Router (config)#crypto ipsec transform-set cisco esp-des esp-md5-hmac配置IKE阶段二
策略名字为cisco
Router (cfg-crypto-trans)#mode tunnel
Router (cfg-crypto-trans)#exit
Router (config)#crypto map cisco 10 ipsec-isakmp 配置加密图集,名字为cisco
Router (config-crypto-map)#set peer 202.103.96.112 指定对方公网IP
Router (config-crypto-map)#match address 101 绑定感兴趣流量
Router (config-crypto-map)#set transform-set cisco 绑定阶段二策略
Router (config-crypto-map)#exit
Router (config)#int g0/0
Router (config-if)#crypto map cisco
接下来测试总部与分支机构内网vpc的连通性,如下图:
a) 先从分支机构vpc测试与总部连通性,结果如下:
请求超时,表明网络不通,在ping之前打开了对公网路由器g0/1接口进行抓包,如下:
从记录看,只有分支机构去往总部的野蛮模式第一个ike包,没有收到总部VPN网关的
回应包,表明VPN隧道建立不成功,内网ping不通,也就是这个原因了。
现在改成从总部内网vpc测试与分支连通性,结果如下:
表明网络为可达,在ping之前打开了对公网路由器g0/1接口进行抓包,如下:
从记录看,野蛮模式协商过程正常,表明VPN隧道建立成功,内网互访可达,
再次测试分支机构访问总部,如图也是可访问的
为什么分支机构不能触发VPN建立,非得总部触发建立VPN,才能互访?如果要
让分支机构触发vpn建立成功,需要怎么做?
原因
总部 VPN 采用“总部-分支”模式:
1. 仅总部能当服务器,分支只能当客户端。
2. 出站端口(UDP 500/4500)或总部防火墙可能阻止分支主动连。
3. 总部未把分支 IP/证书加入白名单,或未开放“允许分支发起连接”规则。
4. 分支证书或预共享密钥配置错误,IKEv2/证书验证失败。
怎么做
总部(Hub)——只做“模板”
建 IKE peer / profile 但不写 remote-address;
建 policy-template → policy isakmp template;
把该 policy 绑到公网口 。
分支(Spoke)——指定总部、主动拨号
正常写 IKE peer,remote-address 指向总部公网 IP;
建 ipsec policy,引用 ACL/提议/peer;
关键:在接口下加 auto-neg(华为)或 tunnel mode ipsec ipv4 auto(H3C)等“自动协商”命令 。
触发流量
分支内网首次访问总部网段(或启用 DPD/NQA)即可产生“感兴趣流”,自动完成 IKE/IPsec 协商,隧道建立成功
在IPSec NAT-T(NAT穿越)中,UDP端口4500常用于封装ESP(封装安全载荷)报文,以解决NAT设备对IPSec报文的处理问题。UDP头部的源端口和目的端口通常都设置为4500,表示这是一个IPSec NAT-T报文。
UDP 端口 500:用于 IKE 协议,负责密钥交换和安全关联协商。
UDP 端口 4500:用于 IPSec NAT-T,解决 NAT 环境下的 IPsec 通信问题。