前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >H3C路由交换 端口接入控制

H3C路由交换 端口接入控制

作者头像
张旭博客
发布2022-12-27 15:42:00
1K0
发布2022-12-27 15:42:00
举报
文章被收录于专栏:zxbkzxbk

端口接入控制

802.1X概述

802.1X协议是一种基于端口的网络接入控制协议(Port-Based Network Access Control Protocol),“基于端口的网络接入控制”是指在局域网接入设备的端口这一级对所接入的用户设备进行认证和控制。连接在端口上的用户设备如果能通过认证,就可以访问网络中的资源;如果不能通过认证,则无法访问网络中的资源。

802.1X协议体系结构

802.1X系统为典型的Client/Sever结构

包括三个实体:客户端(Client)、认证设备(Device)和认证服务器(server)

  • 客户端:是位于局域网链路一端的一个实体,由处于对端的设备端对其进行认证。客户端一般为用户终端设备,用户可以通过启动客户端软件发起802.1X认证。客户端必须支持EAPOL(Extensible Authentication Protocal over LAN ,局域网上的可扩展认证协议)
  • 设备端:是位于局域网链路一端的一个实体,对所连接的客户端进行认证。设备端通常为支持802.1X协议的网络设备,它为客户端提供接入局域网的端口,该端口可以是物理端口,也可以是逻辑端口。
  • 认证服务器:是为设备提供认证服务的实体。认证服务器用于实现对用户进行认证、授权和计费,通常为RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)服务器。

802.1X基本概念

  • 受控/非受控端口:
    • 受控端口、非受控端口
  • 授权/非授权状态:
    • 强制授权模式。强制非授权模式、自动识别模式
  • 受控方向:
    • 单向受控、双向受控
  • 端口接入控制方式:
    • 基于端口、基于MAC

802.1X认证触发方式和认证方式的分类

  • 802.1X认证触发方式:
    • 客户端主动触发:客户端主动向设备端发送EAPOL-Start报文来触发认证,该报文目的地址是由IEEE802.1X协议分配的一个组播MAC地址:01-80-C2-00-00-03。
    • 设备端主动触发:设备会以一定的时间间隔(例如30秒)主动向客户端发送EAP-Request/Identity报文来触发认证,这种触发方式用于支持不能主动发送EAPOL-Start报文的客户端,例如Windows XP自带的802.1X客户端。
  • 802.1X认证方式:
    • EAP中继方式:包括EAP-MD5、EAP-TLS、EAP-TTLS、PEAP
    • EAP终结方式:包括PAP/CHAP

802.1X和PPPOE认证、Web认证的对比

802.1X

PPPOE

WEB认证

是否需要配置客户端软件

是(Windows系统带有客户端)

是(Windows系统带有客户端)

业务报文效率

低,有封装开销

组播支持能力

低,对设备要求高

有线网上的安装性

扩展后可用

可用

可用

设备端的要求

较高

增值应用支持

简单

复杂

复杂

802.1X适用于运营管理相对简单、业务复杂度较低的企业以及园区,802.1X是理想的低成本运营解决方案。

802.1X基本配置

第一步:开启全局的802.1X

代码语言:javascript
复制
[H3C]dot1x

第二步:开启端口的802.1X特性

代码语言:javascript
复制
[H3C-GigabitEthernet1/0/1]dot1x 

第三步:设置802.1X用户认证方法

代码语言:javascript
复制
[H3C]dot1x authentication-method [ chap | eap | pap]

缺省情况下,802.1X用户认证方法为CHAP认证,用户可以根据需要设置其认证方法。

第四步:设置端口接入控制方式

代码语言:javascript
复制
[H3C-GigabitEthernet1/0/1]dot1x port-method { macbased | portbased} [interface interface-list]

802.1X的定时器配置

代码语言:javascript
复制
[H3C]dot1x timer [
  ead-timeout       Set the EAD quick deployment timeout timer   #EAD超时定时器默认30秒
  handshake-period  Set the handshake timer                      #握手定时器默认15秒
  quiet-period      Set the quiet timer                          #静默定时器默认60秒
  reauth-period     Set the online user re-authentication timer #周期性重认证定时器3600秒
  server-timeout    Set the authentication server timeout timer #认证服务器超时定时器默认100秒
  supp-timeout      Set the supplicant timeout timer            #客户端认证超时定时器
  tx-period         Set the identity request timeout timer      #用户名请求超时定时器默认30秒
                  ]

开启静默定时器功能

代码语言:javascript
复制
[H3C]dot1x quiet-period 

开启在线用户握手功能

代码语言:javascript
复制
[H3C-GigabitEthernet1/0/1]dot1x handshake 

配置Guest VLAN下发

在以太网端口视图下配置Guest VLAN

代码语言:javascript
复制
[H3C-GigabitEthernet1/0/1]dot1x guest-vlan [vlan-id]

通过远程服务器下发数字型VLAN时,设备不需要创建VLAN

通过远程服务器下发字符型VLAN时,设备上需要创建所下发的VLAN,并配置VLAN的name

代码语言:javascript
复制
[H3C]vlan 10
[H3C-vlan10]name [name]

若采用本地用户进行认证,下发VLAN需要配置如下属性

代码语言:javascript
复制
[H3C]local-user [user]
[H3C-luser-manage-zx]authorization-attribute vlan [vlan-id]

802.1X典型配置案例

一台主机Host通过802.1X认证接入网络,认证服务器为RADIUS服务器,Host接入交换机G1/0/1在VLAN1内,认证前后分别下发Guest VLAN20和动态vlan10。

代码语言:javascript
复制
----------配置RADIUS方案h3c---------
[H3C]radius scheme h3c
[H3C-radius-h3c] primary authentication 82.0.0.3 1812
[H3C-radius-h3c] primary accounting 82.0.0.3 1813
[H3C-radius-h3c] key authentication cipher h3c
[H3C-radius-h3c] key accounting cipher h3c
----------配置认证域h3c,该域使用已配置的RADIUS方案h3c---------
[H3C]domain name h3c
[H3C-isp-h3c]authentication default radius-scheme h3c
[H3C-isp-h3c]authorization default radius-scheme h3c
[H3C-isp-h3c]accounting default radius-scheme h3c
----------开启全局802.1X特性----------
[H3C]dot1x 
----------开启指定端口的802.1X特性----------
[H3C]int G1/0/1
[H3C-GigabitEthernet1/0/1]dot1x 
----------配置端口上进行接入控制的方式为portbased----------
[H3C-GigabitEthernet1/0/1]dot1x port-method portbased 
----------创建指定端口的Guest VLAN-----------
[H3C]vlan 20
[H3C]int G1/0/1
[H3C-GigabitEthernet1/0/1]dot1x guest-vlan 20

802.1X显示和维护

显示802.1X的会话连接信息、相关统计信息或配置信息

代码语言:javascript
复制
[H3C]dis dot1x [ sessions | statistics] [接口]

清除802.1X的统计信息

代码语言:javascript
复制
reset dot1x statistics [接口]

显示802.1X认证用户的连接信息

代码语言:javascript
复制
dis dot1x connection [ interface interface-list  | slot slot-number |  user-mac H-H-H  |  user-name user-name]

MAC地址认证概述

  • MAC地址认证是一种基于端口和MAC地址对用户的网络访问权限进行控制的认证方法,它不需要用户安装任何客户端软件,也不需要用户手动输入用户名或密码。
  • MAC地址认证方式:
    • 远程RADIUS认证
    • 本地认证
  • MAC地址认证用户名类型:
    • MAC地址用户名
    • 固定用户名

MAC地址认证配置

  • 使用MAC地址认证,可以对用户的网络访问权限进行控制,在配置MAC地址认证之前,需要首先完成以下配置任务
    • 创建并配置ISP域
    • 若采用本地认证方式,需建立本地用户并设置其密码。
    • 若采用远程RADIUS认证方式,需要确保设备与RADIUS服务器之间的路由可达,并添加用户名及密码。
  • 只有在全局MAC地址认证启动后,各端口的MAC地址认证配置才会立即生效。MAC地址认证基本步骤如下:

第一步:启动全局的MAC地址认证

代码语言:javascript
复制
[H3C]mac-authentication

第二步:启动端口的MAC地址认证

代码语言:javascript
复制
[H3C]int G1/0/2
[H3C-GigabitEthernet1/0/2]mac-authentication

第三步:配置MAC地址认证的用户名与密码

代码语言:javascript
复制
[H3C]mac-authentication user-name-format 
    fixed [ account name ] [ password{cipher|simple} password]
    mac-address [{with-hyphen | without-hyphen} [lowercase | uppercase]]

第四步:配置MAC认证用户使用的认证域

代码语言:javascript
复制
[H3C]mac-authentication domain [domain-name]

用户主机Host通过端口G1/0/1连接到设备上,设备通过RADIUS服务器对用户进行认证、授权、计费,在各个端口上对用户接入进行MAC地址认证,以控制其对Internet的访问。

组网需求:

  • 设备的管理者希望在各个端口上对用户接入进行MAC地址认证,以控制其对Internet的访问。
  • 要求设备每隔180秒就对用户是否下线进行监测;并且当用户认证失败时,需等待3分钟后才能对用户再次发起认证。
  • 所有用户都属于域h3c,认证时采用固定用户名格式,用户名aaa,密码为123456。
代码语言:javascript
复制
----------配置RADIUS方案h3c----------
[H3C]radius scheme h3c
[H3C-radius-h3c]primary authentication 10.1.1.1 1812
[H3C-radius-h3c]primary accounting 10.1.1.2 1813 
[H3C-radius-h3c]key authentication simple h3c
[H3C-radius-h3c]key accounting simple h3c
[H3C-radius-h3c]user-name-format without-domain 

----------配置ISP域的AAA方案----------
[H3C]domain name h3c
[H3C-isp-h3c]authentication default radius-scheme h3c
[H3C-isp-h3c]authorization default radius-scheme h3c
[H3C-isp-h3c]accounting default radius-scheme h3c

---------开启全局MAC地址认证特性---------
[H3C]mac-authentication
---------开启指定端口的MAC地址认证特性---------
[H3C]int G1/0/1
[H3C-GigabitEthernet1/0/1]mac-authentication  

---------配置MAC地址认证用户所使用的ISP域---------
[H3C]mac-authentication domain h3c
---------配置MAC地址认证的定时器----------
[H3C]mac-authentication timer offline-detect 180
[H3C]mac-authentication timer quiet 180
----------配置MAC地址认证使用固定用户名格式:用户名为aaa,密码为123456----------
[H3C]mac-authentication user-name-format fixed account aaa password simple 123456
----------display mac-authentication 或 dis mac-authentication connection 验证配置---------

端口安全

  • 端口安全:
    • 端口安全(Port Security)是一种基于MAC地址对网络接入进行控制的安全机制,是对已有的802.1X认证和MAC地址认证的扩充。
  • 端口安全模式:
    • 端口安全的主要功能是通过定义各种端口安全模式,让设备学习到合法的源MAC地址,以达到相应的网络管理效果。
  • 端口安全的特性:
    • NeedToKnow特性:通过检测从端口发出的数据帧的目的MAC地址,保证数据只能被发送到已经通过认证的设备上,从而防止非法设备窃听网络数据。
    • 入侵检测特性(IntrusionProtection)特性:指通过检测从端口收到的数据帧的源MAC地址,对接收非法报文的端口采取相应的安全策略,包括端口被暂时断开连接、永久断开连接或MAC地址被过滤(默认三分钟,不可配置),以保证端口的安全性。

端口安全的模式

  • MAC地址学习的类型:
    • noRestrictions、autolearn、secure
  • 802.1X认证类型
    • userLogin、userLoginSecure、UserLoginSecureExt、userLoginWithOUI
  • MAC地址认证及与802.1X认证组合类型
    • MacAddressWithRadius
    • macAddressOrUserLoginSecure

端口安全的配置

第一步:使能端口安全功能,在使能端口安全功能之前,需要关闭全局的802.1X和MAC地址认证功能。

代码语言:javascript
复制
[H3C]port-security enable 

第二步:配置端口允许最大安全的MAC地址数,端口安全允许某个端口下有多个用户通过认证,但是允许的用户数不能超过规定的最大值。

代码语言:javascript
复制
[H3C-GigabitEthernet1/0/1]port-security max-mac-count [count-value]

第三步:配置端口安全模式,在配置端口安全模式之前,需要满足以下条件:

  • 802.1X认证关闭、端口接入控制方式为macbased、端口接入控制模式为auto。
  • MAC地址认证关闭。
  • 端口未加入聚合组或业务环回组。(否则以上条件若不满足,系统会提示信息错误,无法进行配置。反之,若端口上配置了端口安全模式,以上配置也不允许改变。)
  • 对于autoLearn模式,还需要提前设置端口允许的最大安全MAC地址数。
代码语言:javascript
复制
[H3C-GigabitEthernet1/0/1]port-security port-mode 
  autolearn          
  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

第四步:配置端口NeedToKonw特性,该功能用来限制认证端口上出方向的报文转发。

即认证通过后,以此MAC为目的地址的报文都可以正常转发,可以设置以下三种方式:

  • ntkonly:仅允许目的MAC地址为已通过认证的MAC地址的单播报文通过。
  • ntk-withbroadcasts:允许目的MAC地址为已通过认证的MAC地址的单播报文或广播地址的报文通过。
  • ntk-withmulticasts:允许目的MAC地址为已通过认证的MAC地址的单播报文,广播地址或组播地址的报文通过。

除缺省情况之外,配置了NeedToKonw的端口在以上任何一种方式下都不允许未知MAC地址的单播报文通过。

代码语言:javascript
复制
[H3C-GigabitEthernet1/0/1]port-security ntk-mode 
  ntk-withbroadcasts
  ntk-withmulticasts
  ntkonly          

第五步:配置入侵检测特性,当设备检测到一个非法的用户通过端口视图访问网络时,该特性用于配置设备可能对其采取的安全措施,包括以下三种方式:

代码语言:javascript
复制
[H3C-GigabitEthernet1/0/1]port-security intrusion-mode 
  blockmac      #表示将非法报文的源MAC地址加入阻塞MAC地址列表
  disableport   #表示将收到非法报文的端口永久关闭
  disableport-temporarily   #表示将收到非法报文的端口暂时关闭一段时间。关闭时长通过 port-security timer disableport

在交换机的端口G1/0/1上对接入用户做如下的限制,允许64个用户自由接入,不进行认证,将学习到的用户MAC地址添加为安全MAC地址;当安全MAC地址数量达到64后,停止学习;当再有新的MAC地址接入时,触发入侵检测,并将此MAC阻塞。

组网需求:

  • 允许64个用户自由接入,不进行认证,将学习到的用户MAC地址添加为安全MAC地址;
  • 当安全MAC地址数量达到64后,停止学习;当再有新的MAC地址接入时,触发入侵检测,并将此MAC阻塞。
代码语言:javascript
复制
[H3C]port-security enable   #系统模式下打开端口安全
[H3C]int G1/0/1             
[H3C-GigabitEthernet1/0/1]port-security max-mac-count 64  #设置端口允许的最大安全MAC地址数为64

[H3C-GigabitEthernet1/0/1]port-security port-mode autolearn  #设置端口安全模式为autolearn
[H3C-GigabitEthernet1/0/1]port-security intrusion-mode blockmac  #触发入侵检测特性后保护动作为blockmac

[H3C]display port-security interface G1/0/1   #显示端口安全配置情况

端口安全常见故障排查

  • 无法配置端口安全模式:
    • 在当前端口安全模式已配置的情况下,无法直接对端口安全模式进行设置。
  • 无法配置端口安全MAC地址:
    • 端口安全模式为非autoLearn时,不能对安全MAC地址进行设置。
  • 无法在线情况下无法更换端口安全模式:
    • 有802.1X或MAC认证用户在线的情况下,禁止更换端口安全模式。
代码语言:javascript
复制
--------------无法配置端口安全模式-------------
[H3C-GigabitEthernet1/0/1]port-security port-mode autolearn 
---------------报错Error---------------change it to the other
因为当前端口安全模式下已配置的情况下,无法直接对端口安全模式进行设置,
首先需要设置端口安全模式为noRestricitions状态。然后再配置端口安全模式。
[H3C-GigabitEthernet1/0/1]undo port-security port-mode
[H3C-GigabitEthernet1/0/1]port-security port-mode autolearn 
代码语言:javascript
复制
--------------无法配置端口安全MAC地址时--------------
[H3C-GigabitEthernet1/0/1]port-security mac-address security 1-2-2 vlan 1
--------------报错Error------------------
因为端口安全模式为非autoLearn时,不能对安全MAC地址进行设置
首先需要设置端口安全模式为autoLearn状态,然后再配置端口安全MAC地址。
[H3C-GigabitEthernet1/0/1]undo port-security port-mode 
[H3C-GigabitEthernet1/0/1]port-security max-mac-count 64
[H3C-GigabitEthernet1/0/1]port-security port-mode autolearn 
[H3C-GigabitEthernet1/0/1]port-security mac-address security 1-1-2 vlan 1
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 端口接入控制
    • 802.1X概述
      • 802.1X基本概念
        • 802.1X认证触发方式和认证方式的分类
      • 802.1X基本配置
        • 配置Guest VLAN下发
        • 802.1X典型配置案例
        • 802.1X显示和维护
      • MAC地址认证概述
        • MAC地址认证配置
        • 端口安全的模式
        • 端口安全的配置
        • 端口安全常见故障排查
    • 端口安全
    相关产品与服务
    1+X 认证
    1+X 认证(1+X Certification, XCERT)提供1+X 职业技能等级证书相关的考核服务。1+X 认证为高校师生开通报名1+X 考试及培训的快速便捷通道。您可以选择不同的1+X 项目进行报考。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档