R1的配置
sysname R1
[R1]int s0/2/0
[R1-Serial0/2/0]ip add 200.1.1.1 255.255.255.252
[R1-Serial0/2/0]undo shut
[R1-Serial0/2/0]int lo0
[R1-LoopBack0]ip add 192.168.1.1 255.255.255.255
[R1-LoopBack0]int tu
[R1-LoopBack0]int tunnel 0 ;进入tunnel(隧道口)
[R1-Tunnel0]ip add 10.1.1.1 255.255.255.252
[R1-Tunnel0]tunnel-protocol gre ;隧道封装协议为GRE
[R1-Tunnel0]source 200.1.1.1 ;封装后的包源地址为200.1.1.1
[R1-Tunnel0]destination 200.1.2.2 ;封装后的目的地址为200.1.2.2(R2的外网地址)
[R1]ip route-static 0.0.0.0 0.0.0.0 200.1.1.2 ;设置静态默认路由,指向ISP
[R1]ip route-static 192.168.2.0 255.255.255.0 Tunnel 0 ;所有到192.168.2.0的包从tunnel走
小结:R1的配置到此完成,R2上没有192.168.1.0和192.168.2.0的路由,所有192.168.1.0和192.168.2.0的通讯不能直接通过路由。于是我们使用公网IP对这个私网的包进行封装。
ip route-static 192.168.2.0 255.255.255.0 Tunnel 0 这条路由的作用就是对到192.168.2.0的包进行封装,封装后的源地址为200.1.1.1,目标地址为200.1.2.2,可以在公网上发送。
2. ISP的配置
[H3C]sysname ISP
[ISP-Serial0/2/0]ip add 200.1.1.2 255.255.255.252
[ISP-Serial0/2/0] ]undo shut
[ISP-Serial0/2/0]int s0/2/1
[ISP-Serial0/2/1]ip add 200.1.2.1 255.255.255.252
[ISP-Serial0/2/1]undo shut
3. R2的配置
<H3C>system
[R3]sysname R2 ;重命路由器为R2
[R2]int s0/2/0
[R2-Serial0/2/0]ip add 200.1.2.2 255.255.255.252
[R2-Serial0/2/0]undo shut
[R2-Serial0/2/0]int lo0
[R2-LoopBack0]ip add 192.168.2.1 255.255.255.255
[R2-LoopBack0]int tunnel 0
[R2-Tunnel0]ip add 10.1.1.2 255.255.255.252
[R2-Tunnel0]tunnel-protocol gre ;从此口出去的包进行GRE封装
[R2-Tunnel0]source 200.1.2.2
[R2-Tunnel0]destination 200.1.1.1
[R2-Tunnel0]quit
[R2]ip route-static 0.0.0.0 0.0.0.0 200.1.2.1 ;添加一个默认路由,指向ISP
[R2]ip route 192.168.1.0 255.255.255.0 tunnel 0 ;所有目标地址为192.168.1.0的包从tunnel转发到tunnel口