端口安全是用来限制交换机端口接入设备的一种技术,核心目的是防止未经授权的设备随意接入局域网、占用网络资源,甚至窃取数据。
这里要先明确一个概念:我们说的 “端口” 是交换机的物理端口(比如网线插的那个接口),不是电脑里的 TCP/UDP 端口(比如 80、443 端口),二者完全不同。
端口安全的核心原理:给交换机端口 “设门禁”
你可以把交换机的每个物理端口,想象成公司的一扇门:
- 门(端口)默认是 “敞开” 的:任何设备(员工)插上网线就能接入网络,存在安全隐患(比如陌生人混进公司)。
- 端口安全就是给这扇门装门禁系统:只有经过授权的设备(登记过的员工)才能进门,非法设备会被拦在外面。
这个 “门禁系统” 的判断依据,就是设备的MAC 地址(网络身份证,全球唯一,不能修改)。
补充:MAC 地址为什么能当 “身份证”?
每台设备的网卡(比如电脑的有线网卡、无线网卡),出厂时都会被烧录一个唯一的 MAC 地址,格式是XX:XX:XX:XX:XX:XX(或XXXX.XXXX.XXXX)。
- 你可以在电脑上查:Windows 用
ipconfig /all,找到 “物理地址”;Linux 用ifconfig,找到 “ether” 后面的字符。
一、端口安全的核心作用
- 限制接入设备数量比如设置某个交换机端口最多只能接 1 台设备,别人再插其他设备就会被拒绝。
- 绑定合法设备的 MAC 地址只允许指定 MAC 地址的设备(比如你的电脑、打印机)接入端口,其他 MAC 地址的设备接入会被阻断。
- 违规处理当有非法设备接入时,交换机可以执行预设动作,比如关闭端口、只发警告不阻断、丢弃非法设备的数据。
二、端口安全的 3 种核心工作模式
2. 粘性 MAC 模式:自动登记 “门禁名单”
3. 动态 MAC 学习模式:临时登记 “门禁名单”
三、 违规处理机制:非法设备接入后,交换机该怎么做?
当有未授权的设备插上网线,交换机就会触发 “违规”,这时候有 3 种处理方式,安全性从低到高排序:
1. 静态 MAC 绑定模式:手动登记 “门禁名单”
- 原理:管理员手动把合法设备的 MAC 地址,一个个添加到端口的 “允许列表” 里。
- 特点:最严格、最安全,但维护麻烦—— 如果换了设备,必须手动更新 MAC 地址。
- 适用场景:固定不变的设备,比如服务器、打印机、监控摄像头(这些设备不会随便挪位置)。
- 缺点:如果公司有 100 台电脑,要手动录 100 个 MAC,工作量很大。
- 原理:管理员开启功能后,交换机端口会自动记录第一次接入的设备 MAC 地址,并把这个 MAC 保存到配置里(重启交换机也不会丢)。
- 特点:兼顾 “方便” 和 “安全”—— 不用手动查 MAC,设备插上去就自动登记,之后只有登记过的 MAC 能接入。
- 适用场景:办公室电脑、家庭设备(手机、平板、智能电视),适合设备位置相对固定,但偶尔会换的场景。
- 举个例子:你给家里交换机的
Gi0/1口开了粘性 MAC,第一次插了自己的笔记本,交换机就会记下图本的 MAC;下次你插室友的笔记本,端口会直接拒绝,因为室友的 MAC 没被登记。 - 原理:交换机端口会自动学习接入设备的 MAC,但不会保存到配置里—— 交换机重启后,之前学的 MAC 全清空,端口又变回 “敞开” 状态。
- 特点:最方便,但最不安全—— 相当于门禁系统 “临时记人,重启就忘”。
- 适用场景:临时开会、设备临时接入的场景,不能长期用,否则和没开端口安全一样。
protect(静默丢弃)
- 行为:直接丢弃非法设备发的数据,但不关闭端口,也不通知管理员。
- 特点:隐蔽性强,非法设备不知道自己被拦截,但管理员也不知道有非法接入。
- 适用:对安全性要求不高,不想被打扰的场景(比如家庭网)。
restrict(告警丢弃)
- 行为:丢弃非法设备数据,同时向管理员发警告信息(比如日志、弹窗),但不关闭端口。
- 特点:既能拦截非法设备,又能让管理员知道 “有人想蹭网”,方便排查。
- 适用:中小型企业,需要及时发现风险,但不想随便关端口的场景。
shutdown(端口关闭)
- 行为:直接关闭这个违规的端口(端口状态变成
err-disabled,相当于断电),同时发警告,必须管理员手动恢复。 - 特点:安全性最高 —— 一旦有非法接入,直接 “封门”,杜绝风险。
- 适用:企业核心区域(比如服务器机房、财务部门),不允许任何非法设备接入。
- 行为:直接关闭这个违规的端口(端口状态变成
四、实验配置
1.实验目的及步骤
实验目的:
掌握交换机端口安全的基本配置
实验步骤:
1. 配置S1的G0/0/1口的端口安全
2. 使用PC1、PC2访问PC4,查看S1的mac地址表
3. 在S2设备上接入一台非法设备,尝试访问PC4
4. 配置S1的G0/0/2口为安全静态mac
5. 配置S1的G0/0/3口为sticky mac
2.实验拓扑
3.命令配置
1. 配置S1的G0/0/1口的端口安全
<Huawei>sys
[Huawei]sysname S1
[S1] interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1] port-security enable // 开启端口安全
[S1-GigabitEthernet0/0/1] port-security max-mac-num 2 // 限制该端口最多学习2个MAC
[S1-GigabitEthernet0/0/1]port-security protect-action shutdown // 当端口检测到有不匹配的设备尝试接入时,采取关闭接口行动
2.使用PC1、PC2访问PC4,查看S1的mac地址表
[S1] display mac-address
//可以看到PC1和PC2的MAC地址已经学习到地址表里了
3. 在S2设备上接入一台非法设备,尝试访问PC4
攻击者访问pc4,执行设置的安全动作关闭接口
4.配置S1的G0/0/2口为安全静态mac
[S1]int g0/0/2
[S1-GigabitEthernet0/0/2]port-security enable //开启端口安全功能
[S1-GigabitEthernet0/0/2]port-security mac-address sticky //开启粘贴MAC功能,启用该命令后,交换机接口会自动学习当前接入设备的 MAC 地址,并将这些动态学习到的 MAC 地址转换为粘性安全 MAC 地址(Sticky Secure MAC Address),保存到运行配置中。
[S1-GigabitEthernet0/0/2]port-security mac-address sticky 5489-9809-5783 vlan 1 //配置VLAN 1的安全静态MAC地址
[S1-GigabitEthernet0/0/2]port-security max-mac-num 1 //限制最大学习数为1,即使没有进行通信也可以直接查看到G0/0/2上有MAC地址,MAC地址已经被静态绑定到G0/0/2上了
5. 配置S1的G0/0/3口为sticky mac
[S1]int g0/0/3
[S1-GigabitEthernet0/0/3]port-security enable
[S1-GigabitEthernet0/0/3]port-security mac-add sticky
[S1-GigabitEthernet0/0/3]port-security max-mac-num 1