11-端口安全-端口绑定操作
本章节下载: 11-端口安全-端口绑定操作 (507.56 KB)
目 录
1.2.6 端口在macAddressOrUserLoginSecure安全模式下支持Guest VLAN
1.2.7 配置当前端口不应用RADIUS服务器下发的授权信息
1.4.2 端口安全macAddressWithRadius模式配置举例
1.4.3 端口安全userLoginWithOUI模式配置举例
1.4.4 端口安全macAddressElseUserLoginSecureExt模式配置举例
1.4.5 端口安全macAddressAndUserLoginSecureExt模式配置举例
1.4.6 端口在macAddressOrUserLoginSecure安全模式下支持Guest VLAN配置举例
l 新增“端口安全支持Guest VLAN”特性,具体请参见1.2.6 端口在macAddressOrUserLoginSecure安全模式下支持Guest VLAN。
l 新增“配置自动学习到的Secure MAC地址表项的老化时间”特性,具体请参见1.2.8 2. 配置端口自动学习到的Secure MAC地址表项的老化时间。
端口安全(Port Security)是一种对网络接入进行控制的安全机制,是对已有的802.1x认证和MAC地址认证的扩充。
端口安全的主要功能就是用户通过定义各种安全模式,来控制端口上的MAC地址学习或对用户进行认证,从而让设备学习到合法的源MAC地址,以达到相应的网络管理效果。
启动了端口安全功能之后,对于交换机不能通过安全模式学习到其源MAC地址的报文,系统将视为非法报文;对于不能通过802.1x认证或MAC地址认证的事件,将被视为非法事件。
当发现非法报文或非法事件后,系统将触发相应特性,并按照预先指定的方式自动进行处理,减少了用户的维护工作量,极大地提高了系统的安全性和可管理性。
用户通过定义各种安全模式,从而使设备根据定义学习到合法的源MAC地址,以达到相应的网络管理效果。
应用 |
对应安全模式 |
|
控制MAC地址学习 |
autoLearn |
|
secure |
||
端口采用802.1X认证 |
Userlogin |
|
userLoginSecure |
||
userLoginSecureExt |
||
userLoginWithOUI |
||
端口采用MAC地址认证 |
macAddressWithRadius |
|
端口采用MAC地址和802.1X组合认证 |
and模式 |
macAddressAndUserLoginSecure |
macAddressAndUserLoginSecureExt |
||
else模式 |
macAddressElseUserLoginSecure |
|
macAddressElseUserLoginSecureExt |
||
or模式 |
macAddressOrUserLoginSecure |
|
macAddressOrUserLoginSecureExt |
||
由于安全模式种类较多,为便于记忆,部分端口安全模式名称的构成可按如下规则理解: l “userLogin”表示基于端口的802.1X认证; l “macAddress”表示MAC地址认证; l “and”表示基于端口的802.1X认证和MAC地址认证的双重认证,只有在这两个认证都成功后才允许接入网络; l “Else”之前的认证方式先被采用,失败后根据请求认证的报文协议类型决定是否转为“Else”之后的认证方式; l “Or”连接的两种认证方式无固定生效顺序,设备根据请求认证的报文协议类型决定认证方式; l 携带“Secure”的userLogin表示基于MAC地址的802.1X认证。 l 携带“Ext”表示可允许多个802.1X用户认证成功。 |
l 在autoLearn模式下,可通过手工配置或通过动态进行MAC学习,此时MAC地址称为Secure MAC;只有源MAC为Secure MAC或已配置的动态MAC的报文,才能通过该端口;当端口下的Secure MAC地址表项数超过端口允许学习的最大安全MAC地址数后,该端口不会再添加新的Secure MAC,并且端口模式会自动转变为secure。
l 如果直接将端口安全模式设置为secure模式,将禁止端口学习MAC地址,只有已配置的静态或动态MAC的报文,才能通过该端口。
报文处理流程如图1-1:
图1-1 autoLearn模式与secure模式报文处理流程图
l userlogin:对接入用户采用基于端口的802.1x认证。
l userLoginSecure:对接入用户采用基于MAC的802.1x认证,认证成功后端口开启,但也只允许认证成功的用户报文通过。此模式下,端口最多只允许接入一个经过802.1x认证的用户。
l userLoginSecureExt:与userLoginSecure类似,但端口下的802.1x认证用户可以有多个。
l userLoginWithOUI:与userLoginSecure类似,端口最多只允许一个802.1x认证用户,但同时,端口还允许一个OUI(Organizationally Unique Identifier 是一个全球唯一的标识符,是MAC地址的前24位)地址的报文通过。
关于802.1x认证的具体过程请参见“802.1x及System-Guard操作”。
macAddressWithRadius:对接入用户采用MAC地址认证
关于MAC地址认证的具体过程请参见“MAC地址认证操作”。
l macAddressAndUserLoginSecure:接入用户先进行MAC地址认证,当MAC地址认证成功后,再进行802.1x认证。只有在这两种认证都成功的情况下,才允许该用户接入网络。此模式下,端口最多只允许一个用户接入网络。
l macAddressAndUserLoginSecureExt:与macAddressAndUserLoginSecure类似。但此模式下,端口允许接入网络的用户可以有多个。
报文处理流程如图1-2所示:
图1-2 ‘and’模式下报文处理流程图
l macAddressElseUserLoginSecure:对接入用户先进行MAC地址认证,如果成功则表明认证通过,如果失败再进行802.1x认证;此模式下,端口最多只允许接入一个经过认证的802.1x用户,但端口下经过认证的MAC地址认证用户可以有多个。
l macAddressElseUserLoginSecureExt:与macAddressElseUserLoginSecure类似。但此模式下,端口允许经过认证的802.1x用户可以有多个。
报文处理流程如图1-3所示。
图1-3 ‘else’模式下报文处理流程图
l macAddressOrUserLoginSecure:接入用户通过MAC地址认证后,仍然可以进行802.1x认证;接入用户通过802.1x认证后,不再进行MAC地址认证;此模式下,端口最多只允许接入一个经过认证的802.1x用户,但端口下经过认证的MAC地址认证用户可以有多个。
l macAddressOrUserLoginSecureExt:与macAddressOrUserLoginSecure类似。但此模式下,端口允许经过认证的802.1x用户可以有多个。
图1-4 ‘or’模式下报文处理流程图
端口安全的特性包括:
l NTK特性:NTK(Need To Know)特性通过检测从端口发出的数据帧的目的MAC地址,保证数据帧只能被交换机发送到已经通过认证的设备上,从而防止非法设备窃听网络数据。
l Intrusion Protection特性:该特性通过检测端口接收到的数据帧的源MAC地址或802.1x认证的用户名、密码,发现非法报文或非法事件,并采取相应的动作,包括暂时断开端口连接、永久断开端口连接或是过滤源地址是此MAC地址的报文,保证了端口的安全性。
l Trap特性:该特性是指当端口有特定的数据包(由非法入侵,用户不正常上下线等原因引起)传送时,设备将会发送Trap信息,便于网络管理员对这些特殊的行为进行监控。
l 在userlogin安全模式下,NTK特性和Intrusion Protection特性不会被触发。其他模式下,当设备发现非法报文或非法事件后,将触发NTK特性和Intrusion Protection特性。
l 当端口工作在userLoginWithOUI模式下时,即使OUI地址不匹配,也不会触发Intrusion Protection特性。
l macAddressElseUserLoginSecure或macAddressElseUserLoginSecureExt安全模式下工作的端口,对于同一个报文,只有在MAC地址认证和802.1x认证均失败后,才会触发Intrusion Protection特性。
表1-2 端口安全配置任务简介
配置任务 |
说明 |
详细配置 |
|
启动端口安全功能 |
必选 |
||
配置端口允许的最大MAC地址数 |
可选 |
||
配置端口安全模式 |
必选 |
||
配置端口安全的相关特性 |
配置NTK特性 |
可选 根据实际组网需求选择其中一种或多种特性 |
|
配置Intrusion Protection特性 |
|||
配置Trap特性 |
|||
端口在macAddressOrUserLoginSecure安全模式下支持Guest VLAN |
可选 |
||
配置当前端口不应用RADIUS服务器下发的授权信息 |
可选 |
||
配置Secure MAC地址 |
可选 |
在启动端口安全功能之前,需要关闭全局的802.1x和MAC地址认证功能。
表1-3 启动端口安全功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动端口安全功能 |
port-security enable |
必选 缺省情况下,端口安全功能处于关闭状态 |
当用户启动端口安全功能后,端口的如下配置会被自动恢复为(括弧内的)缺省情况:
l 802.1x认证(关闭)、端口接入控制方式(macbased)、端口接入控制模式(auto);
l MAC地址认证(关闭)。
且以上配置不能再进行手动配置,只能随端口安全模式的改变由系统配置。
l 关于802.1x认证的详细介绍,请参见“802.1x及System-Guard”中的相关内容。
l 端口安全不支持802.1x的EAD快速部署功能。
l 关于MAC地址认证的详细介绍,请参见“MAC地址认证”中的相关内容。
端口安全可以允许某个端口下有多个用户通过认证,但是允许的用户数不能超过设置的最大值。
配置端口允许的最大MAC地址数有两个作用:
l 控制能够通过某端口接入网络的最大用户数;
l 控制端口安全能够添加的Secure MAC地址数。
需要注意的是:
l 端口安全允许某个端口下有多个用户通过认证时,端口下所允许的最大用户数根据不同的端口安全模式,取最大安全MAC地址数与相应模式下允许认证用户数的最小值。例如,userLoginSecureExt模式下,端口下所允许的最大用户为配置的最大MAC地址数与802.1X认证所允许的最大用户数的最小值。
l 该配置与MAC地址管理中配置的端口最多可以学习到的MAC地址数无关。
表1-4 配置端口允许接入的最大MAC地址数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口允许接入的最大MAC地址数 |
port-security max-mac-count count-value |
必选 缺省情况下,最大MAC地址数不受限制 |
表1-5 配置端口安全模式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
设置用户认证的OUI值 |
port-security oui OUI-value index index-value |
可选 在端口安全模式为userLoginWithOUI时,端口除了可以允许一个802.1x的接入用户通过认证之外,还可以允许一个指定OUI值的源MAC地址的用户通过认证 |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口的安全模式 |
port-security port-mode { autolearn|mac-and-userlogin-secure | mac-and-userlogin-secure-ext | mac-authentication|mac-else-userlogin-secure|mac-else-userlogin-secure-ext | secure|userlogin | userlogin-secure |userlogin-secure-ext |userlogin-secure-or-mac | userlogin-secure-or-mac-ext | userlogin-withoui } |
必选 缺省情况下,端口处于noRestriction模式,此时该端口处于无限制状态 根据实际需要,用户可以配置不同的安全模式 |
l 当用户配置端口安全模式为autolearn时,首先需要使用port-security max-mac-count命令设置端口允许接入的最大MAC地址数。
l 当端口工作于autolearn模式时,无法更改端口允许接入的最大MAC地址数。
l 在用户配置端口安全模式为autolearn后,不能在该端口上配置静态或黑洞MAC地址。
l 当端口安全模式不是noRestriction时,若要改变端口安全模式,必须首先执行undo port-security port-mode命令恢复端口安全模式为noRestriction模式。
在已经配置了安全模式的端口下,将不能再进行以下配置:
l 配置最大MAC地址学习个数;
l 配置镜像反射端口;
l 配置Fabric端口;
l 配置端口汇聚。
表1-6 配置NTK特性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置Need To Know特性 |
port-security ntk-mode { ntkonly | ntk-withbroadcasts | ntk-withmulticasts } |
必选 缺省情况下,没有配置Need To Know特性,即所有报文都可成功发送 |
表1-7 配置Intrusion Protection特性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
设置Intrusion Protection特性被触发后,交换机采取的相应动作 |
port-security intrusion-mode { blockmac | disableport | disableport-temporarily } |
必选 缺省情况下,没有设置Intrusion Protection特性 |
退回系统视图 |
quit |
- |
设置系统暂时断开端口连接的时间 |
port-security timer disableport timer |
可选 缺省情况下,系统暂时断开端口连接的时间为20秒 |
port-security timer disableport命令设置的时间值,是port-security intrusion-mode命令设置为disableport-temporarily模式时,系统暂时断开端口连接的时间。
当用户在同一端口上配置NTK特性和配置port-security intrusion-mode blockmac命令后,交换机将无法禁止目的MAC地址为非法MAC地址的报文从该端口发出,也就是说NTK特性对目的MAC地址为非法MAC地址的报文不起作用。
表1-8 配置Trap特性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
打开指定Trap信息的发送开关 |
port-security trap { addresslearned | dot1xlogfailure | dot1xlogoff | dot1xlogon | intrusion | ralmlogfailure | ralmlogoff | ralmlogon } |
必选 缺省情况下,Trap信息的发送开关处于关闭状态 |
Guest VLAN是用户在认证失败的情况下,可以访问的指定VLAN(有关Guest VLAN的详细介绍请参见“802.1x及System-Guard”)。
对于支持Guest VLAN的macAddressOrUserLoginSecure安全模式来说,每个端口下可连接一个或多个认证用户,但同一时刻每个端口最多只允许一个用户通过安全认证。具体情况如下:
(1) 当端口上连接的首个认证用户触发802.1x认证或MAC地址认证时:
l 如果该用户未通过802.1x认证或MAC地址认证,则该端口会被加入到Guest VLAN,此后所有在该端口接入的用户将被授权访问Guest VLAN里的资源。
l 若该用户通过了802.1x认证或MAC地址认证,因为端口同一时刻只允许接入一个经过认证的用户,其他用户的认证请求将不再进行处理(后续认证用户认证失败,但端口不会加入Guest VLAN)。
(2) 当某端口已经加入Guest VLAN后:
l 该端口下连的认证用户仍然可以进行802.1x认证,如果有一个用户认证成功,该端口会离开Guest VLAN、回到配置的VLAN中(加入Guest VLAN之前所在的VLAN,即“初始VLAN”)。并且不再处理该端口下其他用户的认证请求。
l 同样,该端口仍然允许进行MAC地址认证,但此时MAC地址认证不是由用户报文来触发MAC地址认证,而是由交换机每隔一定时间自动利用该端口下学习到的Guest VLAN内的首个MAC地址触发MAC地址认证,如果认证成功,端口会离开Guest VLAN。
表1-9 端口在macAddressOrUserLoginSecure安全模式下支持Guest VLAN
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置在端口加入Guest VLAN后,交换机触发MAC地址认证的周期 |
port-security timer guest-vlan-reauth interval |
可选 |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口启用macAddressOrUserLoginSecure安全模式 |
port-security port-mode userlogin-secure-or-mac |
必选 |
指定某个已创建的VLAN为当前端口可访的Guest VLAN |
port-security guest-vlan vlan-id |
必选 |
需要注意的是:
l 指定某VLAN为当前端口可访的Guest VLAN前,需要确保该VLAN已经创建、并且该VLAN内包含用户需要访问的资源。
l 若当前端口下有接入用户正在进行认证或已经通过认证,则无法为其指定Guest VLAN。
l 当指定了端口可访问的Guest VLAN后,若端口下挂的用户认证失败,该端口将被加入到Guest VLAN中、下挂的用户只能访问Guest VLAN中的资源。
l 每个端口下可连接一个或多个认证用户,若该端口指定了可访问的Guest VLAN则同一时刻每个端口最多只允许一个用户通过安全认证(其余的802.1x认证用户的客户端会显示认证失败;由于MAC地址认证时没有客户端,因此认证失败且无任何提示)。
l 当端口已经指定了Guest VLAN的情况下、若要改变端口安全模式,必须首先执行undo port-security guest-vlan 命令取消给该端口指定的Guest VLAN。
l 端口只有在macAddressOrUserLoginSecure安全模式下才能指定其可访问的Guest VLAN。
l 若用户在端口同时指定Guest VLAN和配置port-security intrusion-mode disableport命令,当认证失败后,只触发入侵检测特性,不会再将该端口加入Guest VLAN。
l 建议不要在端口上将指定Guest VLAN功能和配置port-security intrusion-mode blockmac命令同时使用。因为如果认证失败,触发入侵检测blockmac特性后,该接入用户发出的报文将被丢弃,用户无法访问Guest VLAN。
802.1x用户或MAC地址认证用户在RADIUS服务器上通过认证时,服务器会把授权信息下发给设备端。用户可以配置端口是否忽略RADIUS服务器下发的授权信息。
表1-10 配置当前端口不应用RADIUS服务器下发的授权信息
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置当前端口不应用RADIUS服务器下发的授权信息 |
port-security authorization ignore |
必选 缺省情况下,端口应用RADIUS服务器下发的授权信息 |
在autolearn模式下,可通过手工配置或通过动态进行学习MAC,此时MAC地址称为Secure MAC。缺省情况下,Secure MAC地址不会被老化。一个Secure MAC地址只能被添加到一个端口上,利用该特点可以实现同一VLAN内Secure MAC地址与端口间的绑定。
当配置端口的安全模式为autolearn之后,端口的MAC地址学习方式将会发生如下变化:
l 端口原有的动态MAC被删除;
l 当端口的Secure MAC表项没有达到配置的最大数目时,端口新学到的MAC地址会被添加为Secure MAC表项;
l 当端口的Secure MAC表项到达配置的最大数目时,端口将不会继续学习MAC地址,端口状态将从autolearn状态转变为secure状态。
用户手动配置的Secure MAC地址会写入配置文件,端口Up或Down时不会丢失。保存配置文件后,即使交换机重启,Secure MAC地址也可以恢复。
在手动添加Secure MAC地址表项之前,需完成以下任务:
l 启动端口安全功能;
l 配置端口允许接入的最大MAC地址数;
l 配置端口的安全模式为autolearn。
表1-11 配置Secure MAC地址
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
添加Secure MAC地址表项 |
系统视图下 |
mac-address security mac-address interface interface-type interface-number vlan vlan-id |
二者必选其一 缺省情况下,未配置Secure MAC地址表项 |
以太网端口视图下 |
interface interface-type interface-number |
||
mac-address security mac-address vlan vlan-id |
缺省情况下,端口自动学习的Secure MAC表项是不会老化的,只有当关闭端口安全功能或端口的安全模式不再是autolearn之后(从autolearn模式自动转换到secure模式时,端口学习到的Secure MAC地址表项也不会老化),端口学习到的Secure MAC地址表项才会删除。
如果用户希望端口自动学习的Secure MAC地址表项也能进行老化,可以通过配置合适的老化时间来有效的实现Secure MAC地址表项的老化。当Secure MAC地址表项的存在时间超过设置的老化时间时,交换机就会把Secure MAC地址表项删除。
表1-12 配置端口自动学习到的Secure MAC地址表项的老化时间
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动端口安全功能 |
port-security enable |
- |
配置端口自动学习到的Secure MAC地址的老化时间 |
port-security timer autolearn age |
必选 缺省情况下,端口自动学习到的Secure MAC地址的老化时间为0,即不进行老化处理。 |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口允许接入的最大MAC地址数 |
port-security max-mac-count count-value |
必选 缺省情况下,最大MAC地址数不受限制 |
配置端口的安全模式为autolearn |
port-security port-mode autolearn |
必选 缺省情况下,端口处于noRestriction模式,此时该端口处于无限制状态 |
& 说明:
配置Secure MAC地址表项的老化时间后,可通过display mac-address security命令查看端口学习到的Secure MAC地址表项信息时,虽然老化时间显示为“NOAGED”,但此时交换机已经开始对Secure MAC地址表项进行老化处理了。
完成上述配置后,在任意视图下执行display命令,可以显示配置端口安全后的运行情况。通过查看显示信息,用户可以验证配置的效果。
表1-13 端口安全配置显示
操作 |
命令 |
说明 |
显示端口安全配置的相关信息 |
display port-security [ interface interface-list ] |
display命令可以在任意视图下执行 |
显示Secure MAC地址的配置信息 |
display mac-address security [ interface interface-type interface-number ] [ vlan vlan-id ] [ count ] |
在交换机的端口Ethernet1/0/1上对接入用户做如下的限制:
l 允许最多80个用户自由接入,不进行认证,将学习到的用户MAC地址添加为Secure MAC地址;
l 为确保用户Host能够接入,将该用户的MAC地址0001-0002-0003作为Secure MAC地址,添加到VLAN 1中;
l 当Secure MAC地址数量达到80后,停止学习;当再有新的MAC地址接入时,触发Intrusion Protection特性,并将此端口关闭30秒。
图1-5 端口安全autolearn模式组网图
# 进入系统视图。
<Switch> system-view
# 启动端口安全功能。
[Switch] port-security enable
# 进入以太网Ethernet1/0/1端口视图。
[Switch] interface Ethernet1/0/1
# 设置端口允许接入的最大MAC地址数为80。
[Switch-Ethernet1/0/1] port-security max-mac-count 80
# 配置端口的安全模式为autolearn。
[Switch-Ethernet1/0/1] port-security port-mode autolearn
# 将Host 的MAC地址0001-0002-0003作为Secure MAC添加到VLAN 1中。
[Switch-Ethernet1/0/1] mac-address security 0001-0002-0003 vlan 1
# 设置Intrusion Protection特性被触发后,暂时关闭该端口,关闭时间为30秒。
[Switch-Ethernet1/0/1] port-security intrusion-mode disableport-temporarily
[Switch-Ethernet1/0/1] quit
[Switch] port-security timer disableport 30
客户端通过端口Ethernet1/0/1连接到交换机上,交换机通过RADIUS服务器对客户端进行身份认证,如果认证成功,客户端被授权允许访问Internet资源。
交换机的管理者希望对接入用户的端口Ethernet1/0/1做如下限制:
l 对接入用户进行MAC地址认证;
l 所有用户都属于域:example.com,MAC地址认证时使用用户PC的MAC地址作为用户名和密码。
l 对未通过MAC认证的报文,触发Intrusion Protection特性,过滤源地址是此MAC地址的报文,保证该端口的安全性。
图1-6 端口安全macAddressWithRadius模式组网图
l 下述配置步骤包含了部分AAA/RADIUS协议配置命令,具体介绍请参见“AAA配置”。
l 接入用户和RADIUS服务器上的配置略。
l 配置RADIUS协议
# 创建名为radius1的RADIUS方案。
<Switch> system-view
[Switch] radius scheme radius1
# 设置主认证RADIUS服务器的IP地址为192.168.1.3,主计费RADIUS服务器的IP地址为192.168.1.2。
[Switch-radius-radius1] primary authentication 192.168.1.3
[Switch-radius-radius1] primary accounting 192.168.1.2
# 设置备份认证RADIUS服务器的IP地址为192.168.1.2,备份计费RADIUS服务器的IP地址为192.168.1.3。
[Switch-radius-radius1] secondary authentication 192.168.1.2
[Switch-radius-radius1] secondary accounting 192.168.1.3
# 设置与认证RADIUS服务器交互报文时的加密密码为name。
[Switch-radius-radius1] key authentication name
# 设置与计费RADIUS服务器交互报文时的加密密码为name。
[Switch-radius-radius1] key accounting name
# 设置将去除域名的用户名发送给RADIUS服务器。
[Switch-radius-radius1] user-name-format without-domain
[Switch-radius-radius1] quit
# 创建名为example.com的ISP域,并进入其视图。
[Switch] domain example.com
# 指定radius1为该域用户的RADIUS方案。
[Switch-isp-example.com] scheme radius-scheme radius1
[Switch-isp-example.com] quit
# 配置域example.com为缺省用户域。
[Switch] domain default enable example.com
# 配置采用MAC地址用户名进行认证,并指定不使用带有分隔符的小写形式的MAC地址作为验证的用户名和密码。
[Switch] mac-authentication authmode usernameasmacaddress usernameformat without-hyphen
# 配置MAC地址认证用户所使用的ISP域。
[Switch] mac-authentication domain example.com
# 启动端口安全功能
[Switch] port-security enable
# 配置端口安全模式为mac-authentication
[Switch] interface Ethernet 1/0/1
[Switch-Ethernet1/0/1] port-security port-mode mac-authentication
# 设置Intrusion Protection特性被触发后,丢弃源MAC地址是此MAC地址的报文。
[Switch-Ethernet1/0/1] port-security intrusion-mode blockmac
客户端通过端口Ethernet1/0/1连接到交换机上,交换机通过RADIUS服务器对客户端进行身份认证,如果认证成功,客户端被授权允许访问Internet资源。
交换机的管理者希望对接入用户的端口Ethernet1/0/1做如下限制:
l 允许一个802.1x用户上线;
l 设置2个OUI值,允许端口上有一个与OUI值匹配的MAC地址用户通过;
l 打开指定Trap信息开关,使管理员能够对802.1x认证用户的行为进行监控。
图1-7 端口安全userLoginWithOUI模式组网图
l 下述配置步骤包含了部分AAA/RADIUS协议配置命令,具体介绍请参见“AAA配置”。
l 接入用户和RADIUS服务器上的配置略。
l 配置RADIUS协议
# 创建名为radius1的RADIUS方案。
<Switch> system-view
[Switch] radius scheme radius1
# 设置主认证RADIUS服务器的IP地址为192.168.1.3,主计费RADIUS服务器的IP地址为192.168.1.2。
[Switch-radius-radius1] primary authentication 192.168.1.3
[Switch-radius-radius1] primary accounting 192.168.1.2
# 设置备份认证RADIUS服务器的IP地址为192.168.1.2,备份计费RADIUS服务器的IP地址为192.168.1.3。
[Switch-radius-radius1] secondary authentication 192.168.1.2
[Switch-radius-radius1] secondary accounting 192.168.1.3
# 设置与认证RADIUS服务器交互报文时的加密密码为name。
[Switch-radius-radius1] key authentication name
# 设置与计费RADIUS服务器交互报文时的加密密码为name。
[Switch-radius-radius1] key accounting name
# 设置系统向RADIUS服务器重发报文的时间间隔与次数。
[Switch-radius-radius1] timer 5
[Switch-radius-radius1] retry 5
# 设置向RADIUS服务器发送实时计费报文的时间间隔为15分钟。
[Switch-radius-radius1] timer realtime-accounting 15
# 设置将去除域名的用户名发送给RADIUS服务器。
[Switch-radius-radius1] user-name-format without-domain
[Switch-radius-radius1] quit
# 创建名为example.com的ISP域,并进入其视图。
[Switch] domain example.com
# 指定radius1为该域用户的RADIUS方案,若RADIUS服务器无效,则使用本地认证方案。
[Switch-isp-example.com] scheme radius-scheme radius1 local
# 设置该ISP域最多可容纳30个用户。
[Switch-isp-example.com] access-limit enable 30
# 启动闲置切断功能并设置相关参数。
[Switch-isp-example.com] idle-cut enable 20 2000
[Switch-isp-example.com] quit
# 配置域example.com为缺省用户域。
[Switch] domain default enable example.com
# 添加本地接入用户。
[Switch] local-user localuser
[Switch-luser-localuser] service-type lan-access
[Switch-luser-localuser] password simple localpass
l 配置端口安全特性
# 启动端口安全功能。
[Switch] port-security enable
# 添加2个OUI值。
[Switch] port-security oui 1234-0100-1111 index 1
[Switch] port-security oui 1234-0200-1111 index 2
# 设置端口安全模式为userlogin-withoui。
[Switch] interface Ethernet 1/0/1
[Switch-Ethernet1/0/1] port-security port-mode userlogin-withoui
[Switch-Ethernet1/0/1] quit
# 打开指定Trap信息开关
[Switch] port-security trap dot1xlogfailure
[Switch] port-security trap dot1xlogon
[Switch] port-security trap dot1xlogoff
客户端通过端口Ethernet1/0/1连接到交换机上,交换机通过RADIUS服务器对客户端进行身份认证。如果认证成功,客户端被授权允许访问Internet资源。
交换机的管理者希望对接入用户的端口Ethernet1/0/1做如下的限制:
l 为方便用户访问Internet资源,采用MAC地址认证的方式对接入用户进行身份认证,但是当无法进行MAC地址认证或MAC地址认证失败时,为保证用户能够顺利访问Internet资源,认证用户还可以再进行802.1x认证;
l 允许最多64个802.1x认证用户上线,通过认证的802.1x用户和MAC地址用户最多不能超过200个;
l 所有用户都属于域:example.com,MAC地址认证时使用用户PC的MAC地址作为用户名和密码;
l 为防止报文发往未知目的MAC地址,启动NeedToKnow特性。
图1-8 端口安全macAddressElseUserLoginSecureExt模式组网图
l 下述配置步骤包含了部分AAA/RADIUS协议配置命令,具体介绍请参见“AAA配置”。
l 接入用户和RADIUS服务器上的配置略。
l 配置RADIUS协议
# 创建名为radius1的RADIUS方案。
<Switch> system-view
[Switch] radius scheme radius1
# 设置主认证RADIUS服务器的IP地址为192.168.1.3,主计费RADIUS服务器的IP地址为192.168.1.2。
[Switch-radius-radius1] primary authentication 192.168.1.3
[Switch-radius-radius1] primary accounting 192.168.1.2
# 设置备份认证RADIUS服务器的IP地址为192.168.1.2,备份计费RADIUS服务器的IP地址为192.168.1.3。
[Switch-radius-radius1] secondary authentication 192.168.1.2
[Switch-radius-radius1] secondary accounting 192.168.1.3
# 设置与认证RADIUS服务器交互报文时的加密密码为name。
[Switch-radius-radius1] key authentication name
# 设置与计费RADIUS服务器交互报文时的加密密码为name。
[Switch-radius-radius1] key accounting name
# 设置系统向RADIUS服务器重发报文的时间间隔与次数。
[Switch-radius-radius1] timer 5
[Switch-radius-radius1] retry 5
# 设置向RADIUS服务器发送实时计费报文的时间间隔为15分钟。
[Switch-radius-radius1] timer realtime-accounting 15
# 设置将去除域名的用户名发送给RADIUS服务器。
[Switch-radius-radius1] user-name-format without-domain
[Switch-radius-radius1] quit
# 创建名为example.com的ISP域,并进入其视图。
[Switch] domain example.com
# 指定radius1为该域用户的RADIUS方案。
[Switch-isp-example.com] scheme radius-scheme radius1
# 启动闲置切断功能并设置相关参数。
[Switch-isp-example.com] idle-cut enable 20 2000
[Switch-isp-example.com] quit
# 配置域example.com为缺省用户域。
[Switch] domain default enable example.com
# 配置同时接入802.1x用户数量的最大值
[Switch] dot1x max-user 64
# 配置采用MAC地址用户名进行认证,并指定不使用带有分隔符的小写形式的MAC地址作为验证的用户名和密码。
[Switch] mac-authentication authmode usernameasmacaddress usernameformat without-hyphen
# 配置MAC地址认证用户所使用的ISP域。
[Switch] mac-authentication domain example.com
# 启动端口安全功能。
[Switch] port-security enable
# 配置端口允许的最大安全MAC地址数为200。
[Switch] interface Ethernet 1/0/1
[Switch-Ethernet1/0/1] port-security max-mac-count 200
# 设置端口安全模式为mac-else-userlogin-secure-ext。
[Switch-Ethernet1/0/1] port-security port-mode mac-else-userlogin-secure-ext
# 设置端口NeedToKnow模式为ntkonly。
[Switch-Ethernet1/0/1] port-security ntk-mode ntkonly
客户端通过端口Ethernet1/0/1连接到交换机上,交换机通过RADIUS服务器对客户端进行身份认证。如果认证成功,客户端被授权允许访问Internet资源。
交换机的管理者希望对接入用户的端口Ethernet1/0/1做如下的限制:
l 采用双重认证方式保证用户的合法性,即在用户进行802.1x认证前,先对接入用户进行MAC认证,只有在MAC地址认证成功后,再对接入用户进行802.1x认证;
l 所有用户都属于域:example.com,MAC地址认证时使用用户PC的MAC地址作为用户名和密码。
图1-9 端口安全macAddressElseUserLoginSecureExt模式组网图
l 下述配置步骤包含了部分AAA/RADIUS协议配置命令,具体介绍请参见“AAA配置”。
l 接入用户和RADIUS服务器上的配置略。
l 配置RADIUS协议
# 创建名为radius1的RADIUS方案。
<Switch> system-view
[Switch] radius scheme radius1
# 设置主认证RADIUS服务器的IP地址为192.168.1.3,主计费RADIUS服务器的IP地址为192.168.1.2。
[Switch-radius-radius1] primary authentication 192.168.1.3
[Switch-radius-radius1] primary accounting 192.168.1.2
# 设置备份认证RADIUS服务器的IP地址为192.168.1.2,备份计费RADIUS服务器的IP地址为192.168.1.3。
[Switch-radius-radius1] secondary authentication 192.168.1.2
[Switch-radius-radius1] secondary accounting 192.168.1.3
# 设置与认证RADIUS服务器交互报文时的加密密码为name。
[Switch-radius-radius1] key authentication name
# 设置与计费RADIUS服务器交互报文时的加密密码为name。
[Switch-radius-radius1] key accounting name
# 设置系统向RADIUS服务器重发报文的时间间隔与次数。
[Switch-radius-radius1] timer 5
[Switch-radius-radius1] retry 5
# 设置向RADIUS服务器发送实时计费报文的时间间隔为15分钟。
[Switch-radius-radius1] timer realtime-accounting 15
# 设置将去除域名的用户名发送给RADIUS服务器。
[Switch-radius-radius1] user-name-format without-domain
[Switch-radius-radius1] quit
# 创建名为example.com的ISP域,并进入其视图。
[Switch] domain example.com
# 指定radius1为该域用户的RADIUS方案。
[Switch-isp-example.com] scheme radius-scheme radius1
# 启动闲置切断功能并设置相关参数。
[Switch-isp-example.com] idle-cut enable 20 2000
[Switch-isp-example.com] quit
# 配置域example.com为缺省用户域。
[Switch] domain default enable example.com
# 配置采用MAC地址用户名进行认证,并指定不使用带有分隔符的小写形式的MAC地址作为验证的用户名和密码。
[Switch] mac-authentication authmode usernameasmacaddress usernameformat without-hyphen
# 配置MAC地址认证用户所使用的ISP域。
[Switch] mac-authentication domain example.com
# 启动端口安全功能。
[Switch] port-security enable
# 设置端口安全模式为macAddressAndUserLoginSecureExt。
[Switch] interface Ethernet 1/0/1
[Switch-Ethernet1/0/1] port-security port-mode mac-and-userlogin-secure-ext
如图1-10所示,交换机的端口Ethernet1/0/2下连接着PC和打印机两台设备,这两台设备不同时使用。为了保证接入设备的安全访问,采用端口安全的macAddressOrUserLoginSecure安全模式,并在该安全模式下应用Guest VLAN。
l PC通过802.1x认证接入网络,打印机接入网络时根据MAC地址进行MAC地址认证。
l Switch的端口Ethernet1/0/3连接Internet网络,该端口在VLAN 1内。正常情况下,设备接入Switch的端口Ethernet1/0/2也在VLAN 1内。
l VLAN 10为Guest VLAN,在该VLAN内包含一个用于客户端软件下载和升级的Update Server。当用户认证失败后,端口Ethernet1/0/2将会加入VLAN 10,此时用户只能访问VLAN 10。当用户认证成功后,端口Ethernet1/0/2会回到VLAN 1。
图1-10 端口在macAddressOrUserLoginSecure安全模式下支持Guest VLAN组网图
下述各配置步骤包含了大部分AAA/RADIUS协议配置命令,对这些命令的介绍,请参见“AAA配置”。此外,802.1x客户端和RADIUS服务器上的配置略。
# 配置RADIUS方案2000。
<Switch> system-view
[Switch] radius scheme 2000
[Switch-radius-2000] primary authentication 10.11.1.1 1812
[Switch-radius-2000] primary accounting 10.11.1.1 1813
[Switch-radius-2000] key authentication abc
[Switch-radius-2000] key accouting abc
[Switch-radius-2000] user-name-format without-domain
[Switch-radius-2000] quit
# 配置认证域system,该域使用已配置的RADIUS方案2000。
[Switch] domain system
[Switch-isp-system] scheme radius-scheme 2000
[Switch-isp-system] quit
# 配置采用MAC地址用户名进行认证,并指定不使用带有分隔符的小写形式的MAC地址作为验证的用户名和密码。
[Switch] mac-authentication authmode usernameasmacaddress usernameformat without-hyphen
# 配置MAC地址认证用户所使用的ISP域。
[Switch] mac-authentication domain system
# 配置端口安全功能
[Switch] port-security enable
# 配置自动进行MAC认证的周期为60秒
[Switch] port-security timer guest-vlan timer 60
# 配置VLAN 10
[Switch] vlan 10
[Switch–vlan10] port Ethernet 1/0/1
# 端口Ethernet 1/0/2上配置macAddressOrUserLoginSecure模式。
[Switch] interface Ethernet1/0/2
[Switch-Ethernet1/0/2] port-security port-mode userlogin-secure-or-mac
# 端口上配置Guest VLAN。
[Switch-Ethernet1/0/2] port-security guest-vlan 10
通过命令display current-configuration或者display interface ethernet 1/0/2可以查看Guest VLAN配置情况。当用户认证失败后,通过命令display vlan 10可以查看端口配置的Guest VLAN是否生效。
绑定是一种简单的安全机制,通过交换机上的绑定功能,可以对端口转发的报文进行过滤控制。当端口接收到报文后查找绑定表项,如果报文中的特征项与绑定表项中记录的特征项匹配,则端口转发该报文,否则做丢弃处理。目前交换机提供灵活的绑定策略,包括:
l 端口+IP绑定:将报文的接收端口和用户的IP地址绑定。此时,交换机只对从该端口收到的指定IP地址的用户发出的报文进行转发。
l 端口+MAC地址绑定:将报文的接收端口和用户的MAC地址绑定。此时,交换机只对从该端口收到的指定MAC地址的用户发出的报文进行转发。
l 端口+MAC地址+IP绑定:将用户的MAC地址、IP地址和报文的接收端口绑定。此时,端口若收到源IP地址与指定的IP地址相同的报文,则只有该报文的源MAC地址与指定的MAC地址相同时,报文才能被转发;端口接收的其它报文(源IP地址不在IP-MAC-端口绑定关系表中的报文)可正常转发。
l IP+MAC地址绑定:将IP地址和MAC地址绑定。此时,如果交换机收到的报文的源IP地址与指定的IP地址相同,则只有该报文的源MAC地址也与指定的MAC地址相同时,该报文才能被转发;同理,如果报文的源MAC地址与指定的MAC地址相同,则也只有报文的源IP地址与指定的IP地址相同时,该报文才能被转发;交换机收到的其它报文可正常转发。
所有与端口相关的绑定都是只针对端口的,当一个端口被绑定后,仅该端口被限制,其他端口不受绑定影响。
表2-1 端口绑定配置
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
将用户的MAC地址、IP地址和端口进行灵活绑定 |
系统视图下 |
am user-bind mac-addr mac-address ip-addr ip-address [ interface interface-type interface-number ] |
二者必选其一 缺省情况下,未将用户的MAC地址、IP地址、端口进行绑定 |
以太网端口视图下 |
interface interface-type interface-number |
||
am user-bind { ip-addr ip-address | mac-addr mac-address [ ip-addr ip-address ] } |
l 对同一个MAC地址和IP地址,系统只允许在端口上进行一次绑定操作。
l 不能同时对一个端口进行“端口+IP+MAC”和“端口+IP”的绑定。
完成上述配置后,在任意视图下执行display命令,可以显示配置端口绑定后的运行情况。通过查看显示信息,用户可以验证配置的效果。
表2-2 端口绑定配置显示
操作 |
命令 |
说明 |
显示端口绑定的配置信息 |
display am user-bind [ interface interface-type interface-number | ip-addr ip-address | mac-addr mac-address ] |
display命令可以在任意视图下执行 |
为了防止小区内有恶意用户盗用Host A的IP地址,需要将Host A的MAC地址和IP地址绑定到Switch A上的Ethernet1/0/1端口。
图2-1 端口绑定配置组网图
配置Switch A。
# 进入系统视图。
<SwitchA> system-view
# 进入Ethernet1/0/1端口视图。
[SwitchA] interface Ethernet1/0/1
# 将Host A的MAC地址和IP地址绑定到Ethernet1/0/1端口。
[SwitchA-Ethernet1/0/1] am user-bind mac-addr 0001-0002-0003 ip-addr 10.12.1.1
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!