目录
4. 北京总部、上海分支、济南分支配置 GRE over IPsec VPN 连通内网,要求使用模板来简化配置
文章简介:本文用HCL华三设备对企业网络进行了规划和模拟,也同样适用于校园等场景,文章附完整设备配置命令。附件为HCL项目,如有需要可下载后联系作者,提供售后服务,可以根据定制化需求做修改
作者简介:高级网络工程师,希望能认识更多的小伙伴一起交流,可私信或企鹅号:3121200538
咸鱼搜索:不会跑路的攻城狮 B站:不会跑路的攻城狮
组网拓扑:
组网需求
- 某企业北京总部、上海分支、武汉分支分别通过 BJ,SH,JN 接入互联网,配置默认路由连通公网
- 按照图示配置 IP 地址,BJ,SH,JN 分别配置 Loopback0 口匹配感兴趣流,Loopback1 口模拟业务网段
- 北京总部拥有固定公网地址,在 R2 上配置 DHCP,对 SH 和 JN 动态分配 IP 地址,IP 地址网段如图
- 北京总部、上海分支、武汉分支配置 GRE over IPsec VPN 连通内网,要求北京总部使用模板来简化配置
- 总部和分支之间配置 OSPF 传递内网路由
组网步骤
1. 配置默认路由部分略
2. 配置 IP 地址部分略
3. 配置 DHCP 部分略
4. 北京总部、上海分支、济南分支配置 GRE over IPsec VPN 连通内网,要求使用模板来简化配置
步骤 1:在 BJ 上创建 GRE Tunnel 口,配置 IP 地址,并指定源地址和目的地址为两端 Loopback0 口地址
分析:由于需要配置 GRE over IPsec,所以 Tunnel 口的源地址和目的地址配置为两端 Loopback0 口,且根据图示,Tunnel0 口对应 SH,Tunnel1 口对应 JN
[BJ]interface Tunnel0 mode gre
[BJ-Tunnel0]ip address 10.1.1.1 24
[BJ-Tunnel0]source LoopBack 0
[BJ-Tunnel0]destination 10.10.10.3
[BJ]interface Tunnel1 mode gre
[BJ-Tunnel1]ip address 10.2.2.1 24
[BJ-Tunnel1]source LoopBack 0
[BJ-Tunnel1]destination 10.10.10.4
步骤 2:在 BJ 上配置 FQDN 名为 bj
分析:由于总部拥有固定公网 IP,但分支没有固定 IP 地址,所以必须使用野蛮模式来连接 VPN,只能通过 FQDN 名称来识别对端身份
[BJ]ike identity fqdn bj
步骤 3:在 BJ 上创建 IKE 提议,使用默认配置即可
[BJ]ike proposal 1
步骤 4:在 BJ 上创建预共享密钥,这里连接上海和武汉分支使用同样的密钥,所以可以只配置一条 Keychain,在 Keychain 中分别对上海和武汉配置密钥
[BJ]ike keychain fz
[BJ-ike-keychain-fz]pre-shared-key hostname sh key simple 123456
[BJ-ike-keychain-fz]pre-shared-key hostname wh key simple 123456
步骤 5:在 BJ 上创建 IKE Profile
分析:在 IKE Profile 中配置 IKE 模式为野蛮模式,并使用 FQDN 名称来标识对端
[BJ]ike profile sh
[BJ-ike-profile-sh]exchange-mode aggressive
[BJ-ike-profile-sh]match remote identity fqdn sh
[BJ-ike-profile-sh]proposal 1
[BJ-ike-profile-sh]keychain fz
[BJ]ike profile wh
[BJ-ike-profile-wh]exchange-mode aggressive
[BJ-ike-profile-wh]match remote identity fqdn wh
[BJ-ike-profile-wh]proposal 1
[BJ-ike-profile-wh]keychain fz
步骤 6:在 BJ 上创建 IPsec 转换集,对两个分支可以使用同一个转换集
[BJ]ipsec transform-set fz
[BJ-ipsec-transform-set-fz]esp authentication-algorithm sha1
[BJ-ipsec-transform-set-fz]esp encryption-algorithm aes-cbc-128
步骤 7:在 BJ 上分别创建对上海和武汉分支的 IPsec 策略模板
[BJ]ipsec policy-template sh 1
[BJ-ipsec-policy-template-sh-1]transform-set fz
[BJ-ipsec-policy-template-sh-1]ike-profile sh
[BJ]ipsec policy-template wh 1
[BJ-ipsec-policy-template-wh-1]transform-set fz
[BJ-ipsec-policy-template-wh-1]ike-profile wh
步骤 8:在 BJ 上创建 IPsec 策略,绑定两个模板
[BJ]ipsec policy fz 1 isakmp template sh
[BJ]ipsec policy fz 2 isakmp template wh
步骤 9:在 BJ 的公网接口上下发 IPsec 策略
[BJ-GigabitEthernet0/0]ipsec apply policy fz
步骤 11:在 SH 上创建 GRE Tunnel 口,配置方法与 BJ 一致
[SH]interface Tunnel1 mode gre
[SH-Tunnel1] ip address 10.1.1.2 255.255.255.0
[SH-Tunnel1] source LoopBack0
[SH-Tunnel1] destination 10.10.10.1
步骤 12:在 SH 上配置 IPsec 感兴趣流,目的和源为两端 Loopback0 口地址
分析:由于上海和武汉分支没有固定公网 IP 地址,所以需要配置感兴趣流,来作为建立隧道的主动发起方;但是北京总部由于拥有固定公网 IP,所以无需配置感兴趣流
[SH]acl advanced 3000
[SH-acl-ipv4-adv-3000]rule permit ip source 10.10.10.3 0 destination 10.10.10.1 0
步骤 13:在 SH 上配置 FQDN 名为 sh,方法与 BJ 一致
[SH] ike identity fqdn sh
步骤 14:在 SH 上创建 IKE 提议,方法与 BJ 一致
[SH]ike proposal 1
步骤 15:在 SH 上创建 IKE 预共享密钥,匹配对端公网地址
[SH]ike keychain bj
[SH-ike-keychain-bj]pre-shared-key address 100.1.1.1 key simple 123456
步骤 16:在 SH 上创建 IKE Profile,方法与 BJ 一致
[SH]ike profile bj
[SH-ike-profile-bj]exchange-mode aggressive
[SH-ike-profile-bj]match remote identity fqdn bj
[SH-ike-profile-bj]proposal 1
[SH-ike-profile-bj]keychain bj
步骤 17:在 SH 上创建 IPsec 转换集,加密和验证算法需要与 BJ 上一致
[SH]ipsec transform-set bj
[SH-ipsec-transform-set-bj] esp encryption-algorithm aes-cbc-128
[SH-ipsec-transform-set-bj] esp authentication-algorithm sha1
步骤 18:在 SH 上创建 IPsec 策略,调用上述配置
[SH]ipsec policy bj 1 isakmp
[SH-ipsec-policy-isakmp-bj-1]security acl 3000
[SH-ipsec-policy-isakmp-bj-1]remote-address 100.1.1.1
[SH-ipsec-policy-isakmp-bj-1]ike-profile bj
[SH-ipsec-policy-isakmp-bj-1]transform-set bj
步骤 19:在 SH 的公网接口上下发 IPsec 策略
[SH-GigabitEthernet0/0]ipsec apply policy bj
步骤 20:在 JN 上配置 GRE over IPsec VPN,配置方法与 SH 一致,步骤略
5. 总部和分支之间配置 OSPF 传递内网路由
步骤 1:在 BJ,SH,JN 上分别配置 OSPF,宣告 Tunnel 口网段和各自业务网段,
[BJ]ospf 1 router-id 3.3.3.3
[BJ-ospf-1] default-route-advertise always
[BJ-ospf-1] import-route static
[BJ-ospf-1] area 0.0.0.0
[BJ-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[BJ-ospf-1-area-0.0.0.0] network 10.2.2.0 0.0.0.255
[BJ-ospf-1-area-0.0.0.0] network 192.168.10.0 0.0.0.255
[BJ-ospf-1-area-0.0.0.0] network 192.168.20.0 0.0.0.255
[JN]ospf 1 router-id 1.1.1.1
[JN-ospf-1] default-route-advertise always
[JN-ospf-1] import-route static
[JN-ospf-1] area 0.0.0.0
[JN-ospf-1-area-0.0.0.0] network 10.2.2.0 0.0.0.255
[JN-ospf-1-area-0.0.0.0] network 172.16.20.0 0.0.0.255
[SH]ospf 1
[SH-ospf-1]default-route-advertise always
[SH-ospf-1] import-route static
[SH-ospf-1] area 0.0.0.0
[SH-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[SH-ospf-1-area-0.0.0.0] network 172.16.10.0 0.0.0.255
步骤 2:在 BJ,SH,JN 上分别配置到达其他两个站点环回口的静态路由,下一跳指向公网
分析:由于 RIP 只能宣告主类网络,所以 GRE Tunnel 口中的源和目的地址会被迫宣告进 RIP,所以 BJ,SH,JN 会分别学习到达对端 Loopback0 口的路由,下一跳指向 Tunnel 口,基于路由最长掩码匹配规则,数据包发往 Tunnel 口进行 GRE 封装后,不会匹配默认路由扔向公网接口进行 IPsec 封装,而是会再次发往 Tunnel 口进行重复 GRE 封装,这样将造成 Tunnel 口频繁 UP/DOWN,所以需要配置静态路由,来使经过 GRE 封装之后的数据包能够正确扔向公网口进行 IPsec 封装
[BJ]ip route-static 10.10.10.3 32 100.1.1.2
[BJ]ip route-static 10.10.10.2 32 100.1.1.2
[SH]ip route-static 10.10.10.1 32 100.2.2.2
[JN]ip route-static 10.10.10.1 32 100.3.3.2
效果测试:在 BJ,SH,JN 上使用 Loopback0 口为源地址 Ping 其他分支的业务网段,可以 Ping 通
济南分部通过北京总部访问上海分部,同样上海分部也可以通过北京总部访问济南分布