3.4.3接口配置
交换机设备的接口类型可分为二层接口(L2 Interface)和三层接口(L3 Interface)两大类。
1.二层接口
二层接口又可分为Switch Port和L2 Aggregate Port。
1)Switch Port
Switch Port由设备上的单个物理端口构成,只有二层交换功能。该端口可以是一个Access Port、Trunk Port或Hybrid端口,可以通过Switch Port接口配置命令,把一个端口配置为一个Access Port、Trunk Port或Hybrid端口。Switch Port被用于管理物理接口和与之相关的第二层协议,并且不处理路由和桥接。
(1)Access Port。每个Access Port只能属于一个VLAN,它只传输属于这个VLAN的帧,一般用于连接计算机。Access Port发送出的数据帧是不带TAG的,且它只能接收以下三种格式的帧:Untagged帧、VID为Access Port所属VLAN的Tagged帧和VID为0的Tagged帧。
(2)Trunk Port。每个Trunk Port可以属于多个VLAN,能够接收和发送属于多个VLAN的帧,一般用于设备之间的连接,也可以用于连接用户的计算机。
因为Trunk Port可以属于多个VLAN,所以需要设置一个Native VLAN作为缺省VLAN。缺省情况下,Trunk Port将传输所有VLAN的帧,为了减轻设备的负载,减少对带宽的浪费,可通过设置VLAN许可列表来限制Trunk Port传输哪些VLAN的帧。
Trunk Port可接收Untagged帧和端口允许VLAN范围内的Tagged帧。Trunk Port发送的非Native Vlan的帧都是带TAG的,而发送的Native VLAN的帧都不带TAG。
(3)Hybrid端口。Hybrid类型的端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,可以用于设备之间的连接,也可以用于连接用户的计算机。Hybrid端口和Trunk端口的不同之处在于,Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。需要注意的是,Hybrid端口加入的VLAN必须已经存在。
2)L2 Aggregate Port
L2 Aggregate Port是由多个物理成员端口聚合而成的,可以把多个物理链接捆绑在一起形成一个简单的逻辑链接,这个逻辑链接称为Aggregate Port(以下简称“AP”)。
对于二层交换来说,AP就好像一个高带宽的Switch Port,它可以把多个端口的带宽叠加起来使用,扩展了链路带宽。此外,通过L2 Aggregate Port发送的帧还将在L2 Aggregate port的成员端口上进行流量平衡,如果AP中的一条成员链路失效,L2 Aggregate Port会自动将这个链路上的流量转移到其他有效的成员链路上,提高了连接的可靠性。
L2 Aggregate Port的成员端口类型可以为Access port或Trunk Port,但同一个AP的成员端口必须为同一类型,要么全是Access Port,要么全是Trunk Port。
2.三层接口
三层接口分为SVI(Switch Virtual Interface)、Routed Port和L3 Aggregate Port 3种类型。
1)SVI
SVI是交换虚拟接口,即用来实现三层交换的逻辑接口。SVI可以作为本机的管理接口,通过该管理接口管理员可管理设备。也可以创建SVI为一个网关接口,就相当于是对应各个VLAN的虚拟的子接口,可用于三层设备中跨VLAN之间的路由。创建一个SVI很简单,可通过interfacevlan接口配置命令来创建SVI,然后给SVI分配IP地址来建立VLAN之间的路由。
2)Routed Port
一个Routed Port是一个物理端口,就如同三层设备上的一个端口,能用一个三层路由协议配置。在三层设备上,可以把单个物理端口设置为Routed port,作为三层交换的网关接口。一个Routed Port与一个特定的VLAN没有关系,而是作为一个访问端口。Routed Port不具备二层交换的功能。可通过no switchport命令将一个二层接口Switch Port转变为Routed Port,然后给Routed Port分配IP地址来建立路由。注意,当使用no switchport接口配置命令时,该端口关闭并重启,将删除该端口的所有二层特性。
3)L3 Aggregate Port
L3 Aggregate Port同L2 Aggregate Port一样,也是由多个物理成员端口汇聚构成的一个逻辑上的聚合端口组。汇聚的端口必须为同类型的三层接口。对于三层交换来说,AP作为三层交换的网关接口,它相当于把同一聚合组内的多条物理链路视为一条逻辑链路,是链路带宽扩展的一个重要途径。此外,通过L3 Aggregate Port发送的帧同样能在L3 Aggregate Port的成员端口上进行流量平衡,当AP中的一条成员链路失效后,L3 Aggregate Port会自动将这个链路上的流量转移到其他有效的成员链路上,提高了连接的可靠性。
L3 Aggregate Port不具备二层交换的功能。可通过no switchport命令将一个无成员二层接口L2 Aggregate Port转变为L3 Aggregate Port,接着将多个Routed Port加入此L3 Aggregate Port,然后给L3 Aggregate Port分配IP地址来建立路由。
3.接口配置命令
可在全局配置模式下使用interface命令进入接口配置模式。例如:

以下给出了进入Gigabitethernet 2/1接口的示例:
Ruijie(config)#interface gigabitethernet 2/1
Ruijie(config-if)#
在接口配置模式下可配置接口的相关属性。
4.使用interface range命令
可以使用全局配置模式下的interface range命令同时配置多个接口。当进入interface range配置模式时,此时设置的属性适用于所选范围内的所有接口。例如:

当使用interface range命令时,请注意range参数的格式。
下面的例子是在全局配置模式下使用interface range命令:
Ruijie#configure terminal
Ruijie(config)#interface range fastethernet 1/1-10
Ruijie(config-if-range)#no shutdown
下面的例子是如何使用分隔符号(,)隔开多个range:
Ruijie#configure terminal
Ruijie(config)#interface range fastethernet 1/1-5,1/7-8
Ruijie(config-if-range)#no shutdown
Ruijie(config-if-range)#
5.选择接口介质类型
有些接口,可以有多种介质类型供用户选择。可以选择其中一种介质使用,一旦选定了介质类型,接口的连接状态、速度、双工、流控等属性都是指该介质类型的属性,如果改变了介质类型,新选的介质类型这些属性将使用默认值,可以根据需要重新设定这些属性。此配置命令只对物理端口有效,Aggregate Port和SVI接口不支持介质类型设置。例如:

配置为Aggregate Port成员的端口,其介质类型必须一致,否则无法加入到AP中。
下面的例子显示了如何设置接口Gigabitethernet 1/1的介质类型:
Ruijie#configterminal
Enter configuration commands,one per line.End with CNTL/Z.
Ruijie(config)#interface gigabitethernet 1/1
Ruijie(config-if)#medium-type fiber
Ruijie(config-if)#end
6.配置接口的描述
为了有助于记住一个接口的功能,可以为一个接口起一个专门的名字来标识这个接口,也就是接口的描述(Description)。可以根据要表达的含义来设置接口的具体名称。比如,想将Gigabitethernet 1/1分配给用户A专门使用,就可以将这个接口的描述设置为Port for User A:

下面的例子显示了如何设置接口Gigabitethernet 1/1的描述:
Ruijie#config terminal
Enter configuration commands,one per line.End with CNTL/Z.
Ruijie(config)#interface gigabitethernet 1/1
Ruijie(config-if)#description Port For User A
Ruijie(config-if)#end
7.配置接口的状态
在某些情况下,可能需要禁用某个接口。可以通过设置接口的管理状态来直接关闭一个接口。如果关闭一个接口,则这个接口上将不会接收和发送任何帧,这个接口将丧失这个接口对应的所有功能。可以通过设置管理状态来重新打开一个已经关闭的接口。接口的管理状态有两种:Up和Down,当端口被关闭时,端口的管理状态为Down,否则为Up。例如:

下面的例子描述如何关闭接口Gigabitethernet 1/2:
Ruijie#configure terminal
Ruijie(config)#interface gigabitethernet 1/2
Ruijie(config-if)#shutdown
Ruijie(config-if)#end
8.配置接口的速率、双工、流控和自协商模式
接口的速率、双工、流控和接口的自协商模式一起决定接口的自协商工作状态。通过参加自动协商的设备发送和接收快速连接脉冲(对于电缆口)或者编码后的协商信号(对于光缆口),设备可以向链路远端的设备通告自己所运行的工作方式,并且侦测远端设备通告的运行方式,通过这些信息的交换,设备自动配置它们工作在最优能力下。配置命令只对Switch Port和Routed Port有效。例如:

在接口配置模式下使用no speed、no duplex、no flowcontrol和no negotiation mode命令,可将接口的速率、双工、流控和自协商模式配置恢复为缺省值。下面的例子显示如何将Gigabitethernet 1/1的速率设为1000 M、双工模式设为全双工、关闭流控,并且设置接口的自协商模式为on状态:
Ruijie#configureterminal
Ruijie(config)#interface gigabitethernet 1/1
Ruijie(config-if)#speed 1000
Ruijie(config-if)#duplex full
Ruijie(config-if)#flowcontrol off
Ruijie(config-if)#negotiation mode on
Ruijie(config-if)#end
9.配置access/trunk
(1)在接口配置模式下通过switchport或其他命令来配置Switch Port的相关属性。例如:

下例显示如何配置gigabitethernet 1/2的操作模式为Access Port:
Ruijie#configure terminal
Enter configuration commands,one per line.End with CNTL/Z.
Ruijie(config)#interface gigabitethernet 1/2
Ruijie(config-if)#switchport mode access
Ruijie(config-if)#end
(2)在接口配置模式下配置Access Port Vlan。例如:

下例显示如何配置Access Port Gigabitethernet 2/1所属VLAN为100。
Ruijie#configure terminal
Enter configuration commands,one per line.End with CNTL/Z.
Ruijie(config)#interfacegigabitethernet 2/1
Ruijie(config-if)#switchport access vlan 100
Ruijie(config-if)#end
(3)配置Trunk Port的Native VLAN。例如:

下例显示如何配置Trunk Port Gigabitethernet 2/1的Native VLAN为10:
Ruijie#configure terminal
Enter configuration commands,one per line.End with CNTL/Z.
Ruijie(config)#interface gigabitethernet 2/1
Ruijie(config-if)#switchport trunk native vlan 10
Ruijie(config-if)#end
(4)配置接i的端i安全。下例显示如何打开Gigabitethernet 2/1的端i安全:

Ruijie#configure terminal
Enter configuration commands,one per line.End with CNTL/Z.
Ruijie(config)#interface gigabitethernet 2/1
Ruijie(config-if)#switchport port-security
Ruijie(config-if)#end
(5)配置接i的速度、双工、流控。下例显示如何配置Gigabitethernet 2/1为Access Port,所属VLAN为100,速度、双工、流控为自协商模式,端i安全打开:
Ruijie#configure terminal
Enter configuration commands,one per line.End with CNTL/Z.
Ruijie(config)#interfacegigabitethernet 2/1
Ruijie(config-if)#switchport access vlan 100
Ruijie(config-if)#speed auto
Ruijie(config-if)#duplex auto
Ruijie(config-if)#flowcontrol auto
Ruijie(config-if)#switchport port-security
Ruijie(config-if)#end
10.配置Hybrid端口
可以通过以下步骤配置Hybrid端i。

Ruijie#configure terminal
Ruijie(config)#interface g 0/1
Ruijie(config-if)#switchport mode hybrid
Ruijie(config-if)#switchport hybrid native vlan 3
Ruijie(config-if)#switchport hybrid allowed vlan untagged 20-30
Ruijie(config-if)#end
Ruijie#show running interface g0/1
11.配置三层接口
删除一个三层接口的IP地址可以使用接口配置模式的no ip address命令。一个L2 Aggregate Port的成员口,不能进行no switchport操作。下面的例子是描述如何将一个二层接口配置成Routed Port端口,并且给该接口分配IP地址:

Ruijie#configure terminal
Enter configuration commands,one per line.End with CNTL/Z.
Ruijie(config)#interface gigabitethernet 2/1
Ruijie(config-if)#no switchport
Ruijie(config-if)#ip address 192.20.135.21 255.255.255.0
Ruijie(config-if)#no shutdown
Ruijie(config-if)#end
12.配置Routed Port
在接口模式下,进入某个接口后,使用no switchport来创建Routed Port。创建一个Routed Port并给该Routed Port分配IP地址,例如:

下面的例子显示如何将一个二层接口配置成Routed Port,并且给该接口分配IP地址:
Ruijie#configure terminal
Enter configuration commands,one per line.End with CNTL/Z.
Ruijie(config)#interface fastethernet 1/6
Ruijie(config-if)#no switchport
Ruijie(config-if)#ip address 192.168.1.1 255.255.255.0
Ruijie(config-if)#no shutdown
Ruijie(config-if)#end
13.端口IP和MAC地址绑定
通过手动配置IP和MAC地址绑定功能,可以对输入的报文进行IP地址和MAC地址绑定关系的验证。如果将一个指定的IP地址和一个MAC地址绑定,则设备只接收源IP地址和MAC地址均匹配这个绑定地址的IP报文;否则该IP报文将被丢弃。
利用地址绑定这个特性,可以严格控制设备的输入源的合法性。需要注意的是,通过地址绑定控制交换机的输入,将优先于802.1X、端口安全以及ACL生效,例如:

在全局配置模式下使用no address-bind ip-address mac-address命令,可删除一个IP地址和MAC地址的绑定项。
通过no address-bind install命令可关闭绑定功能,使地址绑定配置不生效。
下面是配置IP地址和MAC地址绑定模式的例子:
Ruijie#configure terminal
Enter configuration commands,one per line.End with CNTL/Z.
Ruijie(config)#address-bind 192.168.5.100d0.f800.0001
Ruijie(config)#address-bind install
在特权模式下使用下列命令查看设备上的IP地址和MAC地址绑定的相关配置:

14.显示接口配置和状态
可在特权模式下通过show命令查看接口状态。例如,在特权模式下可使用以下命令显示接口状态:

以下例子为显示接口Gigabitethernet 1/1的接口状态:
Ruijie#show interfaces gigabitethernet 1/1
GigabitEthernet:Gi 1/1
Description:user A
AdminStatus:up
OperStatus:down
Hardware:1000BASE-TX
Mtu:1500
PhysAddress:
LastChange:0:0h:0m:0s
AdminDuplex:Auto
OperDuplex:Unknown
AdminSpeed:1000M
OperSpeed:Unknown
FlowControl AdminStatus:Enabled
FlowControlOperStatus:Disabled
Priority:1
15.显示光模块信息
可在特权模式下通过show命令查看光模块信息。例如,在特权模式下使用以下命令显示光模块信息:

以下例子显示千兆接口Gigabitethernet 5/4的光模块信息:
Ruijie#show interfaces gigabitEthernet 5/4 transceiver
Transceiver Type:1000BASE_SX_SFP
Connector Type:LC
Wavelength(nm):1310
Transfer Distance:
SMF fiber
--10km
EBW 50/125 um fiber
--300m
50/125 um fiber
--100m
62.5/125 um fiber
--33m
Digital Diagnostic Monitoring:YES
3.4.4配置VLAN
VLAN是虚拟局域网(Virtual Local Area Network)的简称,它是在一个物理网络上划分出来的逻辑网络。这个网络对应于ISO模型的第二层网络。VLAN的划分不受网络端口的实际物理位置限制。VLAN有着和普通物理网络同样的属性,除了没有物理位置的限制外,它和普通局域网一样。第二层的单播、广播和多播帧在一个VLAN内转发、扩散,而不会直接进入其他的VLAN之中。所以,如果一个端口所连接的主机想要和其他不在同一个VLAN的主机通信,则必须通过一个三层设备。
可以把一个端口定义为一个VLAN的成员,所有连接到这个特定端口的终端都是虚拟网络的一部分,并且整个网络可以支持多个VLAN。当在VLAN中增加、删除和修改用户的时候,不必从物理上调整网络配置。
VLAN遵循IEEE 802.1Q标准,最多支持4 094个VLAN(VLAN ID 1~4094),其中,VLAN 1是不可删除的默认VLAN。
1.创建、修改一个VLAN
在全局配置模式下,可以创建或者修改一个VLAN,例如:

如果想把VLAN的名字改回缺省名字,只需输入no name命令即可。
下面是一个创建VLAN 888,将它命名为Test888的例子:
Ruijie#configure terminal
Ruijie(config)#vlan 888
Ruijie(config-vlan)#name test888
Ruijie(config-vlan)#end
2.删除一个VLAN
缺省VLAN(VLAN 1)不允许删除。例如,在全局配置模式下删除一个已存在的VLAN:

3.向VLAN分配Access口
如果把一个接口分配给一个不存在的VLAN,那么这个VLAN将自动被创建。例如,在接口配置模式下,将一个端口分配给一个VLAN:

下面这个例子把FastEthernet 1/10作为Access口加入了VLAN 20:
Ruijie#configure terminal
Ruijie(config)#interface fastethernet 1/10
Ruijie(config-if)#switchport mode access
Ruijie(config-if)#switchport access vlan 20
Ruijie(config-if)#end
4.配置VLAN Trunk
一个Trunk是将一个或多个以太网交换接口和其他的网络设备(如路由器或交换机)进行连接的点对点链路,一条Trunk链路可以传输属于多个VLAN的流量。锐捷设备的Trunk采用802.1Q标准封装。图3.4所示为一个采用Trunk连接的网络。

图3.4 采用Trunk连接的网络
可以把一个普通的以太网端口或者一个Aggregate Port口设为一个Trunk口。如果要把一个接口在Access模式和Trunk模式之间切换,可用switchport mode命令:

配置Trunk口时必须为Trunk口指定一个Native VLAN。所谓Native VLAN,就是指在这个接口上收发的UNTAG报文,都被认为是属于这个VLAN的。显然,这个接口的缺省VLAN ID(即IEEE 802.1Q中的PV ID)就是Native VLAN的VLAN ID。同时,在Trunk上发送属于Native VLAN的帧,则必然采用UNTAG方式。每个Trunk口的缺省Native VLAN是VLAN 1。
如果想把一个Trunk口的所有Trunk相关属性都复位成缺省值,可使用no witchport mode配置命令。
5.定义Trunk口的许可VLAN列表
一个Trunk口缺省可以传输本设备支持的所有VLAN(1~4 094)的流量。但是,也可以通过设置Trunk口的许可VLAN列表来限制某些VLAN的流量不能通过这个Trunk口。在接口配置模式下,可以修改一个Trunk口的许可VLAN列表:

如果想把Trunk的许可VLAN列表改为缺省的许可所有VLAN的状态,可使用no switchporttrunk allowed vlan接口配置命令。
下面是一个把VLAN 2从端口FastEthernet 1/15的许可列表中移出的例子:
Ruijie(config)#interface fastethernet 1/15
Ruijie(config-if)#switchport trunk allowed vlan remove 2
Ruijie(config-if)#end
Ruijie#show interfaces fastethernet 1/15 switchport
6.配置举例
某用户内网被划分为VLAN 10、VLAN 20、VLAN 30,以实现相互间的2层隔离;3个VLAN对应的IP子网分别为192.168.10.0/24、192.168.20.0/24、192.168.30.0/24,3个VLAN通过三层核心交换机的IP转发能力实现子网互联,如图3.5所示。

图3.5 3个VLAN通过三层交换机实现互联
1)配置要点
本例以核心交换机和1台接入交换机为例说明配置过程。要点如下:
(1)在核心交换机配置3个VLAN,配置下连接入交换机的端i为Trunk i,并指定许可VLAN列+,实现2层隔离。
(2)在核心交换机配置3个SVI i,分别作为3个VLAN对应IP子网的网关接i,配置对应的IP地址。
(3)分别在3台接入交换机创建VLAN,为各VLAN分配Access i,指定上连核心交换机的Trunk i。本例以接入交换机Switch A为例说明配置步骤。
2)配置步骤
(1)核心交换机上的配置。
创建VLAN:
Ruijie#configure terminal
Ruijie(config)#vlan 10
Ruijie(config-vlan)#vlan 20
Ruijie(config-vlan)#vlan 30
Ruijie(config-vlan)#exit
Ruijie(config)#interface range GigabitEthernet 0/2-4
Ruijie(config-if-range)#switchport mode trunk
Ruijie(config-if-range)#exit
Ruijie(config)#interface GigabitEthernet 0/2
Ruijie(config-if)#switchport trunk allowed vlan remove 1-4094
Ruijie(config-if)#switchport trunk allowed vlan add 10,20
Ruijie(config-if)#interface GigabitEthernet 0/3
Ruijie(config-if)#switchport trunk allowed vlan remove 1-4094
Ruijie(config-if)#switchport trunk allowed vlan add 10,20,30
Ruijie(config-if)#interface GigabitEthernet 0/4
Ruijie(config-if)#switchport trunk allowed vlan remove 1-4094
Ruijie(config-if)#switchport trunk allowed vlan add 20,30
Ruijie(config-if)#exit
创建SVI口,指定IP地址:
Ruijie(config)#interface vlan 10
Ruijie(config-if)#ip address 192.168.10.1 255.255.255.0
Ruijie(config-if)#interface vlan 20
Ruijie(config-if)#ip address 192.168.20.1 255.255.255.0
Ruijie(config-if)#interface vlan 30
Ruijie(config-if)#ip address 192.168.30.1 255.255.255.0
Ruijie(config-if)#exit
(2)接入交换机Switch A上的配置。
创建VLAN:
Ruijie#configure terminal
Ruijie(config)#vlan 10
Ruijie(config-vlan)#vlan 20
Ruijie(config-vlan)#exit
为各VLAN分配Access口:
Ruijie(config)#interface range GigabitEthernet 0/2-12
Ruijie(config-if)#switchport mode access
Ruijie(config-if)#switchport access vlan 10
Ruijie(config-if)#interface range GigabitEthernet 0/13-24
Ruijie(config-if)#switchport mode access
Ruijie(config-if)#switchport access vlan 20
Ruijie(config-if)#exit
指定上连核心交换机的Trunk口:
Ruijie(config)#interface GigabitEthernet 0/1
Ruijie(config-if)#switchport mode trunk
Ruijie(config-if)#exit
3.4.5 802.1x(Port-Based Network Access Control)配置
1.概述
在IEEE 802 LAN中,用户只要能接到网络设备上,不需要经过认证和授权即可直接使用。这样,一个未经授权的用户可以没有任何阻碍地通过连接到局域网的设备进入网络。随着局域网技术的广泛应用,特别是运营网络的出现,对网络的安全认证的需求已经提到了议事日程上。如何在以太网技术简单、廉价的基础上,提供用户对网络或设备访问合法性认证,已经成为业界关注的焦点。IEEE 802.1x协议正是在这样的背景下提出来的。
IEEE 802.1x是一个基于端口的网络存取控制标准,为LAN提供点对点式的安全接入。这是IEEE标准委员会针对以太网的安全缺陷而专门制定的标准,能够在利用IEEE 802 LAN优势的基础上,提供一种对连接到局域网设备的用户进行认证的手段。
IEEE 802.1x标准定义了一种基于“客户端—服务器(Client-Server)”模式实现了限制未认证用户对网络的访问。客户端要访问网络必须先通过服务器的认证。
在客户端通过认证之前,只有EAPOL报文(Extensible Authentication Protocol over LAN)可以在网络上通行。在认证成功之后,正常的数据流便可在网络上通行。
在交换机设备上提供了Authentication、Authorization和Accounting 3种安全功能,简称“AAA”。
(1)Authentication。认证,用于判定用户是否可以获得访问权,限制非法用户。
(2)Authorization。授权,授权用户可以使用哪些服务,控制合法用户的权限。
(3)Accounting。计账,记录用户使用网络资源的情况,为收费提供依据。
2.设备的角色
IEEE 802.1x标准认证体系由恳请者、认证者、认证服务器3个角色构成,在实际应用中,三者分别对应工作站(Client)、设备(Network Access Server,NAS)、Radius-Server。
1)恳请者
恳请者是最终用户所扮演的角色,一般是个人PC。它请求对网络服务的访问,并对认证者的请求报文进行应答。
2)认证者
认证者一般为交换机等接入设备。该设备的职责是根据客户端当前的认证状态控制其与网络的连接状态。在客户端与服务器之间,该设备扮演着中介者的角色:从客户端要求用户名,核实从服务器端的认证信息,并且转发给客户端。
扮演认证者角色的设备有两种类型的端口:受控端口(Controlled Port)和非受控端口(Uncontrolled Port)。连接在受控端口的用户只有通过认证才能访问网络资源;而连接在非受控端口的用户无须经过认证便可以直接访问网络资源。把用户连接在受控端口上,便可以实现对用户的控制;非受控端口主要是用来连接认证服务器,以便保证服务器与设备的正常通信。
3)认证服务器
认证服务器通常为Radius服务器,认证过程中与认证者配合,为用户提供认证服务。认证服务器保存了用户名及密码,以及相应的授权信息。一台服务器可以对多个认证者提供认证服务,这样就可以实现对用户的集中管理。认证服务器还负责管理从认证者发来的记账数据。
3.802.1x的配置注意事项
(1)只有支持802.1x的产品,才能进行以下设置。
(2)802.1x既可以在二层下的设备上运行,又可以在三层下的设备上运行。
(3)要先设置认证服务器IP地址,Radius Server认证方式才可以正常工作。
(4)交换机只要有一个端口打开了1x功能,则所有的端口都会将1x协议报文送到CPU。
(5)如果端口dot1x开启,并且认证的用户数大于端口安全的最大用户数,此时无法开启端口安全。
(6)端口安全和dot1x同时开启时,如果安全地址老化,则dot1x对应的用户必须重新认证才可以继续通信。
(7)静态端口安全地址不需要认证即可上网,如果存在授权,则必须同时符合授权绑定才可以上网。
(8)基于端口可迁移认证模式和端口安全共用时,已经学习到的地址同时成为安全地址,不能再迁移。
(9)基于端口可迁移认证模式和端口安全共用时,如果认证地址过期,则端口必须重新认证才可以通信。
(10)基于端口可迁移认证模式认证通过后,开启端口安全,则端口必须重新认证才可以通信。存在IP+MAC绑定时,不能进行基于端口和基于用户认证模式的切换。
4.配置设备与Radius Server之间的通信
Radius Server维护了所有用户的信息:用户名、密码、该用户的授权信息以及该用户的记账信息。所有的用户集中于Radius Server管理,而不必分散于每台设备,便于管理员对用户的集中管理。
设备端:为了让设备能与Server进行通信,设备端要做如下设置。设置Radius Server的IP地址、认证(记账)的UDP端口、与服务器通信的约定密码。例如,在特权模式下,按如下步骤设置设备与Radius Server之间的通信:

使用no radius-server host ip-address auth-port命令将Radius Server认证UDP端口恢复为缺省值,使用noradius-server key命令删除Radius Server认证密码。以下例子是设置server ip为192.168.4.12、认证UDP端口为600、以明文方式设置约定密码:
Ruijie#configure terminal
Ruijie(config)#radius-server host 192.168.4.12
Ruijie(config)#radius-server host 192.168.4.12 auth-port 600
Ruijie(config)#radius
5.设置802.1x认证的开关
当打开802.1x认证时,设备会主动要求受控端口上的主机进行认证,未通过认证的主机不允许访问网络。例如,在特权模式下,按如下步骤打开dot1x认证:

以下例子是打开802.1x认证:
Ruijie#configure terminal
Ruijie(config)#aaa new-model
Ruijie(config)#radius-server host 192.168.217.64
Ruijie(config)#radius-server key starnet
Ruijie(config)#aaa authentication dot1x authen group radius
Ruijie(config)#dot1x authentication authen
Ruijie(config)#end
802.1x在应用Radius认证方法时,先配置Radius Server的IP地址,并确保设备与Radius Server之间的通信正常。若没有Radius Server的配合,设备无法完成认证功能。
6.打开/关闭一个端口的认证
在802.1x打开的情形下,打开一个端口的认证,则该端口成为受控口,连接在该端口下的用户要通过认证才能访问网络。然而,在非受控端口下的用户可以直接访问网络。例如,在特权模式下,按如下步骤设置一个端口的认证状态:

使用no dot1x port-control命令关闭接口的认证功能。以下例子是设置以太网接口1/1为受控接口:
Ruijie#configure terminal
Ruijie(config)#interfacef 1/1
Ruijie(config-if)#dot1x port-control auto
Ruijie(config)#end
当接口被设置为受控口的时候,只允许EAP报文过,往CPU的报文也在受控范围内。
7.打开定时重认证
802.1x能定时主动要求用户重新认证,这样可以防止已通过认证的用户不会被其他用户冒用,还可以检测用户是否断线,使计费更准确。除了可以设定重认证开关外,还可以定义重认证的间隔。默认的重认证间隔是3 600 s。在根据时常进行计费的场合下,要根据具体的网络规模确定重认证间隔,使之既有足够时间完成一次认证又尽可能精确。例如,在特权模式下,按如下步骤打开/关闭重认证状态,并且设置重认证时间间隔:

使用no dot1x re-authentication命令关闭定时重认证功能,使用no dot1x timeout reauthperiod命令将重认证时间间隔恢复为缺省值。以下例子是打开定时重认证功能,并设置重认证时间间隔为1000 s:
Ruijie#configure terminal
Ruijie(config)#dot1x re-authentication
Ruijie(config)#dot1x timeout re-authperiod 1000
Ruijie(config)#end
若打开重认证,请注意重认证间隔的合理性,要根据具体的网络规模而设置。
8.配置802.1x记账
802.1x实现了记账功能。该记账是基于时长的,也就是说802.1x记录了用户从第一次认证通过到用户主动退出或设备检测到用户中断的时间长度。
在用户第一次认证通过之后,设备会向服务器发一个记账开始请求,当用户主动离线或设备检测到用户已离线或用户的物理连接已中断,设备将向服务器发一个记账结束请求。服务器组将会把这些信息记录在服务器组的数据库中。网管便可以根据这些信息提供记账依据。
要打开设备的记账功能,需对设备做如下设置:
(1)在Radius Server注册这台设备为Radius Client。
(2)设置记账服务器的IP地址。
(3)设置记账的UDP端口。
(4)在802.1x打开的前提下,打开记账服务功能。
例如,在特权模式下,按如下步骤设置记账服务功能:

使用no aaa accounting network命令,将删除记账方法列表,使用no dot1x accounting命令,将使用默认的dot1x记账方法。以下例子是设置记账服务器的IP地址为192.168.4.12,设置备份记账服务器的IP地址为192.168.4.13,设置记账服务器的UDP端口为1 200,应用802.1x记账功能:
Ruijie#configure terminal
Ruijie(config)#aaa new-model
Ruijie(config)#aaa group server radius acct-use
Ruijie(config-gs-radius)#server 192.168.4.12 acct-port 1200
Ruijie(config-gs-radius)#server 192.168.4.13 acct-port 1200
Ruijie(config-gs-radius)#exit
Ruijie(config)#aaa accounting network acct-list start-stop group acct-use
Ruijie(config)#dot1x accounting acct-list
Ruijie(config)#end
9.配置基于端口的用户认证
802.1x对用户的控制,默认情况下是基于用户MAC进行控制的,只有通过认证的用户才能使用网络。对于其他接在同一端口的用户无法使用网络,而基于端口的控制模式及表示当某一端口有一个用户认证通过时,此端口就变成已认证端口,所有接在此端口下的用户都能够正常使用网络。
要配置端口的控制模式为基于端口的控制模式,从特权模式开始,按以下步骤进行设置。可以用no dot1x port-control-mode命令恢复默认受控方式。

下面的例子显示了如何配置端口的认证模式:
Ruijie#configure terminal
Ruijie(config)#interface interface-id
Ruijie(config-if)#dot1x port-control-mode port-base
10.802.1x典型配置案例
(1)基于802.1x的AAA服务的拓扑图如图3.6所示。

图3.6 基于802.1x的AAA服务的拓扑图
(2)应用需求。为了保证设备访问网络的合法性,需要满足如下要求:
①要求在各端口上对接入用户进行dot1x认证,控制其访问因特网(未认证通过的用户无法访问网络)。
②要求基于时长记账,定时向Radius Server发送计费更新包(设备每15 min向Radius服务器发送一次实时计费报文)。
③设备在向Radius服务器发出认证请求后,若5 s内没有得到响应就向其重新发送报文,发送报文的次数总共为6次。
④实现用户在线监测,即防止已通过认证的用户不会被其他用户冒用,检测用户是否断线。
⑤为避免服务器收到恶意攻击,要求用户认证失败后,500 s内才允许再次认证。同时,在认证次数超过5次之后,将认定该用户已经断线,结束认证过程。
(3)配置要点。
①开启AAA开关,配置设备与Radius Server之间的通信;配置802.1x认证,同时设置接入客户端的设备端口为受控口(本例以F 0/1口为例)(对应“应用需求”的第①点)。
②配置802.1x记账功能,同时配置记账计费更新功能,并配置计费更新包的周期(对应“应用需求”的第②点)。
③配置Radius Server的最大响应时间为5s,同时配置报文重传次数为6次(对应“应用需求”的第③点)。
④配置设备的定时重认证功能(对应“应用需求”的第④点)。
⑤配置用户认证失败时的Quiet Period值为500 s(设备等待时间),同时配置设备的最大重认证次数为5次(对应“应用需求”的第⑤点)。
(4)配置方法。配置交换机Switch A:
Ruijie(config)#aaa new-model
Ruijie(config)#radius-server host 192.168.32.120
Ruijie(config)#radius-server key ruijie
Ruijie(config)#aaa authentication dot1x hello group radius
Ruijie(config)#dot1x authentication hello
Ruijie(config)#interface fastEthernet 0/1
Ruijie(config-if-FastEthernet 0/1)#dot1x port-control auto
Ruijie(config-if-FastEthernet 0/1)#exit
Ruijie(config)#aaa accounting network jizhang start-stop group radius
Ruijie(config)#dot1x accounting jizhang
Ruijie(config)#aaa accounting update
Ruijie(config)#aaa accounting update periodic 15
Ruijie(config)#dot1x timeout server-timeout 5
Ruijie(config)#dot1x max-req 6
Ruijie(config)#dot1x re-authentication
Ruijie(config)#dot1x timeout re-authperiod 1000
Ruijie(config)#dot1x timeout quiet-period 500
Ruijie(config)#dot1x reauth-max 5
Ruijie(config)#ip route 0.0.0.0 0.0.0.0 192.168.217.1
Ruijie(config)#interface vlan 1
Ruijie(config-if-VLAN 1)#ip address 192.168.217.81 255.255.255.0