常用的流量统计大致有:
1、ICMP报文流统
2、ICMPv6报文流统
3、DHCP报文流统
一、ICMP流统方法
图1
图1中Server 1 (IP=192.168.1.1) 主动Ping往Server 2 (IP=192.168.1.2),那么ICMP Request报文从SW 2的端口1进入、端口2发出。反之同理。这里我们以ICMP Request报文流量走向举例,确认是否存在丢包:
第一步:定义ACL的in和out方向匹配源IP为192.168.1.1、目的IP为192.168.1.2的ICMP Request报文。
第二步:在端口1调用in方向ACL,在端口2调用OUT方向ACL。
第三步:通过show ip access-lists 命令查看流统结果,图中端口1的in方向收到了5个ICMP Request报文,端口2的out方向发出了5个ICMP Request报文,由此说明SW 2并没有丢弃ICMP Request报文。
此外,可以通过clear ip access-list counters命令来清除接口计数,清除后可以再次进行Ping测试和流统。
【配置脚本】
Step1:定义ACL匹配报文源目IP地址:
配置入方向ACL |
ip access-list test in |
配置匹配 icmp 协议源ip 目的ip 规则 |
seq 10 permit icmp host 192.168.1.1 host 192.168.1.2 |
放行其他流量 |
seq 100 permit ip any any |
配置出方向ACL |
ip access-list test2 out |
配置匹配规则 |
seq 10 permit icmp host 192.168.1.1 host 192.168.1.2 |
放行规则 |
seq 100 permit ip any any |
Step2:在交换机进出端口分别调用in和out方向ACL:
进入端口1配置视图 |
interface Ethernet 1 |
配置入方向ACL绑定 |
ip access-group test in |
进入端口2配置视图 |
interface Ethernet 2 |
配置出方向ACL绑定 |
ip access-group test2 out |
Step3:查看流量统计计数结果:
查看入方向流统 |
show ip access-lists test |
查看出方向流统 |
show ip access-lists test2 |
结果显示如下:
ip access-list test in
seq 10 permit icmp host 192.168.1.1 host 192.168.1.2 (5 packets) [510 bytes]
seq 15 permit ip any any (120 packets) [77280 bytes]
ip access-list test2 out
seq 10 permit icmp host 192.168.1.1 host 192.168.1.2 (5 packets) [510 bytes]
seq 15 permit ip any any (120 packets) [77280 bytes]
二、ICMPV6流统方法
图2
ICMPv6报文流统和ICMP报文流统的原理基本一致,不同的是,需要创建一个IPv6类型的ACL来匹配IPv6报文。
图2中的 IPv6 ACL匹配了源IP为2001::1/128、目的IP为2001::2/128的IPv6 Ping请求报文。
【配置脚本】
Step1:定义ACL匹配报文源目IP地址:
配置入方向ACL |
Ipv6 access-list test in |
配置匹配 icmp 协议源ip 目的ip 规则 |
seq 10 permit icmp host 2001::1/128 host 2001::2/128 |
放行其他流量 |
seq 100 permit ip any any |
配置出方向ACL |
Ipv6 access-list test2 out |
配置匹配规则 |
seq 10 permit icmp host 2001::1/128 host 2001::2/128 |
放行规则 |
seq 100 permit ip any any |
Step2:在交换机进出端口分别调用in和out方向ACL:
进入端口1配置视图 |
interface Ethernet 1 |
配置入方向ACL绑定 |
ipv6 access-group test in |
进入端口2配置视图 |
interface Ethernet 2 |
配置出方向ACL绑定 |
ipv6 access-group test2 out |
Step3:查看流量统计计数结果:
查看入方向流统 |
show ipv6 access-lists test |
查看出方向流统 |
show ipv6 access-lists test2 |
结果显示如下:
Ipv6 access-list test in
seq 10 permit icmp host 2001::1/128 host 2001::2/128 (5 packets) [510 bytes]
seq 15 permit ip any any (120 packets) [77280 bytes]
ipv6 access-list test2 out
seq 10 permit icmp host 2001::1/128 host 2001::2/128 (5 packets) [510 bytes]
seq 15 permit ip any any (120 packets) [77280 bytes]
三、DHCP报文流统方法
图3
DHCP获取地址时,终端先发出Discovery报文,服务器收到后会进行地址的分配并回复Offer报文,终端收到后会再次发送Request报文进行确认,服务器最后回复ACK给终端。
DHCP报文均为UDP报文,客户端发出的报文UDP源端口号为68 (bootpc),Server发出的DHCP报文源端口号67 (bootps),因此可以根据报文的UDP端口号进行匹配。
图3中,定义ACLtest匹配客户端发出的DHCP报文,定义ACLtest2匹配服务器发出的DHCP报文。
【配置脚本】
Step1:定义ACL匹配报文源目UDP端口号:
配置入方向ACL |
Ip access-list test in |
配置匹配 Client发出的DHCP报文 |
seq 10 permit udp any eq 68 any eq 67 |
放行其他流量 |
seq 100 permit ip any any |
配置出方向ACL |
Ip access-list test2 out |
配置匹配 Client发出的DHCP报文 |
seq 10 permit udp any eq 68 any eq 67 |
放行其他流量 |
seq 100 permit ip any any |
配置入方向ACL |
Ip access-list test3 in |
配置匹配 server发出的DHCP报文 |
seq 10 permit udp any eq 67 any eq 68 |
放行规则 |
seq 100 permit ip any any |
配置出方向ACL |
Ip access-list test4 out |
配置匹配 server发出的DHCP报文 |
seq 10 permit udp any eq 67 any eq 68 |
放行规则 |
seq 100 permit ip any any |
Step2:在交换机进出端口分别调用in和out方向ACL:
进入端口1配置视图 |
interface Ethernet 1 |
配置入方向ACL绑定 |
ip access-group test in |
配置出方向ACL绑定 |
ip access-group test4 out |
进入端口2配置视图 |
interface Ethernet 2 |
配置出方向ACL绑定 |
ip access-group test2 out |
配置入方向ACL绑定 |
ip access-group test3 in |
Step3:查看流量统计计数结果:
查看入方向流统 |
show ip access-lists test |
|
Show ip access-group test3 |
查看出方向流统 |
show ip access-lists test2 |
|
Show ip access-group test4 |
结果显示如下:
Ip access-list test in
seq 10 permit udp any eq 68 any eq 67(1 packets) [510 bytes]
seq 15 permit ip any any (120 packets) [77280 bytes]
ip access-list test2 out
seq 10 permit udp any eq 68 any eq 67 (1 packets) [510 bytes]
seq 15 permit ip any any (120 packets) [77280 bytes]
Ip access-list test3 in
seq 10 permit udp any eq 67 any eq 68(1 packets) [510 bytes]
seq 15 permit ip any any (120 packets) [77280 bytes]
Ip access-list test4 out
seq 10 permit udp any eq 67 any eq 68(1 packets) [510 bytes]
seq 15 permit ip any any (120 packets) [77280 bytes]