1.1 方案简介
计算机在企业的应用越来越广泛。企业在享受高效便捷办公服务的同时,也遇到了不小的烦恼。
在接入网络的终端越来越多的情况下,如果不推行终端规范化接入制度,则来访客人可借助一台便携机和一根网线轻易接入网络并拷走机要信息。这对任何企业都属于不可承受之痛。推行终端接入控制方案的重要性不言而喻,并且迫在眉睫。
要在接入层把非授权的终端拒之门外,推荐部署基于接入层的802.X认证接入方案。
802.1X认证接入方案组成图如下。
802.1X认证接入方案由终端、交换机和RADIUS服务器组成。
l 终端:在802.1X认证接入方案中充当客户端角色。根据是否支持主动触发802.1X认证,终端可分为普通终端和哑终端。
普通终端最显著的特点是能够安装802.1X认证客户端。例如办公PC。终端用户输入帐号和密码后主动触发认证,认证通过后接入网络。
哑终端最显著的特点是无法安装802.1X认证客户端。例如IP电话、网络打印机。哑终端无法通过主动触发认证方式接入网络,而是通过交换机主动向RADIUS服务器触发MAC旁路认证,认证通过后接入网络。
l 交换机:在802.1X认证接入控制方案充当接入控制设备角色。
l RADIUS服务器:在802.1X认证接入方案中充当服务器角色。RADIUS服务器负责对交换机发来终端用户的帐号和密码进行校验,并且根据身份认证结果给交换机下发网络访问权限。在下面的配置举例中,以华为Policy Center作为RADIUS服务器为例介绍有线802.1X认证在企业用户接入中的应用。
方案的核心思想可简单概括为身份认证和网络授权:
l 在终端未进行身份认证或身份认证失败时,接入层交换机只给终端开放有限的网络访问权限。
例如,在新员工入职领取新电脑,尚未从管理员处获取帐号和密码,只能访问文件服务器下载必要的软件,而无法接入办公网。
或者在员工遗忘密码无法接入办公网,只能访问密码重新初始化应用。
l 终端认证成功后,RADIUS服务器会给交换机下发正常的网络访问权限,确保终端用户能够接入网络。
下面以某金融企业为例,介绍基于接入层802.1X认证接入方案。
1.2 组网需求
图1-1 公司原有网络组网
某公司原有网络如上图所示,所有终端用户通过AD域控制器进行身份认证。接入网络的设备包括终端主机(台式机、笔记本电脑)和打印机,台式机和笔记本电脑使用的操作系统有Windows 7和Windows XP。网络中接入的所有设备通过DHCP方式获取IP地址。
虽有AD域控制器对终端用户进行身份认证,但AD域控制器不是网络设备,本身对网络授权无能为力。在遇到终端身份认证失败时也无法向接入层交换机发送隔离消息,无法阻止非授权终端接入网络。
对于已经加入AD域的终端而言,加入AD域并不能阻止来自未加入域终端(例如未授权终端)的访问。AD域控制器在网络访问控制方面形同虚设。
现存的网络环境无法提供一套完备的网络授权方案,一旦恶意用户携带便携机接入公司网络,可能会把公司核心信息拷贝带走,给公司带来无法估量的损失。
现在出于保护竞争力的需要,需要部署一套身份认证系统,对所有接入企业网络的员工和外来人员在接入层进行准入控制。
l 当终端用户使用合法的AD域帐号和密码登录时,身份认证系统允许终端用户接入办公网络正常办公。
l 当外来终端接入到交换机的接口时,无法访问网络中的其他合法终端,也无法访问数据中心的服务器资源,以达到隔离外来终端的效果。
1.3 部署方案
根据现有的网络环境,在网络中部署一套Policy Center系统作为RADIUS服务器,然后采用接入层802.1X交换机作为准入控制设备,解决各种用户的网络接入需求。如图1-2所示。
图1-2 公司现有网络组网
Microsoft AD域控制器负责对终端用户的身份作校验,Policy Center负责根据终端用户的身份认证结果进行网络授权。
采用接入层802.1X接入控制方案的目的在于把接入控制点延伸至网络最底层。当发现外来终端尝试接入网络时,通过网络最底层的交换机实现隔离。如果终端用户身份认证成功,RADIUS服务器给交换机端口下发办公VLAN ID,终端用户能够正常接入网络办公。否则,交换机端口进入Guest VLAN,终端用户只允许访问有限的网络资源。
出于终端稳定性考虑,建议通过Windows 7和Windows XP自带的802.1X认证客户端进行身份认证,避免再安装其他的认证客户端,减轻管理员故障维护压力。
1.4 场景分析
1.4.1 场景一:员工接入场景
员工使用已经加入域的终端接入网络
在终端主机的Windows操作系统启用后,网卡主动向交换机发起以主机名为帐号的802.1X认证。因该终端已经加入域,计算机身份认证成功,终端从Guest VLAN进入主机名认证VLAN。
终端用户使用域账号登录操作系统,终端主动发起802.1X认证请求,操作系统自动完成域账号的用户身份认证。认证成功(不需要提示用户输入用户名/口令)后终端进入员工工作VLAN。
终端获取员工工作VLAN的IP地址,能够访问其他正常认证的员工的终端,以及网络打印机和数据中心的服务器。
员工忘记域账号密码
员工忘记域账号的密码,无法使用域账号登录Windows操作系统,于是向管理员申请重新初始化密码。
管理员在AD域控制器上重新初始化该账号的密码,并且告知员工新密码。
员工使用已经加入域的终端接入网络。
员工使用新密码接入网络的过程,与“员工使用已经加入域的终端接入网络”过程相同,剩下的流程请参见“员工忘记域账号密码”,此处不再赘述。
1.4.2 场景二:哑终端接入场景
哑终端是指不能通过802.1X客户端完成认证的终端,802.1X客户端包括Policy Center的客户端和Windows自带的802.1X客户端。本案例中,哑终端是指网络打印机。
网络打印机接入网络后,接入交换机发起802.1X认证。网络打印机无法应答该802.1X认证请求。
接入交换机在等待响应超时(默认是30s)后直接使用该网络打印机的MAC地址作为帐号和密码,向Policy Center服务器发起身份认证。
Policy Center服务器验证允许该哑终端接入,给交换机发送认证成功。
网络打印机根据交换机的配置,进入哑终端VLAN,获取哑终端VLAN的IP地址。
1.4.3 场景三:外来非法终端接入场景
外来非法终端是指没有加入公司AD域的终端。
外来非法终端尝试接入被接入层交换机隔离的过程:
外来非法终端连接网线尝试接入网络。
由于该终端未加入公司AD域,主机名认证失败。该终端只能在未认证终端VLAN,获取未认证终端VLAN的IP地址。
外来非法终端的网络访问权限,取决于未认证终端VLAN的权限,通常情况下只允许访问AD域控制器、DNS服务器和DHCP服务器。如果是公司员工新领的电脑,可通过AD域控制器和DSN服务器加入AD域。
1.5 业务规划
1.5.1 规划VLAN
对于交换机而言,按下面表格划分VLAN。
根据所划分的VLAN,调整DHCP的地址分配策略,确保不同的VLAN使用不同的IP地址段。
在汇聚交换机(网关)上配置各个VLAN允许访问的网络资源。
VLAN ID | 说明 | 权限 |
---|---|---|
102 | 办公VLAN,有独立的IP地址段。员工通过802.1X接入网络后,进入该VLAN,获得正常的网络访问权限。哑终端认证通过后也接入办公VLAN。 | 可以访问数据中心的所有资源。 |
109 | Guest VLAN。新接入网络的计算机一开始尚未加入AD域,不能使用域的相关信息自动完成802.1X认证。为此需要提供一个网络环境,在终端在没有通过身份认证时,具备受限的网络访问权限,只能访问AD域控制器/DNS服务器/DHCP服务器,以便终端用户使用该VLAN能够把PC加入域。 | 可以访问数据中心的AD域控制器/DNS服务器/DHCP服务器,不可以访问数据中心的其他资源、办公VLAN和主机名认证VLAN。 |
130 | 主机名认证VLAN。确保终端用户在遗忘密码时具有基本的网络访问权限,例如填写密码重置申请单。 | 可以访问数据中心的AD域控制器/DNS服务器/DHCP服务器/密码重新初始化应用,不可以访问数据中心的其他资源和办公VLAN。 |
1.5.2 指定AD域控制器和认证服务器
AD服务器作为Policy Center服务器的外部认证源。
l 终端在员工登录前进行主机名认证。
主机名保存在AD域控制器。终端发来的主机名,RADIUS服务器会送往AD域控制器进行验证。
l 终端用户使用Microsoft AD域帐号进行身份认证。
帐号和密码本身不是保存在RADIUS服务器,而是保存在AD域控制器。AD域控制器用来校验终端用户的身份是否合法。员工的身份信息最终由RADIUS服务器送往AD域控制器进行校验。
Policy Center服务器必须加入AD域,否则,RADIUS认证和授权业务配置完后,终端用户认证不通过。
Policy Center服务器、AD域控制器、终端各自的时区设置必须保持一致,各自的时间误差必须小于5分钟,否则终端用户认证不通过。
RADIUS服务器除了把AD域帐号、密码、主机名转发给AD域控制器校验之外,还会亲自校验哑终端的MAC地址。哑终端的MAC地址需要添加到RADIUS服务器,方便RADIUS服务器对哑终端进行放行。
表1-1 指定AD域控制器和认证服务器
服务器 | 参数 | 值 |
---|---|---|
AD域控制器 | 域名 | example.com |
IP地址 | 10.1.1.3 | |
认证端口 | 389 | |
同步账号/密码 | tony/ Admin@123 | |
员工帐号/密码 | jack@example.com/Admin@123 | |
SM+SC(RADIUS服务器,对应于交换机上配置的认证服务器、计费服务器和授权服务器) | 版本 | Policy Center V100R003C10 |
主用服务器IP地址 | 172.18.12.4 | |
备用服务器IP地址 | 172.18.12.3 | |
认证端口 | 1812 | |
计费端口 | 1813 | |
网络打印机MAC旁路认证帐号(MAC地址) | 00-E0-4C-83-C9-EB |
1.5.3 配置802.1x认证
普通终端安装的是Microsoft Windows操作系统,可通过操作系统自带802.1X认证客户端进行认证,无须再安装其他第三方认证客户端。
员工自行输入AD域帐号和密码进行认证。管理员需要在连接终端的交换机接口配置802.1X认证。
由于无法在哑终端安装802.1X认证客户端,管理员必须在连接哑终端的交换机接口配置MAC旁路认证,方便交换机以哑终端的MAC地址作为帐号和密码自动向RADIUS服务器发起认证,确保哑终端在无人值守的情况下自动接入网络。
参数 | 值 |
---|---|
设备型号 | HUAWEI S5700 |
软件版本 | V200R001C00SPC300 |
IP地址 | 172.18.10.7 |
预共享秘钥 | Admin@123 |
认证方式 | RADIUS |
认证方法 | EAP |
计费方式 | RADIUS |
实时计费周期 | 15min |
接口 | Gigabit Ethernet 0/0/9连接打印机,未认证时加入VLAN 109(认证后加入的VLAN由RADIUS服务器下发),配置MAC旁路认证。 |
Gigabit Ethernet 0/0/10连接PC,未认证时加入VLAN 109(认证后加入的VLAN由RADIUS服务器下发),配置802.1X认证。 |
1.6 配置过程
1.6.1 配置接入交换机(终端接入侧)
配置RADIUS服务器模板policy。把Policy Center的服务器配置为RADIUS服务器,为终端用户提供认证和计费服务。
[Quidway] radius-server template policy
配置RADIUS主用认证服务器的IP地址和认证端口。
[Quidway-radius-policy] radius-server authentication 172.18.12.4 1812
配置主用计费服务器的IP地址和计费端口。
[Quidway-radius-policy] radius-server accounting 172.18.12.4 1813
[Quidway-radius-policy] radius-server authentication 172.18.12.3 1812 secondary
[Quidway-radius-policy] radius-server accounting 172.18.12.3 1813 secondary
RADIUS服务器要与交换机联动对终端进行接入控制,管理员必须为交换机配置预共享密钥,以便交换机验证RADIUS服务器是否合法。
配置认证密钥和计费密钥。
[Quidway-radius-policy] radius-server shared-key cipher Admin@123
[Quidway-radius-policy] quit
#配置RADIUS授权服务器的地址和共享密钥。授权密钥必须与认证密钥、计费密钥保持一致,否则802.1X认证会失败。
[Quidway] radius-server authorization 172.18.12.4 shared-key cipher Admin@123
[Quidway] radius-server authorization 172.18.12.3 shared-key cipher Admin@123
- 配置认证方案和计费方案。
基于接入层的802.1X接入控制方案使用Policy Center作为RADIUS服务器给终端进行认证和授权,交换机的认证模式和计费模式必须配置为RADIUS。
[Quidway] aaa
[Quidway-aaa] authentication-scheme auth
[Quidway-aaa-authen-auth] authentication-mode radius
[Quidway-aaa-authen-auth] quit
RADIUS服务器的计费业务并非真实意义上的计费。配置计费的目的在于通过配置计费从RADIUS服务器与接入控制设备交互的计费报文获取终端用户的上线时间和下线时间,在需要时通过发送计费报文强制终端用户下线。最终目的是通过RADIUS计费来实现RADIUS在线用户管理功能,控制终端用户的在线时长。
如果不配置计费功能,管理员在RADIUS在线用户列表中将无法查到在线用户,终端无法正常下线,License计算也会不准确。
配置计费方案,计费模式设为radius,启用实时计费并设置计费间隔为15min。
[Quidway-aaa] accounting-scheme acco
[Quidway-aaa-accounting-acco] accounting-mode radius
[Quidway-aaa-accounting-acco] accounting realtime 15
[Quidway-aaa-accounting-acco] quit
在Policy Center作为RADIUS服务器提供认证和授权服务时,认证模式和计费模式必须配置成radius。
accounting realtime命令用来配置实时计费周期。实时计费间隔的取值对设备和RADIUS服务器的性能有要求,实时计费间隔的取值越小,对设备和RADIUS服务器的性能就越高。请根据用户数设置计费间隔。
用户数 | 实时计费间隔 |
---|---|
1~99 | 3min |
100~499 | 6min |
500~999 | 12min |
≥1000 | ≥15min |
- 配置域。
配置域default。
[Quidway-aaa] domain default
绑定域default和已配置的RADIUS服务器模板、认证方案及计费方案。
[Quidway-aaa-domain-default] radius-server policy
[Quidway-aaa-domain-default] authentication-scheme auth
[Quidway-aaa-domain-default] accounting-scheme acco
[Quidway-aaa-domain-default] quit
[Quidway-aaa] quit
- 配置802.1X认证。
启用全局的802.1X认证。
[Quidway] dot1x enable
配置认证方法。
[Quidway] dot1x authentication-method eap
在Policy Center作为RADIUS服务器时,认证方法必须是EAP。如果设成其他选项(例如CHAP)会导致认证不通过。
- 配置接口。
配置接口的链路类型。
[Quidway] interface GigabitEthernet 0/0/9
[Quidway-GigabitEthernet 0/0/9] port link-type access
在接入层交换机应用802.1X接入方案,交换机连接的属于需要认证的终端,接入控制点已经下探到网络末梢,故接口类型设为Acess。
配置接口的VLAN。
[Quidway-GigabitEthernet 0/0/9] port default vlan 109
启用接口的802.1X认证。
[Quidway-GigabitEthernet 0/0/9] dot1x enable
启用MAC旁路认证和MAC旁路认证过程中优先进行MAC认证。
[Quidway-GigabitEthernet 0/0/9] dot1x mac-bypass mac-auth-first
[Quidway-GigabitEthernet 0/0/9] dot1x mac-bypass
MAC旁路认证是指交换机对终端先尝试802.1X认证。如果802.1X认证失败,则以终端的MAC地址作为账号和密码向RADIUS服务器发起身份认证,这个阶段又称为MAC认证。
考虑到哑终端无法安装802.1X认证客户端,802.1X认证必然会失败。如此一来,诸如打印机之类的哑终端必然会经历一次802.1X认证失败,再经过一次MAC认证才能接入网络,认证时间较长。
dot1x mac-bypass mac-auth-first命令的作用是颠倒MAC旁路认证的两个认证阶段的顺序,先尝试MAC认证,认证失败后再尝试802.1X认证。这样能缩短哑终端进行认证的时间,确保哑终端能够快速接入网络提供服务。
配置该接口允许认证的最大用户数。
[Quidway-GigabitEthernet 0/0/9] dot1x mac-user 1
在接入层交换机应用802.1X接入方案,交换机连接的属于需要认证的终端,接入控制点已经下探到网络末梢,单个接口最大接入用户数为1。
配置接口的Guest VLAN。
[Quidway-GigabitEthernet 0/0/9] authentication guest-vlan 109
Guest VLAN是终端处于未认证状态或者认证失败时允许访问的网络资源。通常Guest VLAN会部署必要的网络资源,如DHCP服务器、DNS服务器、RADIUS服务器,允许终端在未能正常接入网络的情况下,依然有权限获取必要的、有限的网络服务。
配置接口的接入方式为基于port方式。
[Quidway-GigabitEthernet 0/0/9] dot1x port-method port
交换机接入控制方式设为port,是表示一台终端通过认证,所有终端均能接入网络。在接入层交换机应用802.1X接入方案,交换机连接的属于需要认证的终端,接入控制点已经下探到网络末梢,终端认证基于交换机端口即可满足要求。
重复以上步骤,配置接口GigabitEthernet 0/0/10。
[Quidway] interface GigabitEthernet 0/0/10
[Quidway-GigabitEthernet 0/0/10] port link-type access
[Quidway-GigabitEthernet 0/0/10] port default vlan 109
[Quidway-GigabitEthernet 0/0/10] dot1x enable
[Quidway-GigabitEthernet 0/0/10] dot1x mac-bypass mac-auth-first
[Quidway-GigabitEthernet 0/0/10] dot1x mac-bypass
[Quidway-GigabitEthernet 0/0/10] dot1x mac-user 1
[Quidway-GigabitEthernet 0/0/10] authentication guest-vlan 109
[Quidway-GigabitEthernet 0/0/10] dot1x port-method port
1.6.2 配置策略管理中心
- 进入“接入控制策略 > 接入设备 > 接入设备 > 设备”增加设备。方便Policy Center向接入层控制设备下发VLAN ID。认证密钥、计费密钥、实时计费周期必须与交换机侧的配置保持一致,否则终端认证会失败。
l RADIUS认证密钥:Admin@123
l RADIUS计费密钥:Admin@123
- 增加网络打印机接入、终端主机接入和主机名认证接入的授权结果。
选择“接入控制策略 > 认证授权 > 授权结果”增加授权结果。
l 网络打印机在MAC旁路认证通过后,RADIUS服务器向交换机下发VLAN ID 102,确保哑终端能够接入办公VLAN,为员工办公时访问。
l 员工在802.1X认证通过后,RADIUS服务器向交换机下发VLAN ID 102,确保员工能够接入办公VLAN,有权限访问数据中心的网络资源。
l 普通终端在通过主机名认证通过后,RADIUS服务器向交换机下发VLAN ID 130,确保终端能够接入主机名认证VLAN。确保终端用户在遗忘密码时具有基本的网络访问权限,例如填写密码重置申请单。
授权结果 | 打印机的授权结果 | 员工的授权结果 | 主机名认证的授权结果 |
---|---|---|---|
名称 | 打印机 | 员工 | 主机名认证 |
业务类型 | MAC旁路认证业务 | 接入业务 | 接入业务 |
VLAN | 102 | 102 | 130 |
终端身份认证失败或未进行身份认证接入Guest VLAN已经在交换机上进行配置,在Policy Center服务器不需要配置。
- 增加网络打印机接入、终端主机接入和主机名认证接入授权规则,分别对应上面步骤创建的授权结果。
选择“接入控制策略 > 认证授权 > 授权规则”。
l 网络打印机接入的授权规则,确保网络打印机通过MAC旁路认证后能够获得办公VLAN的访问权限。
l 普通终端在输入帐号和密码后接入的授权规则,确保员工在通过AD认证后能够获得办公VLAN的访问权限。
l 主机名认证接入的授权规则,确保终端能够接入主机名认证VLAN。
授权规则 | 打印机的授权规则 | 员工的授权规则 | 主机名认证的授权规则 |
---|---|---|---|
业务类型 | MAC旁路认证业务 | 接入业务 | 接入业务 |
定制条件 | - | - | Windows主机名认证 |
授权结果 | 打印机 | 员工 | 主机名认证 |
将默认授权规则的“授权结果”修改为“禁止接入”,表示其他的终端属于非授权终端,接入时将会被禁止接入。
- 收集所有哑终端的MAC地址,把这些哑终端添加到哑终端设备组。在MAC旁路认证列表中添加网络打印机的MAC地址,只有MAC地址在MAC地址列表中的哑终端能允许接入办公VLAN。
选择“用户与终端 > 设备管理 >设备管理”增加设备组。
设备组名称:网络打印机
选择“网络打印机” 组,选择“设备列表”增加打印机的MAC地址。
MAC地址:00-E0-4C-83-C9-EB
- 配置AD控制器,终端主机名认证和员工认证能够到AD控制器上进行验证。
选择“用户与终端 > 外部数据源 > AD/LDAP同步”。
同步方式选择“不同步帐号/组织结构”。
- 增加AD域帐号和MAC旁路认证的认证规则。
如果不增加AD域帐号的认证规则,则员工无法到AD域控制器进行认证。
如果不增加MAC旁路认证的认证规则,则哑终端无法通过认证。
选择“接入控制策略 > 认证授权 > 认证规则”增加认证规则。
认证规则 | AD的认证规则 | 哑终端的认证规则 |
---|---|---|
业务类型 | 接入业务 | MAC旁路认证业务 |
数据源 | AD | 本地数据源 |
终端设备组 | - | 网络打印机 |
认证协议 | 所有协议 | 所有协议 |
- 配置终端主机。
l 配置Microsoft Windows XP
(1)选择“开始 > 设置 > 控制面板”。
(2)依次单击“管理工具”和“服务”。
(3)右键单击“Wired AutoConfig”服务,选择“启动”。
(4)在“控制面板”单击“网络连接”,并右键单击终端主机使用的网络连接,选择“属性”。
(5)在“身份验证”页签选中“启用 IEEE 802.1X 身份验证”,在“选择网络身份验证方法”区域框选择“受保护的 EAP (PEAP)”,并单击“设置”。
(6)取消“验证服务器证书”,在“选择身份验证方法”区域框选择“安全密码 (EAP-MSCHAP v2)”,并在右侧单击“配置”。
(7)选中“自动使用 Windows 登录名和密码”。
l 配置Microsoft Windows 7
(1)选择“开始 > 控制面板”。
(2)依次单击“管理工具”和“服务”。
(3)右键单击“Wired AutoConfig”服务,选择“启动”。
(4)在“控制面板”单击“网络和共享中心”,并单击终端主机使用的网络连接,单击“属性”。
(5)在“身份验证”页签选中“启用 IEEE 802.1X 身份验证”,在“选择网络身份验证方法”区域框选择“受保护的 EAP (PEAP)”,并单击“设置”。
(6)取消“验证服务器证书”,在“选择身份验证方法”区域框选择“安全密码 (EAP-MSCHAP v2)”,并在右侧单击“配置”。
(7)选中“自动使用 Windows 登录名和密码”。
—-结束
1.7 总结与建议
基于接入层的802.1X接入方案,其关键步骤是:
把不同访问级别的网络资源规划到不同的VLAN。
在接入层交换机对终端用户启用802.1X认证,对哑终端实施MAC旁路认证,以便阻击未授权终端浑水摸鱼接入网络。
根据身份认证结果给交换机接口下发不同的VLAN ID,以便普通终端和哑终端接入办公网络。
举例中把终端认证后的访问权限(办公VLAN 102)设置成完全一样,对接入控制模型作了一定程度的简化,方便读者理解。
如果管理员想进行精细化的网络权限控制,例如研发、财务、市场员工在认证后拥有独立访问的网络资源,可把每个部门认证后允许访问的网络资源划分到不同的VLAN,在认证后Policy Center服务器下发不同的VLAN ID即可达成。
以Policy Center服务器为核心,基于接入层的接入控制方案中的二次身份认证设计非常巧妙:
l 在开机时通过Microsoft Windows自带的802.1X认证客户端自动尝试使用主机名进行认证。为已加入域的终端开放了比认证前域更大的权限,解决域密码遗忘无法正常接入办公网络的问题。
l 终端用户使用AD帐号登录操作系统,自动完成身份认证。认证通过后接入办公网络。
同时,未加入域未通过身份认证的终端留有加入域所依赖的网络资源,为新购入的终端接入网络作好铺垫,所谓一石三鸟。
原文链接:https://forum.huawei.com/enterprise/zh/thread-234187.html
- 本文链接:https://zeozzz.github.com/2019/04/18/3/
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。