Dell Networking SONiC 如何配置端口安全性

摘要: 如何在 Dell Networking SONiC 中配置端口安全性。本文在 Dell Networking SONiC 4.2 Edge Standard 中进行了测试。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

说明

先决条件
我们使用标准接口命名来演示概念。请参阅文章 Dell Networking S 系列:基本接口配置 - SONiC 4.0,了解有关 接口命名的更多信息。

指数

什么是端口安全
设置端口
中允许的最大 MAC 地址数端口安全违规
违约
配置语法
示例配置
验证     

什么是端口安全

 端口安全性通过限制用户指定端口上的 MAC 学习次数来保护端口。 
  • vlan 中不支持端口安全性
  • 以太网端口和配置为交换机端口的 PortChannel 支持端口安全性。
  • 非交换机端口不支持端口安全性。  

设置端口中允许的最大 MAC 地址数

 使用 MAC 学习功能,您可以设置接口上允许的 MAC 地址的最大限制。限制 MAC 地址可提供安全性,防止 MAC 泛滥。超过允许的最大 MAC 阈值时,系统将生成警告系统日志通知,并发生端口安全违规。

注意:您可以禁用 MAC 学习限制,以恢复每个端口允许的默认 MAC 地址数。 

端口安全违规

 当端口学习的 MAC 地址数超过配置的限制时,就会发生端口安全违规。您可以配置在违规期间应采取的操作。
在 Dell SONiC 中,在发生违规时可以采取的措施是 保护。激活保护模式后,当接口上的 MAC 地址数量达到配置的限制时,它会禁用端口上的 MAC 学习。在此阶段,将丢弃端口上具有未知源地址的所有数据包。
发生端口安全违规时可以采取什么措施?
您可以采取以下任何操作
--> 找到并删除导致 mac 地址过多的设备后,我们可以清除界面中的 mac 地址表以清除违规状态。
命令语法
DELLSONiC# clear mac address-table dynamic interface Eth <slot/port>
-->如果需要
,增加允许的 mac 地址限制 命令语法
DELLSONiC# configure
DELLSONiC(config)# interface Eth X/X
DELLSONiC(config-if-EthX/X)# port-security maximum <number of mac address>
-->如果需要
,禁用端口安全命令语法
DELLSONiC# configure
DELLSONiC(config)# interface Eth X/X
DELLSONiC(config-if-EthX/X)# no port-security enable

如何找到被端口安全阻止的 mac 地址?
我们可以从日志消息中找到被端口安全阻止的 mac 地址的详细信息。请参阅下面的 eaxmple(日期/时间和 mac 地址已屏蔽)
 
DELLSONiC# show logging | grep "Port Mac Security violation"
XXX XX XX:XX:XX.XXXXXXXXXXXX XXXX DELLSONiC WARNING syncd#syncd: :- port_mac_sec_add_mac: Port Mac Security violation by MAC YY:YY:YY:YY:YY:YY Port Eth1/1

违约

端口上的端口安全性 Disabled
每个端口的最大 MAC 地址数 1
违规模式 保护

配置语法

命令 说明
admin@DELLSONiC:~$ sonic-cli
进入戴尔管理命令行界面
DELLSONiC# configure terminal
进入配置模式
DELLSONiC(config)# interface <Eth slot/port> 
配置接口
DELLSONiC(config)# interface range Eth <slot/port> 
(可选)您可以配置一系列接口。
DELLSONiC(config-if-EthX/X)# port-security violation protect
设置在发生违规时要采取的措施。
 
DELLSONiC(config-if-EthX/X)# port-security maximum <number of mac address>

设置此接口
上允许的最大安全 MAC 数 (1-4097)
 
DELLSONiC(config-if-EthX/X)# port-security enable
在接口级别启用端口安全性
DELLSONiC(config-if-EthX/X)# no port-security enable
在接口级别禁用端口安全性

示例配置

假设我们在端口 Eth 1/1 中有两个 mac 地址学习。
在端口以太网 1/1 上配置端口安全性之前(已屏蔽 MAC 地址)
DELLSONiC# show mac address-table interface Eth 1/1
-----------------------------------------------------------
VLAN         MAC-ADDRESS         TYPE         INTERFACE           
-----------------------------------------------------------
2500        XX:XX:XX:XX:XX:XX   DYNAMIC       Eth1/1             
2500        YY:YY:YY:YY:YY:YY   DYNAMIC       Eth1/1
让我们将端口以太网 1/1 配置为不允许超过一个 mac 地址。
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# interface Eth 1/1
DELLSONiC(config-if-Eth1/1)# port-security violation protect
DELLSONiC(config-if-Eth1/1)# port-security maximum 1
DELLSONiC(config-if-Eth1/1)# port-security enable
DELLSONiC(config-if-Eth1/1)# shutdown
DELLSONiC(config-if-Eth1/1)# no shutdown
DELLSONiC(config-if-Eth1/1)# end
配置端口安全后,我们可以看到只获知了一个 mac 地址。学习第一个接收的帧 MAC。
DELLSONiC# show mac address-table interface Eth 1/1
-----------------------------------------------------------
VLAN         MAC-ADDRESS         TYPE         INTERFACE           
-----------------------------------------------------------
2500        XX:XX:XX:XX:XX:XX   DYNAMIC       Eth1/1             

验证

使用以下命令验证 
命令 说明
DELLSONiC# show port-security
显示所有接口中的端口安全性
DELLSONiC# show port-security interface Eth <slot/port> 
显示特定接口中的端口安全性
DELLSONiC# show logging | grep "Port Mac Security violation"
从日志中获取违规的 mac 地址的详细信息。
输出示例(显示端口安全违规)
DELLSONiC# show port-security

Secure Port         isEnabled    MaxSecureAddr   FdbCount    ViolationCount    SecurityAction
--------------------------------------------------------------------------------------------------
    Eth1/1              Y            1               1           1                 PROTECT
DELLSONiC# show port-security interface Eth1/1

Interface : Eth1/1
Port MAC Security is Enabled : True
Maximum allowed Secure MAC   : 1
Action taken on Violation    : PROTECT
Total MAC address            : 1
Security Violation Count     : 1
日志消息(遮挡日期/时间和 MAC 地址)
DELLSONiC# show logging | grep "Port Mac Security violation"
XXX XX XX:XX:XX.XXXXXXXXXXXX XXXX DELLSONiC WARNING syncd#syncd: :- port_mac_sec_add_mac: Port Mac Security violation by MAC YY:YY:YY:YY:YY:YY Port Eth1/1

受影响的产品

Enterprise SONiC Distribution, PowerSwitch E3200-ON Series, Dell EMC Networking N3200-ON, PowerSwitch S5212F-ON, PowerSwitch S5224F-ON, PowerSwitch S5232F-ON, PowerSwitch S5248F-ON, PowerSwitch S5296F-ON, PowerSwitch Z9264F-ON, PowerSwitch Z9332F-ON , PowerSwitch Z9432F-ON ...
文章属性
文章编号: 000218833
文章类型: How To
上次修改时间: 27 6月 2025
版本:  3
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。