假设有这样一张网络,其中RTA和PCA表示某公司的A分支,通过中国电信CT路由器接入互联网ISP;RTB和PCB表示某公司的B分支,通过中国联通CU路由器接入互联网ISP。DNS(8.8.8.8)表示某互联网应用。
为实现A分支私网192.168.2.0/24和B分支私网192.168.3.0/24的互通,现计划使用某厂商的SD-WAN方案进打通两个内网,像下图这样简单变更一下网络。图中POP为某厂商SD-WAN方案用户接入点设备,分支侧通过接入CPE设备进行互通。为不改变现有网络结构,将CPE设备旁挂在分支的出口设备上,需要能够同时访问到内网和互联网即可,由CPE设备和POP设备建立隧道,进而实现内网互通。
这种架构的SD-WAN方案是目前实现比较简单的方案,对设备整体要求不高,只要支持IPsec即可,所以本案例主要也是通过IPsec来实现的。而且分支机构不需要具备公网IP地址,只要能访问互联网即可。
接下来就简单了,可以说是单纯的IPsec的配置。
创建IKE keychain,并配置与两个CPE使用的预共享密钥为明文的qwe123。
#
ike keychain key1
pre-shared-key hostname cpe1 key simple qwe123
pre-shared-key hostname cpe2 key simple qwe123
创建IKE profile,指定密钥为key1,配置IKE第一阶段协商使用野蛮模式。指定使用IP地址(24.1.1.4)标识本端身份,指定需要匹配对端身份类型为名称cpe1和cpe2。
#
ike profile pro1
keychain key1
aggressive
address 24.1.1.4
match remote identity fqdn cpe1
match remote identity fqdn cpe2
创建IPsec安全提议,ESP加密算法为aes-cbc-128,ESP认证算法为sha1。
#
ipsec transform-set tran1
esp encryption-algorithm aes-cbc-128
esp authentication-algorithm sha1
配置IPsec安全框架,通过IKE协商建立安全联盟。
ipsec profile sdwan isakmp
transform-set tran1
ike-profile pro1
创建模式为psec-p2mp的隧道接口Tunnel1,配置WAN口地址为接口的源端地址,并配置Tunnel1接口的IP地址。最后在IPsec隧道接口上应用IPsec安全框架sdwan。
#
interface Tunnel1 mode ipsec-p2mp
ip address 11.1.1.1 255.255.255.0
source 24.1.1.4
tunnel protection ipsec profile sdwan
添加A分支到B分支的静态路由。
#
ip route-static 192.168.2.0 24 Tunnel1 11.1.1.2
ip route-static 192.168.3.0 24 Tunnel1 11.1.1.3
创建IKE keychain,并配置与POP(地址为24.1.1.4)的对端使用的预共享密钥为明文的qwe123。
#
ike keychain key1
pre-shared-key address 24.1.1.4 255.255.255.0 key simple qwe123
创建IKE profile,指定密钥为key1,配置IKE第一阶段协商使用野蛮模式,指定使用名称cpe1标识本端身份。指定需要匹配对端身份类型为IP地址,取值为24.1.1.4。
#
ike profile pro1
keychain key1
exchange-mode aggressive
local-identity fqdn cpe1
match remote identity address 24.1.1.4 255.255.255.0
创建IPsec安全提议,ESP加密算法为aes-cbc-128,ESP认证算法为sha1。
#
ipsec transform-set tran1
esp encryption-algorithm aes-cbc-128
esp authentication-algorithm sha1
配置IPsec安全框架,通过IKE协商建立安全联盟。
ipsec profile sdwan isakmp
transform-set tran1
ike-profile pro1
创建模式为IPsec的隧道接口Tunnel1,配置WAN口地址为接口的源端地址,配置POP地址为接口的目的端地址,并配置Tunnel1接口的IP地址。最后在IPsec隧道接口上应用IPsec安全框架sdwan。
#
interface Tunnel1 mode ipsec
ip address 11.1.1.2 255.255.255.0
source GigabitEthernet2/0
destination 24.1.1.4
tunnel protection ipsec profile sdwan
配置A分支到B分支的静态路由。
#
ip route-static 192.168.3.0 24 Tunnel1
ip route-static 4.4.4.0 24 Tunnel1
配置同CPE1,不再赘述,直接上配置。
#
ike keychain key1
address 24.1.1.4 255.255.255.0 key simple qwe123
#
ike profile pro1
keychain key1
aggressive
fqdn cpe2
match remote identity address 24.1.1.4 255.255.255.0
#
ipsec transform-set tran1
esp encryption-algorithm aes-cbc-128
esp authentication-algorithm sha1
#
ipsec profile sdwan isakmp
tran1
pro1
#
interface Tunnel1 mode ipsec
ip address 22.1.1.2 255.255.255.0
source GigabitEthernet2/0
destination 24.1.1.4
tunnel protection ipsec profile sdwan
#
ip route-static 192.168.2.0 24 Tunnel1
ip route-static 4.4.4.0 24 Tunnel1
接下来只要在路由器RTA和RTB上将去往对端私网流量的下一跳指向CPE就可以了。
#
ip route-static 192.168.3.0 24 192.168.2.10
#
ip route-static 192.168.2.0 24 192.168.3.10
从PCA上测试访问PCB的情况。
可以看到,访问正常,并且通过tracert查看转发路径,流量是先到网关,再到CPE1,再到POP,再到CPE2,最后到达目标主机PCB。
而且,此时是不影响访问互联网的,在私网互通的同时可以正常访问模拟的公网业务。
查看隧道接口状态。
查看当前IKE SA的信息。
查看当前IPsec SA的信息。
可以看到POP上隧道对端的地址是分支的出口公网IP地址,而流量是全0的,也就是说,任何流量转发过来都会封装IPsec,这就是IPsec隧道的魅力所在。
如果要增加流量,只需要两端内网对应的增加路由就可以了。