IPSEC OVER GRE
在R1上创环回口8.8.8.8为私网地址,R3上创9.9.9.9为私网地址,R1和R3建立GRE隧道,通过IPSEC给数据加密
一.R1和R3之间建立GRE隧道
1.正常配ip地址
[R1]ip route-static 0.0.0.0 0 12.1.1.2 //私网通过默认路由出去,R3也需要默认路由指向外网
2.R1和R3之间建立GRE隧道
R1的配置
[R1]interface Tunnel 0 mode gre //R1上创建Tunnel 0口,选择通用路由封装GRE
[R1-Tunnel0]ip address 10.1.1.1 255.255.255.0 //Tunnel口作为隧道口,随意配置这个隧道接口地址为10.1.1.1/24,两个隧道口要在同一网段
[R1-Tunnel0]source 12.1.1.1 //在R1上指明本地的隧道口的来源为12.1.1.1
[R1-Tunnel0]destination 23.1.1.3 //在R1上指明另一个隧道口的来源为23.1.1.3
[R1-Tunnel0]keepalive //开启检测存活机制,R3也需要开启
[R1-Tunnel0]gre key 123456 //配置GRE密匙,当两个Tunnel口的密匙相同才能成功建立隧道,R3也需要配一样的
R3的配置
[R3]interface Tunnel 0 mode gre //R3上创建Tunnel 0口,选择通用路由封装GRE
[R3-Tunnel0]ip address 10.1.1.3 255.255.255.0 //Tunnel口作为隧道口,随意配置这个隧道接口地址为10.1.1.3/24,两个隧道口要在同一网段
[R3-Tunnel0]source 23.1.1.3 //在R3上指明本地的隧道口的来源为23.1.1.3
[R3-Tunnel0]destination 12.1.1.1 //在R3上指明另一个隧道口的来源为12.1.1.1
[R3-Tunnel0]keepalive //开启检测存活机制,R1也需要开启
[R3-Tunnel0]gre key 123456 //配置GRE密匙,当两个Tunnel口的密匙相同才能成功建立隧道,R1也需要配一样的
GRE隧道就建立完成啦
二.IPSEC
1.创建感兴趣流
以下是R1上的配置
[R1]acl advanced 3000 //创建一个高级acl
[R1-acl-ipv4-adv-3000]rule 0 permit ip source 私网网段 destination 私网网段 //source接R1的私网网段,destination接R3的私网网段
2.创建IKE提议,名字为1,配置验证方式和加密算法
[R1]ike proposal 1 //名字为1
[R1-ike-proposal-1]authentication-method pre-share //认证方式为非对称,H3C默认项
[R1-ike-proposal-1]authentication-algorithm sha //加密算法选择sha,H3C默认项
3.创建域共享**,名字为1
[R1]ike keychain 1 //名字为1
[R1-ike-keychain-1]pre-shared-key address 10.1.1.3 key simple 123456 //指定另一端的Tunnel口地址,并为另一端地址创建域共享**
4.创建IKE模板,名字为1,并且调用域共享**,和IKE提议,指定对端Tunnel
[R1]ike profile 1 //名字为1
[R1-ike-profile-1]local-identity address 10.1.1.1 //指定本地的隧道口地址
[R1-ike-profile-1]match remote identity address 10.1.1.3 //匹配另一端隧道地址,或者是说指明另一端Tunnel地址
[R1-ike-profile-1]keychain 1 //调用创建好的域共享**
[R1-ike-profile-1]proposal 1 //调用创建好IKE提议
5.创建ipsec转换集,名字为1,指定第二阶的协议模式和算法
[R1]ipsec transform-set 1 //名字为1
[R1-ipsec-transform-set-1]esp encryption-algorithm aes-cbc-128 //选择加密算法为aes-cbc-128
[R1-ipsec-transform-set-1]esp authentication-algorithm sha1 //指定ESP认证算法
6.创建ipsec策略
[R1]ipsec policy 1 1 isakmp //创建ipsec policy策略,名字叫1,节点为1, 使用IKE建立IPsec SAs
[R1-ipsec-policy-isakmp-R3-1]transform-set 1 //调用我们之前创建的转换集
[R1-ipsec-policy-isakmp-R3-1]security acl 3000 //调用我们创建的ACL
[R1-ipsec-policy-isakmp-R3-1]remote-address 10.1.1.3 //再一次指定目的隧道口
[R1-ipsec-policy-isakmp-R3-1]ike-profile 1 //调用我们创建的IKE模板
7.Tunnel口调用ipsec策略
[R1-Tunnel0]ipsec apply policy 1
1.创建感兴趣流
以下是R3的配置
1.创建感兴趣流
[R3-acl-ipv4-adv-3000]rule permit ip source 9.9.9.9 0 destination 8.8.8.8 0 //source接R3的私网网段,destination接R1的私网网段
2.创建IKE提议,名字为1,配置验证方式和加密算法
[R3]ike proposal 1 //名字为1
[R3-ike-proposal-1]authentication-method pre-share //认证方式为非对称,H3C默认项
[R3-ike-proposal-1]authentication-algorithm sha //加密算法选择sha,H3C默认项
3.创建域共享**,名字为1
[R3]ike keychain 1 //名字为1
[R3-ike-keychain-1]pre-shared-key address 10.1.1.1 key simple 123456 //指定另一端的Tunnel口地址,并为另一端地址创建域共享**
4.创建IKE模板,名字为1,并且调用域共享**,和IKE提议,指定对端Tunnel
[R3]ike profile 1 //名字为1
[R3-ike-profile-1]local-identity address 10.1.1.3 //指定本地的隧道口地址
[R3-ike-profile-1]match remote identity address 10.1.1.1 //匹配另一端隧道地址,或者是说指明另一端Tunnel地址
[R3-ike-profile-1]keychain 1 //调用创建好的域共享**
[R3-ike-profile-1]proposal 1 //调用创建好IKE提议
5.创建ipsec转换集,名字为1,指定第二阶的协议模式和算法
[R3]ipsec transform-set 1 //名字为1
[R3-ipsec-transform-set-1]esp encryption-algorithm aes-cbc-128 //选择加密算法为aes-cbc-128
[R3-ipsec-transform-set-1]esp authentication-algorithm sha1 //指定ESP认证算法
6.创建ipsec策略
[R3]ipsec policy 1 1 isakmp //创建ipsec policy策略,名字叫1,节点为1, 使用IKE建立IPsec SAs
[R3-ipsec-policy-isakmp-R3-1]transform-set 1 //调用我们之前创建的转换集
[R3-ipsec-policy-isakmp-R3-1]security acl 3000 //调用我们创建的ACL
[R3-ipsec-policy-isakmp-R3-1]remote-address 10.1.1.1 //再一次指定目的隧道口
[R3-ipsec-policy-isakmp-R3-1]ike-profile 1 //调用我们创建的IKE模板
7.Tunnel口调用ipsec策略
[R3-Tunnel0]ipsec apply policy 1
到此IPSEC就创建好了
测试
此时数据已经被加密为ESP,到此私网不互通
三.如果想让私网互通,还需要在R1和R3上跑ospf,宣告私网地址和Tunnel口地址
R1的ospf宣告私网地址和Tunnel口地址
R3一样
抓包是看不到私网地址的
查看ipsec安全关联信息
“ display ipsec sa ”
我在R1上创建的ipsec策略的名字为R3,Tunnel0为隧道口,隧道的源地址为10.1.1.1,匹配远程的隧道口地址为10.1.1.3,上面的步骤配ipsec策略的名字为1
R1去9.9.9.9 走Tunnel口