配置关闭MAC地址学习功能
背景信息
默认情况下,设备的MAC地址学习功能都是开启的。在收到来自周边设备的数据帧时,会解析出数据帧的源MAC地址,然后与接收该数据帧的接口组合成一条MAC地址表项,添加到MAC地址表中。以后设备接收到去往该目的MAC地址的数据帧时,则直接查询MAC地址表就可以得到正确的发送接口,避免广播。若关闭MAC地址学习功能,设备在收到数据帧时将不会进行MAC地址的学习。另外之前学习到的动态表项不会立即删除,需要等待老化时间到达后老化删除,或手工执行删除MAC命令进行删除。操作步骤
- 关闭接口的MAC地址学习功能。
执行命令system-view,进入系统视图。
执行命令interface interface-type interface-number,进入接口视图。
执行命令mac-address learning disable [ action { discard | forward } ],在接口上关闭MAC地址学习功能。
缺省情况下,接口的MAC地址学习功能是使能的。
关闭MAC地址学习功能的缺省动作为forward,即对报文进行转发。当配置动作为discard时,会对报文的源MAC地址进行匹配,当接口和MAC地址与MAC地址表项匹配时,则对该报文进行转发。当接口和MAC地址与MAC地址表项不匹配时,则丢弃该报文。
- 关闭VLAN的MAC地址学习功能。
执行命令system-view,进入系统视图。
执行命令vlan vlan-id,进入VLAN视图。
执行命令mac-address learning disable,在VLAN上关闭MAC地址学习功能。
缺省情况下,VLAN的MAC地址学习功能是使能的。
- 流行为视图下配置禁止MAC地址学习。
- 配置流分类
- 执行命令system-view,进入系统视图。
- 执行命令traffic classifier classifier-name [ operator { and | or } ] [ precedence precedence-value ],创建一个流分类并进入流分类视图,或进入已存在的流分类视图。and表示流分类中各规则之间关系为逻辑“与”,指定该逻辑关系后:
当流分类中有ACL规则时,报文必须匹配其中一条ACL规则以及所有非ACL规则才属于该类;
当流分类中没有ACL规则时,则报文必须匹配所有非ACL规则才属于该类。
缺省情况下,流分类中各规则之间的关系为逻辑“或”。
- 请根据实际情况定义流分类中的匹配规则。
if-match ip-precedence和if-match tcp命令仅对IPv4报文生效。
X系列单板不支持配置包含高级ACL中的ttl-expired字段的流分类规则。
当流分类匹配if-match ipv6 acl { acl-number | acl-name }时,X系列单板不支持add-tag vlan-id vlan-id、remark 8021p [ 8021p-value | inner-8021p ]、remark cvlan-id cvlan-id、remark vlan-id vlan-id、mac-address learning disable。
匹配规则
命令
说明
外层VLAN ID或基于QinQ报文内外两层Tag的VLAN ID
if-match vlan-id start-vlan-id [ to end-vlan-id ] [ cvlan-id cvlan-id ] -
QinQ报文内外层VLAN ID
if-match cvlan-id start-vlan-id [ to end-vlan-id ] [ vlan-id vlan-id ]
-
VLAN报文802.1p优先级
if-match 8021p 8021p-value &<1-8> 无论流分类中各规则间关系是“或”还是“与”,执行一次命令,如果输入多个802.1p值,报文只需匹配其中一个802.1p值就匹配该规则。
QinQ报文内层VLAN的802.1p优先级
if-match cvlan-8021p 8021p-value &<1-8>
-
丢弃报文
if-match discard 包含该流分类的报文只能与流量统计和流镜像两种动作绑定。
QinQ报文双层Tag
if-match double-tag -
MPLS报文EXP优先级
if-match mpls-exp exp-value &<1-8> 无论流分类中各规则间关系是“或”还是“与”,执行一次命令,如果输入多个MPLS EXP值,报文只需匹配其中一个MPLS EXP值就属于该类。
SA系列单板和X系列单板不支持匹配MPLS报文EXP优先级。
目的MAC地址
if-match destination-mac mac-address [ [ mac-address-mask ] mac-address-mask ] -
源MAC地址
if-match source-mac mac-address [ [ mac-address-mask ] mac-address-mask ] -
以太网帧头中协议类型字段
if-match l2-protocol { arp | ip | mpls | rarp | protocol-value } -
所有报文
if-match any -
IP报文的DSCP优先级
if-match [ ipv6 ] dscp dscp-value &<1-8>
无论流分类中各规则间关系是“或”还是“与”,执行一次命令,如果输入多个DSCP值,报文只需匹配其中一个DSCP值就匹配该规则。
不能在一个逻辑关系为“与”的流分类中同时配置if-match [ ipv6 ] dscp和if-match ip-precedence。
IP报文的IP优先级
if-match ip-precedence ip-precedence-value &<1-8> 不能在一个逻辑关系为“与”的流分类中同时配置if-match [ ipv6 ] dscp和if-match ip-precedence。
无论流分类中各规则间关系是“或”还是“与”,执行一次命令,如果输入多个IP优先级,报文只需匹配其中一个IP优先级就匹配该规则。
报文三层协议类型
if-match protocol { ip | ipv6 } -
IPv6下一报文头类型
if-match ipv6 next-header header-number first-next-header ET1D2X12SSA0单板不支持Prefix的长度为(64,128)之间的路由。
TCP报文SYN Flag
if-match tcp syn-flag { syn-flag-value | ack | fin | psh | rst | syn | urg }
-
入接口
if-match inbound-interface interface-type interface-number 包含该流分类的流策略不能应用在出方向。
包含该流分类的流策略不能应用在接口视图。
出接口
if-match outbound-interface interface-type interface-number X系列单板不支持将包含该流分类的流策略应用在入方向。
包含该流分类的流策略不能应用在接口视图。
ACL规则
if-match acl { acl-number | acl-name } - 使用ACL作为流分类规则,请先配置相应的ACL规则。
- 无论流分类中各规则间关系是“或”还是“与”,执行一次命令,如果某ACL规则中有多个rule,报文只需匹配其中一个rule就匹配该ACL规则。
- 如果ACL的规则指定了参数vpn-instance,那么基于该ACL进行分类的流分类对应的流策略将不生效。
ACL6规则
if-match ipv6 acl { acl-number | acl-name } 使用ACL6作为流分类规则,请先配置相应的ACL6规则。
如果ACL的规则指定了参数vpn-instance,那么基于该ACL进行分类的流分类对应的流策略将不生效。
流ID
if-match flow-id flow-id 包含if-match flow-id匹配规则的流分类和包含remark flow-id动作的流行为应在不同的流策略中使用。
包含if-match flow-id匹配规则的流策略只能应用在接口、VLAN、单板、全局的入方向。
VXLAN内层报文信息
if-match vxlan [ transit ] vni vni-id 包含该流分类的流策略不能应用在出方向上。
当流分类中包含此匹配规则时,流行为只支持流量监管、报文过滤和流量统计。
- 执行命令quit,退出流分类视图。
- 配置流行为
- 执行命令traffic behavior behavior-name,创建一个流行为,进入流行为视图。
- 执行命令mac-address learning disable(流行为视图),在流行为视图下配置禁止MAC地址学习功能。
- 执行命令quit,退出流行为视图。
- 执行命令quit,退出系统视图。
- 配置流策略
执行命令traffic policy policy-name [ match-order { auto | config } ],创建一个流策略并进入流策略视图,或进入已存在的流策略视图。创建流策略时,如果未指定规则匹配顺序,缺省规则匹配顺序为config。
应用流策略后,不能再使用该命令来修改策略中流分类的匹配顺序。必须先清除该策略的应用,再重新创建并指定所需的匹配顺序。
设备支持在创建流策略时指定流策略中多个规则的匹配顺序,匹配顺序包括自动顺序(auto)和配置顺序(config)两种:- 如果选择自动顺序,匹配顺序由系统预先指定的流分类类型的优先级决定,该优先级由高到低依次为:基于二层和IPv4三层信息流分类 > 基于高级ACL6规则流分类 > 基于基本ACL6规则流分类 > 基于二层信息流分类 > 基于IPv4三层信息流分类 > 基于用户自定义ACL规则流分类。规则优先匹配优先级高的流分类。当某一数据流量同时匹配不同流分类,且对应的流行为存在冲突时,只有流行为优先级高的规则生效。
- 如果选择配置顺序,匹配顺序由流分类规则的优先级决定,先匹配优先级较高的流分类规则。配置流分类时指定优先级,则数值越小,优先级越高;如果配置流分类时未指定precedence-value,则系统自动为流分类分配一个优先级,其值为:[ (max-precedence + 5)/ 5 ] * 5,其中max-precedence为系统当前流分类优先级中数值最大的优先级。关于流分类优先级的详细说明,请参见traffic classifier。
执行命令classifier classifier-name behavior behavior-name,在流策略中为指定的流分类配置所需流行为,即绑定流分类和流行为。
- 执行命令quit,退出流策略视图。
- 执行命令quit,退出系统视图。
- 应用流策略
- 配置流分类
检查配置结果
- 执行命令display traffic classifier user-defined [ classifier-name ],查看已配置的流分类信息。
- 执行命令display traffic behavior user-defined [ behavior-name ],查看已配置的流行为信息。
- 执行命令display traffic policy user-defined [ policy-name [ classifier classifier-name ] ],查看用户定义的流策略的配置信息。
- 执行命令display traffic-applied [ interface [ interface-type interface-number ] | vlan [ vlan-id ] ] { inbound | outbound } [ verbose ],查看全局、VLAN或接口上关联的ACL规则和流动作信息。
- 执行命令display traffic policy { interface [ interface-type interface-number ] | vlan [ vlan-id ] | global } [ inbound | outbound ],查看已配置的流策略信息。
- 执行命令display traffic-policy applied-record [ policy-name ],查看指定流策略的应用记录。