Skip to content

Instantly share code, notes, and snippets.

@baymaxium
Created October 18, 2017 09:40
Show Gist options
  • Save baymaxium/2da906626f32a7e59608189fc1e9908e to your computer and use it in GitHub Desktop.
Save baymaxium/2da906626f32a7e59608189fc1e9908e to your computer and use it in GitHub Desktop.
还在手调网络权限?资深IT工程师都这样玩企业组网

原文:高效开发运维

虽说干的是信息化智能化的行当,但每个 IT 工程师都必定踩过“IT 系统不智能”的坑。就拿企业组建局域网来说,为了对网络接入用户身份进行确认,确保用户权限不受办公地点变更的影响,许多 IT 工程师都习惯开启 “手动模式”和苦逼的“加班模式”。

其实,企业组建局域网的配置也是有“套路”的。IT 新人也能现学现用,轻松几步,教你飞速提高企业网络准入的安全性。

方案规划  

对于企业 IT 工程师来说,什么样的企业网络是我们需要的呢,是快捷,还是安全,让我们来想象一下。

员工入职即生成个人账户,一套账户“走遍天下”,包含接入网络,OA,内网,ERP,甚至打印和复印等;

支持多个终端,在手机、笔记本、台式机上登录,不论在公司什么位置,你有拥有相同的网络权限;

员工调岗或者更换部门,仅需再组织架构中进行调整,这个“新”员工自动获取新部门的网络权限;

员工离职,仅需要将账号“一键禁用”。好了,所有的权限都关了,“苍蝇”你都别想飞进来。

有句话说“理想很丰满,现实很骨干‘’,但是我在这里想说,这都不是梦,资深 IT 来告诉你理想的实现方法。

基于 802.1x 协议,实现端口访问控制和认证;

搭建 Windows Server 系统环境,实现 AD+DHCP+DNS,这部分搭建网上大把大把的教程,这部分忽略不在进行赘述;

NPS(Radius),用户认证管理管理;

选择支持 802.1x 协议认证网络设备,实现动态 VLAN 实现获得各终端网络登录具有各自网络权限。

组网环境(试验样例,最终根据自己实际情况决定)

重点 1:调整用户所在安全组后,如何继承了划分 VLAN 的网络权限?答:在核心网络交换机中把划分的 VLAN 一定要对应到用户所在安全组,如上图。

方案实施  

本文主要介绍关键配置:有线网络设备上开启 802.1X 认证和认证服务器 NPS(Radius) 的配置,其他搭建过程请参照文章底部附录。

1 . 接入交换机(WS-C2960X-48LPS-L)开启 802.1x 认证,以 Cisco 2960 为例(注:不同 IOS 版本命令略有差异)  

   第一步:进入配置模式开启 802.1x 认证、指定 radius-server

aaa new-model

! 启用 aaa

aaa authentication dot1x default group radius

! dot1x 使用 radius 做认证

aaa authorization network default group radius

! 使用 802.1x 协议去动态分配 vlan 的话, 上边的这句命令一定要有

dot1x system-auth-control

! 允许 802.1x port-based 认证

dot1x guest-vlan supplicant

! 允许交换机在端口 802.1x 认证失败后, 指定 vlan 到 guest-vlan

radius-server host IP auth-port 1812 acct-port 1813 key Password

! 指定 radius 服务器 IP、端口号和进行交互的使用的密码

radius-server retry method reorder

! 允许有多个 radius 服务器冗余切换

radius-server timeout 10

! 指定 radius 服务认证超时时间

重点 2:不同用户安全组如何获得动态 VLAN 地址?

答: 把预规划好的所有 VLAN 配置到每台接入交换机和无线 AC 控制器上,并在核心交换机中配置指向到 DHCP 服务器地址 。

   第二步进入网络端口下启用 802.1x 配置

interface GigabitEthernet1/0/46

switchport mode access

! dot1x 指定 vlan, switchport mode 必须为 access

switchport voice vlan 195

! dot1x 指定语音 vlan

authentication event fail action authorize vlan 107

! 认证失败获得隔离 vlan

authentication event no-response action authorize vlan 107

! 认证无响应获得隔离 vlan

authentication port-control auto

! 端口认证控制

authentication timer inactivity 30

! 认证响应超时

dot1x pae authenticator

! 认证端口开启

2 . NPS(Radius)策略配置(注意了!这个方案最重要的 12 步,一定要注意!)  

a. 使用配置向导新建连接策略

b. 添加 NPS 客户端(接入交换机和无线 AC),输入交接机 IP 和与其认证交互的 Password

c. 选择 EAP 类型为 Microsoft: 受保护的 EAP(PEAP)

d. NPS(Radius) 服务器申请计算机证书

 

e. 添加账号认证系统 AD 中的用户 test01 所在部门“全局作用域安全组”

f. 配置网络策略,动态 VLAN 和访问控制列表(ACL)

Tunnel-Type:        VLANTunnel-Medium-Type:    802.1xTunnel-Pvt-Group-ID:    100 (为 VLAN ID),这样不同用户安全组对应不同网络 VLAN 即可得到不同的网络访问权限,从而大大减少网络层对终端接入设备访问权限的频繁设置。

g. 配置完成,NPS(Radius)客户端显示状态

h. 配置完成,连接请求策略显示状态

i. 配置完成,网络策略显示状态

j. 注意:网络策略中,通过配置向导创建的默认是“windows 组”,需要手动改为“用户组”,后续熟练后可对 NPS(Radius)客户端、连接请求策略和网络策略分开逐一按需求创建。

k. 注意:连接请求策略,如无线和有线 IP 段分开,需分开创建,如不分开,创建一条把无线和有线都勾选即可。

l. 其他部门网络策略,可右键选择重复策略进行创建

 

至此基于 802.1x+AD+DHCP+NPS 认证实现动态 VLAN 配置完成,可开始在 PC、移动客户端等设备接入网络,使用域账号及密码进行登录尝试。

方案验证  

m. 开始菜单运行输入 services.msc 打开本地服务设置

a. 设置有线网络(Wired AutoConfig)和无线网络 (WLAN AutoConfig) 服务开机自动启动 802.1x 服务

b. 有线网卡属性“身份验证”选项,启用 802.1X 和受保护的 EAP 选项,然后打开“设置”EAP 属性,取消“验证证书服务器”,点击配置属性,将自动使用的登录和密码选项取消,然后确定保存关闭。

c. 返回网卡属性“身份验证”选项,打开“其他设置”,勾选“指定身份验证模式”,确定保存。

d. 待电脑屏幕右下角,弹出如下窗口选择点击左键,

e. 弹出如下网络身份验证窗口,输入自己公司的域账号 (或用户名) 和密码点击确定即可。

注:使用无线的用户需先配置连接网络的 SSID,然后对其进行身份验证设置再连接登录。推荐以上所有设置规则在 AD 中使用组策略推送配置,方便域账号登录系统自动连接网络。

Mac 和移动端(Android 和 iOS)的连接方式也很简单,不在这里进行重复赘述。到这里,我们整个方案就已经介绍完成了,希望能帮助企业里 IT 同学。如果在实施过程中有任何问题,请在知乎上联系五阿哥运维部的同学,他必会倾力相助。

附录:

方案涉及 AD+DNS 搭建请参照:

https://zhuanlan.zhihu.com/p/29706040

https://zhuanlan.zhihu.com/p/29706120

https://zhuanlan.zhihu.com/p/29706174

DHCP 搭建请参照:

https://zhuanlan.zhihu.com/p/29706251

作者介绍

王志强(Neeke),五阿哥钢铁电商平台(wauge.com) 运维部 IT 高级工程师2016 年加入五阿哥钢铁电商平台,负责公司 IT 相关工作,曾在阿里巴巴、高德等知名互联网公司负责 IT 工作,在企业网络建设拥有 10 年资深的经验。

Google 如何用 AI 造聊天机器人?Pinterest 如何用机器学习获得两亿活跃用户?10 月 QCon 上海站,还有来自 Uber、Paypal、LinkedIn、Airbnb 等顶尖技术专家前来分享前沿实践经验。

QCon 报名即将结束,识别下方二维码或点击【阅读原文】与 100+ 国内外技术大咖零距离,如有问题欢迎联系票务经理 Hanna ,电话:15110019061,微信:qcon-0410。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment