一、环境搭建
Router A 内网地址10.1.1.1/24通过公网地址1.1.1.1/24进行封装然后走隧道10.1.2.1/24
Router B 内网地址10.1.3.1/24通过公网地址2.2.2.2/24进行封装然后走隧道10.1.2.2/24
如果在GNS3中实验可以起loopback口作为内网地址,Internet用路由模拟但不起路由只配IP,Router A和Router B都起默认路由指向Internet,这样就能实现公网通内网不通,然后再做GRE使得内网互通而且互相传递内网路由信息
二、GRE 配置
(1)Router A 配置
RouterA(config)# int tunnel 0 //起一个隧道接口,0是隧道的序号,可以有多条隧道
RouterA(config-if)# ip add 10.1.2.1 255.255.255.0 //给隧道配IP,隧道两边要同一网段
RouterA(config-if)# tunnel source 1.1.1.1 //指定隧道的源(公网IP),也可以写成接口
RouterA(config-if)# tunnel destination 2.2.2.2 //指定隧道的目的端(公网IP)
RouterA(config-if)# tunnel mode gre ip //配置隧道封装的模式,这里使用基于IP的gre模式封装
RouterA(config)# ip route 10.1.3.0 255.255.255.0 10.1.2.2 //写一条静态路由,目标网段是对远端的内网地址,下一跳是对端隧道接口的地址,这样当我们去访问远端内网时就可以走隧道,也可以起其他路由协议,如ospf,eigrp等,不过要把tunnel的网段宣告进去,不要把公网地址的线路宣告进去,可以把tunnel理解成是一条直连的线路
注意:1. 配置完后可以show ip int brief查看tunnel接口是否起来,如果网络是通的tunnel就会起来;2. 配置是双向的
(2)Router B 配置
RouterB(config)# int tunnel 0 //起一个隧道接口,0是隧道的序号,可以有多条隧道
RouterB(config-if)# ip add 10.1.2.2 255.255.255.0 //给隧道配IP,隧道两边要同一网段
RouterB(config-if)# tunnel source 2.2.2.2 //指定隧道的源(公网IP),也可以写成接口
RouterB(config-if)# tunnel destination 1.1.1.1 //指定隧道的目的端(公网IP)
RouterB(config-if)# tunnel mode gre ip //配置隧道封装的模式,这里使用基于IP的gre模式封装
RouterB(config)# ip route 10.1.1.0 255.255.255.0 10.1.2.1 //写一条静态路由,目标网段是对远端的内网地址,下一跳是对端隧道接口的地址,这样当我们去访问远端内网时就可以走隧道,也可以起其他路由协议,如ospf,eigrp等,不过要把tunnel的网段宣告进去,不要把公网地址的线路宣告进去,可以把tunnel理解成是一条直连的线路
(3)测试
本端内网访问对端内网看通不通
本端show ip route看有没有对端内网的路由
三、IPsec 配置
(1)Router A 配置
crypto isakmp enable
crypto isakmp policy 10
group 2
authentication pre-share
encryption3des
hash sha
lifetime86400
crypto isakmp key 0 abc address 2.2.2.2 //对端公网IP
crypto ipsec transform-set ccie esp-aes esp-sha-hmac
mode transport
access-list 100 permit gre host1.1.1.1 host 2.2.2.2 //注意这里写的是公网接口的IP,意思是凡是数据流到我这个接口出去的都作为GRE流量,都作为感兴趣流
crypto map cisco10 ipsec-isakmp
set peer 2.2.2.2 //对端公网接口地址
set transform-set ccie
match address 100
int f0/0
crypto mapcisco
(2)Router B 配置
crypto isakmp enable
crypto isakmp policy 10
group 2
authentication pre-share
encryption3des
hash sha
lifetime86400
crypto isakmp key 0 abc address 1.1.1.1 //对端公网IP
crypto ipsec transform-set ccie esp-aes esp-sha-hmac
mode transport
access-list 100 permit gre host2.2.2.2host 1.1.1.1 //注意这里写的是公网接口的IP,意思是凡是数据流到我这个接口出去的都作为GRE流量,都作为感兴趣流
crypto map cisco10 ipsec-isakmp
set peer 1.1.1.1 //对端公网接口地址
set transform-set ccie
match address 100
int f0/1
crypto mapcisco