梅利333

从无到有,自有至精

导航

ipv6 ---- 8 tunnel

 TUNNEL

GRE  

6 TO 4 

ISATAP

MPLS 6PE

 

GRE

 

 需求

1 每个节点都有一个IPV6环回口地址

2 直连接口开启ipv6 功能

3 按照拓扑中的标记运行路由协议

4 配置一条tunnel ,穿戴IPV4 区域 ,模式为GRE

5 tunnel 运行eigrpv6 查看通过 tunnel 建立 的eigrp邻居

6 修改R2R3的tunnel 类型为ipv6ip

7 测试连通性

8 考虑两种 tunnel 封装类型的区别

  

配置

1 2 3 不用说了,

直接看第4步

建立tunnel

和平常的一样,

R2(config)#inter tun 0

R2(config-if)#tunnel source f0/1     

R2(config-if)#tun destination 23.0.0.3

R2(config-if)#ipv6 address 6666::1/128(这里也可以不用写global地址 ,直接 ipv6 enable也OK的,只要是有FE80也可以的,no problem)

PS:这里还要注意的是,tunnel默认的模式是IP ,是用IPV4来建立的

然后将这个接口宣告到EIGRP 1 中。这样,

就等于是IPV6地址使用tunnel 接口实现了互通,而不考虑IPV4

Tunnel 建立完成,成功的标识 就是在R1上查看能不能看到R4的路由条目,

如果有那么说明没有问题,说明tunnel 已经开始工作了。

 

 

 然后我们可以测试一下

 R1------ R4的loopback 接口,看能否通信

 

 路由已经顺利的传递过来,通信问题不大,

接下来分析一下,GRE默认情况下IPV6 是如何通过的

 

从图中可以看到数据 是如何封装的,

Layer 2

IPV4

 

gre

IPV6

ICMPV6

S:23.0.0.2

S:1111::1

 

PING

D:23.0.0.3

D:4444::4

可以看到GRE的头部,

然后又封装了一个IPV4的头部,而IPV4的source 和destination地址 就是tunnel 的源和目的 地址

 

现在将TUNNEL的模式 改为ipv6ip

然后查看eigrp邻居的效果 ,以及还能否正常通信

R2(config)#interface tunnel 0

R2(config-if)#tun mode ipv6ip

 

R3(config)#interface tunnel 0

R3(config-if)#tun mode ipv6ip

 邻居会先down ,然后再发现新的邻居,

 

 当邻居建立 完成之 后,就会相互通告自己的路由给邻居 ,

还是一样,如果在R1上能够收到R4的条目,那说明tunnel  没有问题

 

继续进行ping 测试

 

 

 

 没问题,也是通的,查看一下它的过程

而这时看到的就和GRE不同了

Layer 2

IPV4

IPV6

ICMPV6

S:23.0.0.2

S:1111::1

 

PING

D:23.0.0.3

D:4444::4

可以看到,已经 没有了GRE头部了,而是直接封装的23.0.0.2 和23.0.0.3

为什么 呢?

 

普通的GRE 和gre ipv6ip 倒底有什么区别呢?

如果没有GRE,倒底有什么区别呢?

有GRE,头部,根本就不在乎中间的路由是不是IPV4,还可以支持其它的协议,如ISIS

而如果是IPV6IP的话,中间一定是要封装IPV4报头的,

 

6 to 4 tunnel

特点,不支持组播的(不能跑动态 路由,只能跑static,静态路由)

是一个点到多点隧道 ,

配置时只有source

而没有destination

这一点很像DMVPN 和多点建立隧道

 Tunnel source f0/0

Tun mode ipv6ip 6to4

Ipv6 address 2002:C80F:0F01::1/128  //由tunnel source 的ipv4地址 进行十进制到十六进制的转换,填补在2002:后面

并且是以128为前缀,必须是128位

如果两边的tunnel 都 是128位,

那两边又不在同一个网段,如何通信 呢?

需要ipv route 2002::/16 tunnel 0

 Inter f0/0

Ip add 200.15.15.1 255.255.255.0  //这个是原始的IPV4地址,是上面IPV6地址转换前的样子。

 

实例

 

 

1 配置好IPV4的连通性,保证R2-R3的环回口可达

2 在R2 R3之间配置6to4的tunnel <(一般默认配置128位的tunnel 地址 )

3 配置路由到达对方,只能是静态路由

4 测试 tunnel 接口的可达性

5 配置 ipv6 区域的地址 ,地址规划 也要按照 tunnel 口前面的48位来规划

6 使两边的IPV6可达,(R2-R3做重分而静态)

 

 

第一步不用多说了,

直接看第二步

现将R2 R3上都启用一个IPV4 的loopback 接口,

2.2.2.2  3.3.3.3两个地址 (完全是出于好算,偷懒了)

并将它全都 宣告 到eigrp 中,因为如果是建立tunnel 两个地址 不通的话是无法建立 起来的

  

2 在R2 R3之间配置6to4的tunnel <(一般默认配置128位的tunnel 地址 )

3 配置路由到达对方,只能是静态路由

 

 

 

 

这里面最主要的还就是ipv address 的地址是如何来的,

 

是由tunnel source 的IPV4地址转换而来,

2002开头,后面紧跟着ipv4的转换所得值 ,后面不够的::X/128

如2.2.2.2  转换为十六进制是多少呢?

2 不变,就是2

2002:0202:0202::1/128

2002是专门为ipv6ip 6to4所准备的地址 ,

同理,3.3.3.3 也是一样的道理

2002:0303:0303::1/128

 然后请问这两个tunnel接口的IPV6 地址可以通信 吗?

不能,

因为这根本就不是一个网段,都 是/128的,如何通呢?

所以要写静态路由

R2  Ipv route 2002::/16 tunnel 0

R3  Ipv route 2002::/16 tunnel 0   这两条是最重要的,决定着tunnel 的正常通信

 

写完路由了,tunnel 的两端可以通信 了,

但是现在r1可以ping 通r4吗

不能,

为什么 ,因为现在还没有路由,最主要的原因 是因为中间不能运行动态路由协议 ,

只能跑静态路由,

怎么办?

写呗,

怎么写呢?

有两种选择,这个还要看具体 的情况 ,

如果是多点的话,可以直接写对端site的地址

如果是点对点的话,不牵扯到别人,可以写::/0默认路由,

可以说这两种各有优势吧,真的是要分什么时候使用

 

这样,

我们写两种 ,

1 标准的静态路由

R2(config)#ipv route 4044::/16  2002:303:303::1

R2(config)#ipv router eigrp 100

R2(config-rtr)#redistribute static

先写静态路由,然后再将静态路由重要而到EIGRP中去,

这样就可以在R1上看到EX的路由了,

来看一下

 

  

同理,

R3也要做同样的操作,但是我们写一个默认路由

R3(config)#ipv route ::/0  2002:202:202::1 

R3(config)#ipv router eigrp 100

R3(config-rtr)#redistribute static

 

在R4上也能看到::/0的路由 为EX的

 

 这样写的好处是什么 呢?

你可以这样理解 ,

假设R1这边有多个网段,怎么办?

如果是R4这边有多个网段怎么办?刚才我们写的静态路由是不是就很吃力?

在R1上再新建一个lo 10 接口,配置一个IPV6的global地址 并宣告到自己所处的eigrp中,主要目的 是为了让R2知道,

 

  

而如果反过来,

R4上新建一个网段,让R1去ping ,就不能直接ping通了

因为在R2上引入的是静态路由,指的是一对一的,并没有批多个网段

 

所以不通

 

 连路由表中都 没有这样的条目,何谈通嘛~

 

怎么样,感觉这个 ipv6ip 6to4的tunnel  有什么 好处吗?

它的唯一 好处就是可以点到多点,除了这一个好处,其它 的别无用处,配置 起来还麻烦 ,

 

不管是多少个site,

只要是中间的tunnel 可以建立起来,就都不叫问题

但是tunnel的建立也存在着必要的条件 

1  各site之间的tunnel source 地址要保证可达

2  2002::地址是否可以通信,要写路由    ipv route 2002::/16 tunnel x

3  2002后面的地址是通过 tunnel source 的IPV4 地址换算过来的

 

 

多点tunnel

 

 按照图中所示,实现各IPV6地址互通,

物理接口都 是F0/0, 使用ipv4地址 123.1.1.0/24网段

分别建立loopback接口,用于建立tunne l 的源地址使用,主要是比123.1.1.0好算,

 

其它配置不用多说,直接看tunnel 配置 以及ipv6 的配置

 

 

 修改tunnel 的模式

设置 tunnel source

根据 tunnel source 地址转换成tunnel 的ipv6 address

 

 

 配 置静态路由

Ipv6 route 2002::/16 实现各tunnel 接口可以互通,

 

配置到达各站点的路由,由于是多点,直接写静态即可

指定到达该 目标网段所必须经过 的VIA为对端 的TUNNEL IPV6地址 。

 

 

------------------------------------------------

CCIE成长之路  ---- 梅利

posted on 2020-09-01 10:32  梅利333  阅读(597)  评论(0编辑  收藏  举报