# 1.配置交换机的端口安全
交换机的端口安全技术主要使用在二层端口,其目的就是为了让用户设备在接入的第一步,就可以进行验证,防止未得到认证的用户设备接入网络。
```bash
交换机端口安全的基本功能如下:
限制交换机端口的最大连接数。
端口的安全地址绑定。
配置端口安全的条件:
安全端口必须是一个Access端口。
安全端口不能是一个聚合端口(Aggregate Port)。
```
## 1.1 主要配置命令
```bash
1 开启端口安全功能。
switchport port-security
2 配置端口允许的MAC地址数量。
switchport port-security maximum <允许的数值>
允许的数值范围为1~132个安全地址。
3 手动绑定端口上的安全地址。
switchport port-security mac-address <MAC地址>
4 自动绑定端口上的安全地址。
Switchport port-security mac-address sticky
上面的命令可以让交换机自动绑定最先接入的设备,例如,端口允许的安全地址数为2,
则最先接入的两台设备就会被交换机自动保存下来作为安全地址。
5 配置处理违例的方式。
switchport port-security violation <处理方式>
处理方式有以下几种。
protect:交换机安全端口将丢弃非法接入设备的数据帧。
restrict:当违例产生时,交换机不但会丢弃非法设备的数据帧,还会发送一个SNMP Trap 报文。
shutdown:当违例产生时,交换机将丢弃非法设备的数据帧,发送一个SNMP Trap报文,并且将端口关闭。
6 查看安全端口的统计信息。
show port-security
在此命令下还可以用参数 address和interface查看安全地址和安全端口的信息。
```
# 2.操作过程
## 2.1 搭建网络拓扑

## 2.2 配置计算机网络参数
```bash
以计算机实际MAC参数配置
```
## 2.3 启用交换机的端口安全
```bash
S1(config)#interface fastEthernet 0/1
S1(config-if)#switchport mode access
S1(config-if)#switchport port-security /启用端口安全
注意:端口安全只能配置在Access端口上,建议将端口配置为Access模式
```
## 2.4 配置允许接入的设备
```bash
方法一:S1(config-if)#switchport port-security maximum 2 //最大接入的MAC地址为2个
S1(config-if)#switchport port-security mac-address 000D.BD14.8085
S1(config-if)#switchport port-security mac-address 000B.BEA1.5C99
指定允许接入的MAC地址,即图中的PC1和 PC2。
方法二:S1(config-if)#switchport port-security maximum 2 //最大接入的MAC地址为2个
S1(config-if)#switchport port-security mac-address sticky
第一种方法需要管理员手动输入接入设备的MAC地址,在设备数量多的时候容易出错, 并且效率低。第二种方法利用自动方式实现,即最先接入的两台设备作为安全设备,并且它们的MAC地址会被保证到配置文件中。
```
## 2.5 配置违规事件的处理方式
```bash
S1(config-if)#switchport port-security violation shutdown //违规事件出现后关闭端口
S1(config-if)#no shutdown //开启端口
```
## 2.6 查看安全端口的相关信息
### 2.6.1 查看绑定到安全端口的mac地址

从上面标注的信息可以看出,端口FO/1上己绑定两个安全地址
### 2.6.2 查看f0/1端口信息

## 2.7 测试


在Hub0上接入“非法主机”,在此主机上利用ping 命令测试,会发现与其他主机都无法通信,从拓扑图上也可以发现FO/1端口被关闭(指示灯变红),再次查看端口信息。
从上面显示内容的最后一行可以看出,已经出现了一次违规事件,导致端口关闭。端口关闭后,需要管理员以手动的方式输入端口关闭命令,然后再输入端口开启命令才能重新开启此端口。