1.4.1 实验目的
通过对 EIGRP 路由过滤,汇总以及默认路由配置的实验的练习,从而掌握 EIGRP 路由过
滤的方法,EIGRP 路由汇总的方法和作用,以及如何为 EIGRP 配置默认路由。
1.4.2 实验拓扑
1.4.3 实验步骤
- 配置 R1,R2,R3 的相应接口地址,在各台路由器上配置 X.X.X.X/24 的环回口,并
且在 R1 配置环回口的辅助地址为 172.16.0.1/24,172.16.1.1/24,172.16.2.1/24。
然后将各个接口加入 EIGRP 100 进程中。
R1(config)#int lo0
R1(config-if)#ip add 1.1.1.1 255.255.255.0
R1(config-if)#ip add 172.16.0.1 255.255.255.0 secondary
R1(config-if)#ip add 172.16.1.1 255.255.255.0 secondary
R1(config-if)#ip add 172.16.2.1 255.255.255.0 secondary
R1(config-if)#exit
其余配置省略。 - 在 R2 上查看路由表:
可以看到 R2 的路由表中存在 172.16 开头的路由条目三条。 - 过滤 EIGRP 路由的原理是过滤掉 EIGRP 的拓扑信息表项。如果缺失掉某条路由前缀
的拓扑信息表项,那么就过滤掉了该条路由。
从方向上来说存在 in/out 两种,in 代表收到的拓扑信息需要进行检查,只接收需要
的拓扑表项;out 代表发送拓扑信息时需要进行检查,只发送需要发送的拓扑表项。
EIGRP 过滤路由的方法有三种:
a) 利用分布列表(distribute-list)调用 ACL
b) 利用分布列表(distribute-list)调用前缀列表
c) 利用分布列表(distribute-list)调用 route-map
现在分别利用上述三种方式过滤掉 172.16 开头的三条路由。
利用分布列表调用 ACL:
R2(config)#access-list 1 deny 172.16.0.0 0.0.0.255
R2(config)#access-list 1 permit any //定义过滤使用的 ACL
R2(config)#router eigrp 100
R2(config-router)#distribute-list 1 in ? //这里可以直接回车,也可以接某个接口
Async Async interface
BVI Bridge-Group Virtual Interface
CDMA-Ix CDMA Ix interface
CTunnel CTunnel interface
Dialer Dialer interface
Ethernet IEEE 802.3
Lex Lex interface
Loopback Loopback interface
MFR Multilink Frame Relay bundle interface
Multilink Multilink-group interface
Null Null interface
Port-channel Ethernet Channel of interfaces
Tunnel Tunnel interface
Vif PGM Multicast Host interface
Virtual-PPP Virtual PPP interface
Virtual-Template Virtual Template interface
Virtual-TokenRing Virtual TokenRing
R2(config-router)#distribute-list 1 in e0/1 //来自于 e0/1 接口的拓扑信息
R2(config-router)#exit
查看过滤结果:
利用分布列表调用前缀列表:
(注意,同一个方向的分布列表只能使用一次,因此这里是删去了上述分布列表的
命令再次进行的!)
R2(config)#ip prefix-list AA deny 172.16.1.0/24
R2(config)#ip prefix-list AA permit 0.0.0.0/0 le 32 //定义个名为 AA 的前缀列表过滤
172.16.1.0/24
R2(config)#router eigrp 100
R2(config-router)#distribute-list prefix AA in e0/1 //同样,这里也可以不接具体接口
查看过滤结果:
清除上述命令,再利用分布列表调用 route-map 进行过滤。
R2(config)#access-list 2 permit 172.16.2.0 0.0.0.255 //注意这里 ACL 2 只是选出想要过滤
的路由条目,不代表动作。
R2(config)#route-map BB deny 10 //这里代表过滤的动作
R2(config-route-map)#match ip add 2
R2(config-route-map)#route-map BB per 20 //不满足条件的全部允许
R2(config-route-map)#exit
R2(config)#router eigrp 100
R2(config-router)#distribute-list route-map BB in ?
R2(config-router)#distribute-list route-map BB in e0/1
. 清除掉上述路由过滤的命令。在 R2 上,对 172.16 开头的三条路由进行一个汇总,
使得 R3 只收到一条关于 172.16 的汇总路由。
首先总结汇总的好处和不足:
l 在目的地仍然可以到达的情况下,减小路由表大小
l 减小 EIGRP 查询范围(如果一台 EIGRP 收到一条 Query,自身没有相关明细,
但存在一条汇总路由包含了查询路由的范围,那么该路由器立刻回复该查询,
并且不会将查询蔓延)
l EIGRP 支持在任何路由器上汇总
l 汇总路由继承明细路由最优的路由度量
l 可能引起次优路径选择
l 可能发生流量丢失
在 R2 上对 172.16 开头三条路由进行汇总:
R2(config)#int e0/0
R2(config-if)#ip summary-address eigrp 100 ?
A.B.C.D IP address
R2(config-if)#ip summary-address eigrp 100 172.16.0.0 255.255.252.0 ?
<1-255> Administrative distance
leak-map Allow dynamic prefixes based on the leak-map
R2(config-if)#ip summary-address eigrp 100 172.16.0.0 255.255.252.0 //最终汇总命
令
R2 产生了一条指向 NULL0 接口的汇总路由。
默认情况下,这条汇总路由的管理距离为 5。因此,如果存在明细路由丢失,而且又有
去往明细路由的流量时,那么该汇总路由将会使用,将流量丢弃。
R3 并不知道 172.16.0.0/22 为汇总路由,为了防止环路,所以汇总路由的管理距离为 5。
当 R2 丢失掉所有的明细路由后,该汇总路由将会自动消失。
R3 并没有 172.16 的明细路由。 - 清除上述命令,要求 R2 为 R1 通过 EIGRP 传递一条默认路由。
默认路由一般用于连接 ISP 时,将用户流量引入 ISP 路由器上。在 EIGRP 中产生默
认路由的方法存在两种。
a)R2(config)#int lo1
R2(config-if)#ip add 192.168.1.1 255.255.255.0
R2(config-if)#exit
R2(config)#ip route 0.0.0.0 0.0.0.0 lo1 //首先建立一个环回口,模拟 ISP 路由器接口,
然后建立一条静态默认路由指向该接口。
R2(config)#router eigrp 100
R2(config-router)#network 0.0.0.0
R2(config-router)#exit //然后进入 EIGRP 进程中,network 0.0.0.0,将该默认路由插
入 EIGRP 进程中进行传播。