总部有固定IP。分支有两条线,拨号与固定IP。
目前分支通过固定IP,野蛮模式与总部互通,现在的新需求是:当分支固定IP中断后,vpn切换到分支拨号上,与总部互通。(可以自动切换吗)
这需求是否能实现?若能,如何配置。
(0)
可以的
总部和分支先建立两条IPSEC会话,建立IPSEC会话之后通过环回口创建两条GRE隧道,将内网私有地址流量引入到两条GRE隧道上,通过配置不同的路由优先级,形成主备链路,当主用链路出现故障的时候,流量切换到备份链路上。实现总部双出口分支单出口的IPSEC数据加密备份功能。
此配置中,分支地址是固定的,使用的是野蛮模式,所以此案例同样适用于分支是不固定地址的实际环境。
一:配置总部防火墙
interface LoopBack0
ip address 171.1.1.1 255.255.255.255
interface LoopBack1
ip address 170.1.1.1 255.255.255.255
ike identity fqdn ct-center // 配置本端的fqdn
ike profile newvpn //配置IKE策略集newvpn
keychain 11 //调用keychain 11
exchange-mode aggressive //配置第一阶段为野蛮模式
local-identity fqdn ct-center // 匹配本段的FQDN
match remote identity fqdn newvpn //匹配对端的FQDN newvpn
match local address 10.153.42.93 //匹配本端公网接口地址
proposal 1 //调用默认的IKE proposal 1
ike profile newvpn1 //配置IKE策略集newvpn1
keychain 11 //调用keychain 11
exchange-mode aggressive //配置第一阶段为野蛮模式
local-identity fqdn ct-center // 匹配本段的FQDN
match remote identity fqdn newvpn1 //匹配对端的FQDN newvpn1
match local address 9.153.42.93 //匹配本端另外一个公网接口地址
proposal 1 //调用默认的IKE proposal 1
ike keychain 11
pre-shared-key address 1.1.1.2 255.255.255.255 key cipher $c$3$hOvvun+Pf2Oly4UfN9SmKcRCp58k8w==
//配置keychain 11 匹配对端地址为1.1.1.2,如果是非固定地址则为0.0.0.0 0.0.0.0
ike proposal 1 配置IKE proposal 1
ipsec transform-set 1 //配置IPSEC 转换集
esp encryption-algorithm des-cbc //配置IPSEC封装为ESP,加密算法为des-cbc
esp authentication-algorithm md5 //配置IPSEC封装为ESP,摘要算法为md5
ipsec policy-template newvpn 1 // 指定IPsec安全策略模板 newvpn1
transform-set 1 //调用转换集1
security acl 3333 //匹配感兴趣的流为ACL 3333
local-address 10.153.42.93 // 匹配本端地址
ike-profile newvpn //调用IKE策略newvpn
#
ipsec policy-template newvpn1 1 //指定IPsec安全策略模板 newvpn1 1
transform-set 1 //调用转换集1
security acl 3333 //匹配感兴趣的流为ACL 3333
local-address 9.153.42.93 // 匹配本端地址
ike-profile newvpn1 //调用IKE策略newvpn1
acl advanced 3333 //创建ACL3333,两条rule分别匹配两条GRE隧道的流量
rule 0 permit ip source 170.1.1.1 0 destination 170.1.1.97 0 //GRE隧道T93的源和目的
rule 5 permit ip source 171.1.1.1 0 destination 171.1.1.97 0 //GRE隧道T94的源和目的ipsec
ipsec policy policy1 102 isakmp template newvpn 指定IPsec安全策略policy1 调用模板newvpn
ipsec policy policy2 102 isakmp template newvpn1 指定IPsec安全策略policy2 调用模板newvpn1
interface GigabitEthernet1/0/2
port link-mode route
ip address 10.153.42.93 255.255.255.0
ipsec apply policy policy1 //公网接口1/0/2 调用IPSEC 策略policy1
interface GigabitEthernet2/0/2
port link-mode route
ip address 9.153.42.93 255.255.255.0
ipsec apply policy policy2 //公网接口2/0/2 调用IPSEC 策略policy2
二:配置分支防火墙
interface LoopBack0
ip address 171.1.1.97 255.255.255.255 // 创建环回口0
#
interface LoopBack1 //创建环回口1
ip address 170.1.1.97 255.255.255.255
interface Tunnel1 mode gre // 配置tunnel 1
ip address 174.1.2.130 255.255.255.252
source 171.1.1.97 // 源为loopback 0地址
destination 171.1.1.1 // 目的为对端环回口地址
keepalive 10 3 // keepalive报文发送周期及最大发送次数
#
interface Tunnel2 mode gre // 配置tunnel 2
ip address 173.1.2.130 255.255.255.252
source 170.1.1.97 // 源地址为loopback 1地址
destination 170.1.1.1 // 目的地址为对端环回口地址
keepalive 10 3 // keepalive报文发送周期及最大发送次数
ike profile ct-center // 配置IKE策略ct-center
keychain 1 // 调用keychain 1
exchange-mode aggressive // 配置IKE模式为野蛮模式
local-identity fqdn newvpn // 匹配本端的FQDN,IKE身份标示
match remote identity address 10.153.42.93 255.255.255.255 //匹配对端身份标识地址
match remote identity fqdn ct-center // 匹配对端身份标示fqdn
proposal 1 // 调用proposal1
#
ike profile ct-center1 //配置IKE策略ct-center1
keychain 2 // 调用keychain 2
exchange-mode aggressive // 配置IKE模式为野蛮模式
local-identity fqdn newvpn1 // 匹配本端的FQDN,IKE身份标示
match remote identity address 9.153.42.93 255.255.255.255 // 匹配对端身份标识地址
match remote identity fqdn ct-center //匹配对端身份标示fqdn
proposal 1 // 调用proposal1
#
ike proposal 1 // 创建IKE porposal 1
ike keychain 1 // 创建ike keychian 1
pre-shared-key address 10.153.42.93 255.255.255.255 key cipher $c$3$o22VlyUl3a6FU5RFFo1dpfiElj9AMA==
#
ike keychain 2 // 配置ike keychain 2
pre-shared-key address 9.153.42.93 255.255.255.255 key cipher $c$3$+JPjaRAbpI8+NNmJTQtyWdKUZtcCWQ==
ipsec transform-set 1 //配置IPSEC 转换集
esp encryption-algorithm des-cbc //配置IPSEC封装为ESP,加密算法为des-cbc
esp authentication-algorithm md5 //配置IPSEC封装为ESP,摘要算法为md5
ipsec policy policy1 1 isakmp //配置ipsec policy1 序号为1
transform-set 1 // 调用转换集1
security acl 3000 // 匹配感兴趣的流ACL 3000
remote-address 10.153.42.93 // 匹配对端地址
ike-profile ct-center // 调用IKE 策略
#
ipsec policy policy1 2 isakmp // 创建ipsec policy1 序列为2
transform-set 1 // 调用转换集1
security acl 3001 // 匹配感兴趣的流ACL 3001
remote-address 9.153.42.93 // 匹配对端地址
ike-profile ct-center1 // 调用IKE 策略
acl advanced 3000 // 创建ACL 3000
rule 0 permit ip source 171.1.1.97 0 destination 171.1.1.1 0
#
acl advanced 3001
rule 0 permit ip source 170.1.1.97 0 destination 170.1.1.1 0 // 创建ACL 3001
interface GigabitEthernet0/2
port link-mode route
ip address 1.1.1.2 255.255.255.0 // 静态配置地址为1.1.1.2,也可以是动态获取地址方式
ipsec apply policy policy1 // 接口调用ipsec policy1
三:验证IKE SA,IPSCE SA,tunnel状态
总部:
Connection-ID Remote Flag DOI
------------------------------------------------------------------
3 1.1.1.2 RD IPsec
4 1.1.1.2 RD IPsec
可以看到建立了两个IKE安全关联,对端地址都是1.1.1.2
验证IPSEC SA
-------------------------------
Interface: GigabitEthernet1/0/2 公网接口1/0/2
-------------------------------
-----------------------------
IPsec policy: policy1 ipsec poliy为policy1
Sequence number: 102 序列号102
Mode: Template 模板模式
-----------------------------
Tunnel id: 0
Encapsulation mode: tunnel
Perfect Forward Secrecy:
Inside VPN:
Extended Sequence Numbers enable: N
Traffic Flow Confidentiality enable: N
Path MTU: 1444
Tunnel:
local address: 10.153.42.93
remote address: 1.1.1.2
Flow:
sour addr: 171.1.1.1/255.255.255.255 port: 0 protocol: ip
dest addr: 171.1.1.97/255.255.255.255 port: 0 protocol: ip
[Inbound ESP SAs]
......
Status: Active
-------------------------------
Interface: GigabitEthernet2/0/2 //公网接口2/0/2
-------------------------------
-----------------------------
IPsec policy: policy2 // ipsec policy2
Sequence number: 102 // 序列号102
Mode: Template // 模板模式
-----------------------------
Tunnel id: 1
Encapsulation mode: tunnel
Perfect Forward Secrecy:
Inside VPN:
Extended Sequence Numbers enable: N
Traffic Flow Confidentiality enable: N
Path MTU: 1444
Tunnel:
local address: 9.153.42.93
remote address: 1.1.1.2
Flow:
sour addr: 170.1.1.1/255.255.255.255 port: 0 protocol: ip
dest addr: 170.1.1.97/255.255.255.255 port: 0 protocol: ip
......
Status: Active 状态为active
验证隧道状态:
Tun93 up up 174.1.2.129 --
Tun94 up up 173.1.2.129 --
分支:
验证IKE SA
Connection-ID Remote Flag DOI
------------------------------------------------------------------
3 10.153.42.93 RD IPsec
4 9.153.42.93 RD IPsec
可以看到建立了两个IKE SA
验证IPSEC SA
-------------------------------
Interface: GigabitEthernet0/2 公网接口为g0/2
-------------------------------
-----------------------------
IPsec policy: policy1 // ipsec policy1
Sequence number: 1 // 序列号为1
Mode: ISAKMP //模式为isakmp
-----------------------------
Tunnel id: 0
Encapsulation mode: tunnel
Perfect forward secrecy:
Inside VPN:
Path MTU: 1443
Tunnel:
local address: 1.1.1.2 // 本端地址为1.1.1.2
remote address: 10.153.42.93 // 对端地址为10.153.42.93
Flow:
sour addr: 171.1.1.97/255.255.255.255 port: 0 protocol: ip
......
Status: Active
-----------------------------
IPsec policy: policy1 //同一个接口G0/2,ipsec 策略为policy1
Sequence number: 2 // 序列号为2
Mode: ISAKMP // 模式为isakmp
-----------------------------
Tunnel id: 1
Encapsulation mode: tunnel
Perfect forward secrecy:
Inside VPN:
Path MTU: 1443
Tunnel:
local address: 1.1.1.2
remote address: 9.153.42.93
Flow:
sour addr: 170.1.1.97/255.255.255.255 port: 0 protocol: ip
dest addr: 170.1.1.1/255.255.255.255 port: 0 protocol: ip
Status: Active
验证隧道状态:
Tun1 up up 174.1.2.130 --
Tun2 up up 173.1.2.130 --
可以发现,到目前为止,总部和分支分别建立了两条IPSEC,并且两个GRE隧道的状态都是up,可以用来跑流量。
四:通过配置路由形成主备
总部和分支两条隧道都建立之后,配置内网网段互访路由,赋予不同的优先级。
总部:
ip route-static 192.168.1.0 24 Tunnel93 preference 10 // 总部去往分支内部网段192.168.1.0/24 出接口是T93,优先级是10
ip route-static 192.168.1.0 24 Tunnel94 preference 20 //总部去往分支内部网段192.168.1.0/24 出接口是T94,优先级是20
分支:
ip route-static 10.10.10.0 24 Tunnel1 preference 10 //分支去往总部内部网段10.10.10.0/24出接口是T1,优先级是10
ip route-static 10.10.10.0 24 Tunnel2 preference 20 //分支去往总部内部网段10.10.10.0/24出接口是T2,优先级是20
当其中一个链路出现问题,IPSEC会断开,GRE隧道会断开,静态路由的下一跳不可达,可以切换到备份链路上。
五:测试
Reply from 10.10.10.8: bytes=56 Sequence=495 ttl=253 time=2 ms
Reply from 10.10.10.8: bytes=56 Sequence=496 ttl=253 time=2 ms
Reply from 10.10.10.8: bytes=56 Sequence=497 ttl=253 time=3 ms
Reply from 10.10.10.8: bytes=56 Sequence=498 ttl=253 time=3 ms
Reply from 10.10.10.8: bytes=56 Sequence=499 ttl=253 time=2 ms
Reply from 10.10.10.8: bytes=56 Sequence=500 ttl=253 time=3 ms
Request time out
Request time out // 切换过程当中,会有少量丢包,实现了链路备份。
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Reply from 10.10.10.8: bytes=56 Sequence=517 ttl=253 time=3 ms
Reply from 10.10.10.8: bytes=56 Sequence=518 ttl=253 time=3 ms
Reply from 10.10.10.8: bytes=56 Sequence=519 ttl=253 time=2 ms
Reply from 10.10.10.8: bytes=56 Sequence=520 ttl=253 time=2 ms
Reply from 10.10.10.8: bytes=56 Sequence=521 ttl=253 time=3 ms
Reply from 10.10.10.8: bytes=56 Sequence=522 ttl=253 time=5 ms
Reply from 10.10.10.8: bytes=56 Sequence=523 ttl=253 time=3 ms
Reply from 10.10.10.8: bytes=56 Sequence=524 ttl=253 time=2 ms
Reply from 10.10.10.8: bytes=56 Sequence=525 ttl=253 time=3 ms
Reply from 10.10.10.8: bytes=56 Sequence=526 ttl=253 time=2 ms
1、使用防火墙配置的时候,需要注意放通相应的域间策略,诸如 IPsec和L2TP等VPN业务都涉及到上送防火墙本地进行加解封装的操作,故一定要配置VPN流量所在域到Local域和相应反向的域间策略,确保VPN流量不被默认域间策略所拒绝。
2、因为总部是双出口,分支是单出口,并且使用的是野蛮模式,用于分支是不固定地址的情况,所以要使用野蛮模式(案例中是用的静态地址)在配置的时候一定要选用模板方式,在配置模板的时候,总部有两个出口,所以创建两个ipsec policy,并且I在配置ike policy时,match remote identity fqdn 要区分开,不能是一个身份标识。在配置分支路由器的时候,因为只有一个公网出口,所以只能配置一个ipsec policy,所以要在一个policy 里面通过配置不同的序列号进行区分。另外,创建本端路由器身份标识FQDN只能在ike profile中,区分开才会分别生效,全局只能配置一个FQDN。
3、GRE OVER IPSEC VPN,注意在配置IPSEC感兴趣的流的时候ACL匹配的是GRE隧道的源和目的。GRE隧道建立成功之后,可以通过配置不同优先级的静态路由实现链路备份,也可以采用动态路由方式学习私网路由。
(0)
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论