Technical documentation
发布日期:2023-06-09 浏览次数:1667 来源:赵顺杰
EI CCNP培训IPv6的ACL,前缀列表补充,交换机的基本工作原理
WOLFLAB官方微信:17316362402,关注【WOLF-LAB实验室】
了解思科认证EI CCNP培训课程,EI、安全方向都在循环开班,联系网站客服预约免费试听!
EI CCNP培训课程IPv4的ACL
IPv4当中,ACL的作用
1.过滤
–数据流量
–路由条目
2.匹配
–数据流量
–路由条目
IPv6当中,ACL
1.ACL 数据流量
2.prefix-list 路由条目
EI CCNP培训课程实验一:
R1:
R1(config)#interface g0/0
R1(config-if)#no shutdown
R1(config-if)#ipv6 address 2001:12::1/64
R1(config)#interface loopback 0
R1(config-if)#ipv6 address 2001:1111::1/64
R2:
R2(config)#interface g0/0
R2(config-if)#no shutdown
R2(config-if)#ipv6 address 2001:12::2/64
R2(config)#interface g0/1
R2(config-if)#no shutdown
R2(config-if)#ipv6 address 2001:23::2/64
R3:
R3(config)#interface g0/1
R3(config-if)#no shutdown
R3(config-if)#ipv6 address 2001:23::3/64
R3(config)#interface loopback 0
R3(config-if)#ipv6 address 2001:3333::3/64
运行OSPFv3
R1:
R1(config)#ipv6 unicast-routing
R1(config)#ipv6 router ospf 1
R1(config-router)#router-id 1.1.1.1
R1(config)#interface g0/0
R1(config-if)#ipv6 ospf 1 area 0
R1(config)#interface loopback 0
R1(config-if)#ipv6 ospf 1 area 0
R1(config-if)#ipv6 ospf network point-to-point
R2:
R2(config)#ipv6 unicast-routing
R2(config)#ipv6 router ospf 1
R2(config-router)#router-id 2.2.2.2
R2(config)#interface g0/0
R2(config-if)#ipv6 ospf 1 area 0
R2(config)#interface g0/1
R2(config-if)#ipv6 ospf 1 area 0
R3:
R3(config)#ipv6 unicast-routing
R3(config)#ipv6 router ospf 1
R3(config-router)#router-id 3.3.3.3
R3(config)#interface g0/1
R3(config-if)#ipv6 ospf 1 area 0
R3(config)#interface loopback 0
R3(config-if)#ipv6 ospf 1 area 0
R3(config-if)#ipv6 ospf network point-to-point
IPv6针对于数据流量做过滤
ipv6的ACL原理上与IPv4类似,只能对于自己始发的数据流量无效
R2(config)#ipv6 access-list WOLF //创建一个IPv6 access-list
R2(config-ipv6-acl)#deny ipv6 host 2001:1111::1 host 2001:3333::3 //禁止R1的loopback接口地址访问R3的loopback接口地址
R2(config-ipv6-acl)#permit ipv6 any any //放行除上面条件以外的其它流量
R2(config)#interface g0/0
R2(config-if)#ipv6 traffic-filter WOLF in
R1#ping 2001:3333::3 //能通,因为没有指定源,默认出接口为源访问目的地址
R1#ping 2001:3333::3 source loopback 0 //不通,以loopback为源访问目的地址,被过滤.
IPv6的ACL自带三句隐藏命令行
1.permit icmp any any nd-ns
2.permit icmp any any nd-na
3.deny ipv6 any any
放行NS和NA消息,一是为了保证正常的NS邻居发现消息和NA消息能够正常的发送和接收,使得设备能够正常的学习到对方的mac地址,实际上ACL这个工具主要在网络层的工作较多,大多基于网络层IP地址的过滤,针对于二层信息相对来说比较宽松,比如IPv4当中ARP请求消息,由于ARP没有网络层,哪怕过滤掉的源IP地址在ARP的应用层有表示,但是并不会过滤,ping不通,却仍然可以获得对方的MAC地址.
其次是所有ACL自带的一句deny any
IPv6针对于路由条目的过滤
使用前缀列表匹配上相应的路由条目
R1(config)#ipv6 prefix-list WOLF deny 2001:3333::/64//禁止2001:3333::网段前64bit固定,ge=le=64的路由,计算出来2001:3333::网络号,掩码长度等于64的路由条目
R1(config)#ipv6 prefix-list WOLF permit ::/0 le 128 //放行所有路由条目
R1(config)#ipv6 router ospf 1
R1(config-router)#distribute-list prefix-list WOLF in //当接收到LSA存放进数据库并且要计算路由提交路由表的时候过滤路由条目
前缀列表补充:
设计用于专抓路由的工具,不仅可以匹配网络号,还可以匹配掩码
格式:
ip prefix-list (name) permit a.a.a.a/b ge x le y
其中 a.a.a.a用来表示前缀,也就是地址网段, b=length ,表示前缀的前b个bit位固定,可以用它俩计算出来网络号
ge greater than : 表示所需要匹配路由的最小掩码长度单位
le less than : 表示所需要匹配路由的最大掩码长度单位
默认情况下 length < ge <= le
若不写ge和le,则ge=le=length
若不写le,则le默认=32
若不写ge,则ge=length
举例:
iP prefix-list A permit 0.0.0.0/0 le 32 //表示为0.0.0.0的地址网段,前面0个bit位表示固定,因此所有的bit都不固定,因此网络号为0.0.0.0可以包含所有的路由,但是看一眼后面掩码,ge没有写,ge=length=0,le=32,也就是说匹配上最小掩码长度为0,最大掩码长度为32的路由条目,因此所有的掩码范围的所有路由条目全都可以匹配上
ip prefix-list A permit 0.0.0.0/0 //表示为0.0.0.0的地址网段,前面0个bit表示固定,计算出来的网络号为0.0.0.0,但是ge和le没有写,因此ge=le=length=0,因此得出网络号为0.0.0.0,掩码最小为0,最大也为0的路由条目,因此写成0.0.0.0/0,只匹配上一条默认路由
ip prefix-list A permit 0.0.0.0/0 ge 1 //表示为0.0.0.0的地址网段,前面0个bit为固定不变,计算出来的网络号0.0.0.0,但是ge=1,le不写默认=32,因此表现为0.0.0.0/1------255.255.255.255/32(地址范围)那么默认路由就不在其列了,这条前缀列表表现的是除默认路由以外的所有路由.
ip prefix-list A permit 0.0.0.0/1 le 8 //表示为0.0.0.0的地址网段,前面0个bit固定不变,计算出来的网络号为0.0.0.0,但是ge=1,le=8,表示为0.0.0.0/1---127.0.0.0/8当中的去掉了默认路由的所有条目,因此这个前缀列表表示为所有的A类路由
ip prefix-list A permit 128.0.0.0/2 ge 16 le 16 //表示为128.0.0.0,前两个bit固定,因此网络号算出来是128.0.0.0,此时掩码的最小长度为16,最大掩码也为16,因此范围是128.0.0.0/16 -------191.255.0.0/16,得出的是所有的B类地址
交换机的基本工作原理
1.学习MAC地址,形成MAC地址表
2.泛洪广播,组播,未知单播.(相同VLAN)
3.对于已知单播,点到点转发
如图:
主机A的IP地址: 192.168.1.1/24
主机B的IP地址: 192.168.1.2/24
主机C的IP地址: 192.168.1.3/24
主机D的IP地址: 192.168.1.4/24
工作原理:
主机A访问192.168.1.2/24
封装ICMP数据包
Smac:A Dmac: 不知道 | Sip:192.168.1.1 Dip:192.168.1.2
封装ARP数据包
Smac:A Dmac: FFFF | Sip:192.168.1.1 Smac: Amac Dip: 192.168.1.2 Dmac: 全0
EI CCNP培训课程交换机工作方式
1.交换机从G0/0接口收到数据包,将会拆开数据包的二层头部,查看里面的源目mac地址,因此得知,这个ARP请求数据包是由主机A发送的,因此学习了主机A的mac地址存放进了自己的mac地址表,关联在G0/0接口
2.交换机查看二层头部当中的目的mac地址,发现是全F的广播,不知道往哪个接口转发数据包,因此直接泛洪处理(除了收到数据包的接口,其它接口全部转发出去)
3.主机C和主机D能够接收并查询数据包当中的内容,发现请求的是192.168.1.2的MAC地址,并不是自己的,因此没有理会
4.主机B收到ARP请求自己的MAC地址,封装ARP Reply回复给主机A
Smac:B Dmac:A | Sip:192.168.1.2 Smac: Bmac Dip: 192.168.1.1 Dmac: Amac
5.交换机从G0/1接口收到数据包,拆开二层头部当中的内容,发现源mac地址是B的mac地址,自己并没有学习过,因此存放此mac地址进入mac地址表,关联在G0/1接口,再查看目的mac地址是A的mac地址,查看mac地址表象当中发现A的mac地址关联在了G0/0接口,因此直接把数据包转交给了G0/0接口发送出去.
6.主机A收到了主机B的ARP reply,因此可以成功封装ICMP数据包
Smac:A Dmac: B | Sip:192.168.1.1 Dip:192.168.1.2
7.交换机从G0/0接口收到数据包,拆开二层发现已经学习过源mac地址,查看目的mac地址是主机B的mac,对应着自己MAC地址表当中的G0/1接口,因此直接把数据包从G0/1接口发送出去.
8.主机B收到ICMP request请求,当然做出回复
9.交换机从G0/1接口收到ICMP数据包,拆开二层发现源MAC地址已经学习,发现目的MAC是主机A的mac,关联在了G0/0接口,因此直接将数据包从G0/0接口发送出去.
如果清理交换机的MAC地址表
1.主机A的ARP缓存当中还有主机B的MAC地址,因此ICMP包能够成功封装,直接发出
2.交换机从G0/0接口收到了ICMP数据包,拆开二层发现源MAC地址并没有学习过,因此学习了主机A的mac地址,关联在了G0/0接口,发现目的MAC地址是主机B的MAC地址,而自己并没有学习过它,不知道该往哪个接口转发,因此对于此类未知单播,直接泛洪处理,都发
3.主机C和主机D发现找的是192.168.1.2,并不是自己,不予理会
4.主机B收到了ICMP请求,做出回复,发送给主机A
5.交换机从G0/1接口收到了数据包,拆开二层发现源MAC地址自己并没有学习过,因此学习MAC地址,关联在G0/1接口,再去查看目的MAC地址,发现是主机A的mac,关联在自己mac地址表的G0/0接口,因此直接从G0/0发出去.
WOLFLAB官方微信:17316362402
WOLFLAB官方QQ:2569790740
欢迎关注WOLFLAB(沃尔夫)网络实验室,了解CCNA、CCNP、CCIE相关课程