Lab 4 利用前缀列表进行路由过滤
R1:
s0/0:12.1.1.1/24
lo0:1.1.1.1/32
lo1:192.168.1.1/24
lo2:192.168.2.1/25
lo3:192.168.3.1/26
lo4:192.168.4.1/27
lo5:192.168.5.1/28
R2:
s0/0:12.1.1.2/24
s0/1:23.1.1.2/24
lo0:2.2.2.2/32
R3:
s0/0:23.1.1.3/24
lo0:3.3.3.3/32
Step 1、配置各台路由器的IP地址并且在R1,R2上运行IGP,并且使用Ping命令确认各路由器的直连口的互通性。
Step 2、R1和R2之间运行IBGP,R2和R3之间运行EBGP。
R1(config)#router bgp 12
R1(config-router)#net 192.168.1.0 mask 255.255.255.0
R1(config-router)#net 192.168.2.0 mask 255.255.255.128
R1(config-router)#net 192.168.3.0 mask 255.255.255.192
R1(config-router)#net 192.168.4.0 mask 255.255.255.224
R1(config-router)#net 192.168.5.0 mask 255.255.255.240
R1(config-router)#neighbor 2.2.2.2 remote-as 12
R1(config-router)#neighbor 2.2.2.2 update-source lo 0
R1(config-router)#neighbor 2.2.2.2 next-hop-self
R2(config)#router bgp 12
R2(config-router)#neighbor 1.1.1.1 remote-as 12
R2(config-router)#neighbor 1.1.1.1 update-source lo 0
R2(config-router)#neighbor 1.1.1.1 next-hop-self
R2(config-router)#neighbor 23.1.1.3 remote-as 3
R3(config)#router bgp 3
R3(config-router)#neighbor 23.1.1.2 remote-as 12
R3(config-router)#network 3.3.3.3 mask 255.255.255.255
Step 3、配置完之后,看看R3的路由表。
R3#sh ip route bgp
192.168.4.0/27 is subnetted, 1 subnets
B 192.168.4.0 [20/0] via 23.1.1.2, 00:01:23
192.168.5.0/28 is subnetted, 1 subnets
B 192.168.5.0 [20/0] via 23.1.1.2, 00:01:23
B 192.168.1.0/24 [20/0] via 23.1.1.2, 00:01:23
192.168.2.0/25 is subnetted, 1 subnets
B 192.168.2.0 [20/0] via 23.1.1.2, 00:01:23
192.168.3.0/26 is subnetted, 1 subnets
B 192.168.3.0 [20/0] via 23.1.1.2, 00:01:23
Step 4、R3拒绝收到192.168.1.0/24和192.168.2.0/24两条BGP路由条目,其它的BGP路由都能收到。
A:在R2上配置ip prefix-list
R2(config)#ip prefix-list set-filter seq 1 deny 192.168.1.0/24
R2(config)#ip prefix-list set-filter seq 2 deny 192.168.2.0/25
R2(config)#ip prefix-list set-filter seq 3 permit 0.0.0.0/0 le 32
R2(config)#router bgp 12
R2(config-router)#neighbor 23.1.1.3 prefix-list set-filter out
B:查看R3的路由表以验证结果:
R3#sh ip route bgp
192.168.4.0/27 is subnetted, 1 subnets
B 192.168.4.0 [20/0] via 23.1.1.2, 00:00:30
192.168.5.0/28 is subnetted, 1 subnets
B 192.168.5.0 [20/0] via 23.1.1.2, 00:00:30
192.168.3.0/26 is subnetted, 1 subnets
B 192.168.3.0 [20/0] via 23.1.1.2, 00:00:30
Step 5、R3仅允许收到192.168.1.0/24和192.168.2.0/24这两条BGP路由,其它BGP路由都拒绝。
A:把之前的prefix-list 去掉,重新配置。
R2(config)#no ip prefix-list set-filter seq 1 deny 192.168.1.0/24
R2(config)#no ip prefix-list set-filter seq 2 deny 192.168.2.0/25
R2(config)#no ip prefix-list set-filter seq 3 permit 0.0.0.0/0 le 32
R2(config)#ip prefix-list set-filter seq 1 permit 192.168.1.0/24
R2(config)#ip prefix-list set-filter seq 2 permit 192.168.2.0/25
B:配置完之后,再到R3上验证一下。
R3#sh ip route bgp
B 192.168.1.0/24 [20/0] via 23.1.1.2, 00:00:18
192.168.2.0/25 is subnetted, 1 subnets
B 192.168.2.0 [20/0] via 23.1.1.2, 00:00:18
Step 6、仅允许在192.168.0.0/21网络下,子网掩码长度大于等于26位的子网路由能收到。
(ge=greater or equal大于或等于,le=less or equal小于或等于)
A:把之前的ip prefix-list NO掉,重新配置。
R2(config)#no ip prefix-list set-filter
R2(config)#ip prefix-list set-filter seq 1 permit 192.168.0.0/21 ge 26
B:配置完之后再看一下R3的路由。
R3#sh ip route bgp
192.168.4.0/27 is subnetted, 1 subnets
B 192.168.4.0 [20/0] via 23.1.1.2, 00:03:36
192.168.5.0/28 is subnetted, 1 subnets
B 192.168.5.0 [20/0] via 23.1.1.2, 00:03:36
192.168.3.0/26 is subnetted, 1 subnets
B 192.168.3.0 [20/0] via 23.1.1.2, 00:03:36
Step 7、仅允许在192.168.0.0/21网络下,子网掩码长度小于等于25位的子网路由能收到。
A:把之前的ip prefix-list NO掉,重新配置。
R2(config)#no ip prefix-list set-filter
R2(config)#ip prefix-list set-filter seq 1 permit 192.168.0.0/21 le 25
B:配置完之后再看一下R3的路由。
R3#sh ip route bgp
B 192.168.1.0/24 [20/0] via 23.1.1.2, 00:00:05
192.168.2.0/25 is subnetted, 1 subnets
B 192.168.2.0 [20/0] via 23.1.1.2, 00:00:05
Step 8、仅允许在192.168.0.0/21网络下,子网掩码长度大于或等于25位但同时又小等于26位的子网路由能收到。
A:把之前的ip prefix-list NO掉,重新配置。
R2(config)#no ip prefix-list set-filter
R2(config)#ip prefix-list set-filter seq 1 permit 192.168.0.0/21 ge 25 le 26
B:配置完之后再看一下R3的路由。
R3#sh ip route bgp
192.168.2.0/25 is subnetted, 1 subnets
B 192.168.2.0 [20/0] via 23.1.1.2, 00:03:07
192.168.3.0/26 is subnetted, 1 subnets
B 192.168.3.0 [20/0] via 23.1.1.2, 00:03:07
结论:
1、前缀列表可以增量修改,我们知道对普通访问控制列表,我们不能删除该列表中的某个条目,如果想删除列表中的某个条目只能将该访问列表全部删除,而前缀列表中,一个条目可以单独地删除或添加。
2、前缀列表在cisco ios 12.0及其以后的版本中可以使用。
3、在大型列表的加载和路由查找方面比访问控制列表有显著的性能改进。
4、和访问控制列表一样默认最后有一条deny any。