简介
通过微软的nps角色实现一个radius服务器,身份验证和证书使用微软adcs、adds。
最终可实现通过ad用户进行802.1x协议进行接入认证,配置到接入交换机和wlc(无线控制器),可通过安全组分配指定vlan。
ps:加入域控的windows终端可无感认证(通过组策略和域控下发ca。)
示意图
什么是 802.1x?
802.1x 是由ieee(电气和电子工程师协会)定义的一个网络访问控制标准,主要用于局域网(lan)和无线局域网(wlan)的端口级接入控制,保障网络安全。
核心作用
通过身份验证机制控制设备(如计算机、手机)接入网络的权限。
防止未授权设备访问网络资源。
常用于有线网络接入(以太网)和无线wi-fi网络的安全访问。
802.1x的组成角色
supplicant(客户端) 网络接入设备(例如电脑、手机)上运行的客户端软件,负责向网络请求访问权限并提供身份凭证(如用户名/密码、证书等)。
*authenticator(认证者)*网络设备(如交换机端口、无线接入点ap),作为中介,控制端口是否开放,必须通过认证服务器的授权后才能放行流量。
*authentication server(认证服务器)*通常为radius服务器(如微软nps),负责接收认证请求并验证supplicant的身份,根据策略决定是否允许访问。
工作流程简述
设备(supplicant)连接到交换机/无线ap(authenticator)。
authenticator暂时将端口置为封闭状态,只允许传输802.1x相关认证流量。
supplicant发送认证请求,authenticator转发给认证服务器(radius服务器)。
认证服务器验证身份(比如用户名密码、数字证书等)。
认证成功,authenticator开放端口,允许设备正常访问网络。
认证失败,则拒绝访问。
802.1x常见应用
企业无线网络身份验证(结合wpa2-enterprise)。
有线网络的设备级访问控制,防止非法设备接入。
配合radius服务器实现统一身份管理与安全审计。
802.1x与radius/nps的关系
802.1x定义如何请求和控制网络接入。
radius协议用于802.1x架构中,作为认证服务器和认证者之间的协议来传输认证信息。
微软nps可作为认证服务器实现,处理802.1x中的认证请求。
相关文档:https://info.support.huawei.com/info-finder/encyclopedia/zh/802.1x.html
https://info.support.huawei.com/info-finder/encyclopedia/zh/nac.html
微软nps和radius概念
什么是 radius?
radius(remote authentication dial-in user service) 是一种网络协议,用于实现用户的远程身份验证、授权和计费(aaa)。它常用于vpn、无线接入点(wi-fi)、拨号接入等需要身份验证的场景。
功能(aaa):
身份验证(authentication):核实用户身份。
授权(authorization):确定用户可以访问的资源和权限。
计账(accounting):记录用户访问资源的相关信息。
工作方式:
终端设备(如无线ap、交换机、vpn服务器)作为radius客户端,将用户的认证请求发送给radius服务器。
radius服务器验证后返回认证结果,授权或拒绝用户访问。
协议特点:
使用udp端口1812(认证)和1813(计费)或旧端口1645/1646。
传输过程中密码使用共享密钥加密(但整体安全性一般建议结合其它技术如ipsec)。
什么是微软nps?
微软nps(network policy server) 是微软windows server系统中实现radius服务器功能的服务组件。
作用:
是微软的radius服务器和代理解决方案。
支持身份验证、授权和计费功能。
结合active directory域,支持基于用户组、时间、设备等条件的策略控制。
功能特点:
支持多种身份验证协议,如peap、eap-tls等,适合无线网络和vpn的安全接入。
能作为radius代理,转发请求到其他radius服务器。
支持配置网络策略,实现灵活的访问控制。
使用场景:
企业无线网络控制用户接入。
vpn服务器扩展用户认证。
需要集中身份认证及访问控制的场合。
nps和radius的关系
radius是一种协议标准,而nps是微软基于radius协议实现的服务器端软件。
nps本质上就是windows环境下的radius服务器。
通过nps,管理员可以配置和管理radius服务,实现对网络访问的集中身份认证和控制。
总结
名称 | 类型 | 作用 | 举例/说明 |
---|---|---|---|
radius | 网络协议 | 远程身份验证、授权和计费 | 802.1x、vpn、wi-fi认证协议 |
微软nps | 服务软件(radius服务器) | 根据radius协议,实现身份验证和策略管理 | windows server 中的radius服务器 |
为nps服务器申请计算机证书 - 用于peap eap-mschapv2
注意:需要已加入域控,且域控中有ad 证书服务器。
打开 certlm.msc,点击个人 > 证书 右键 > 所有任务> 申请新证书。
下一步
勾选计算机模板,点击注册。(注意模板默认只有一年有效期,可新建模板进行修改)
nps配置
安装nps角色
## powershell 管理员运行 install-windowsfeature -name npas -includemanagementtools # 安装网络策略服务器nps和对应管理工具。 netsh ras add registeredserver # 注册到域控,使用ad进行身份认证。 netsh ras show registeredserver # 验证
可运行nps.msc 打开gui管理工具。
关闭防火墙 – 可选
## powershell 管理员运行 set-netfirewallprofile -profile domain,public,private -enabled false
radius / nas客户端配置
## powershell 管理员运行 netsh nps add client name="hw_switch" address=1.1.1.1 sharedsecret="songxwn.com" # 增加客户端,指定名称、客户端地址(网络设备访问源ip)、共享密钥。 netsh nps show client # 查看 netsh nps del client hw_switch # 删除
radius / nas客户端配置 gui操作
创建连接请求策略 - 802.1x 有线以太网
可运行nps.msc 打开gui管理工具。
策略 - 连接请求策略 - 右键新建
输入策略命令 - 点击下一页
添加条件 - 选择 nas端口类型 - 选择 以太网(有线) - 确认添加 - 下一页
继续下一页
继续下一页
继续下一页
至此完成。
创建网络策略 - 802.1x 有线以太网
策略 - 网络策略 - 右键新建
填写策略名称 - 下一页
添加条件 - 指定为用户组(域控安全组)- 添加指定组
注意:添加是完全匹配的。
添加条件 - 指定nas端口类型为以太网 (有线) 。
ps:可选的,如果nps是多环境复用的。
下一页
添加eap类型 - 选择 eap (peap)
添加后选择编辑,确认是之前申请的计算机证书 - 下一页
继续下一页
修改radius属性 - 标准,全部和上面的一致,就可以分配对应用户组的指定接入vlan - 继续下一页
至此完成
策略检查 - 802.1x 有线以太网
## powershell 下执行 netsh nps show crp 连接请求策略配置: --------------------------------------------------------- 名称 = 有线以太网-网工格物 状态 = 已启用 处理顺序 = 4 策略来源 = 0 条件属性: 名称 id 值 --------------------------------------------------------- condition0 0x3d “^15$” 配置文件属性: 名称 id 值 --------------------------------------------------------- auth-provider-type 0x1025 “0x1” netsh nps show np 网络策略配置: --------------------------------------------------------- 名称 = 有线以太网网络策略-网工格物 状态 = 已启用 处理顺序 = 5 策略来源 = 0 条件属性: 名称 id 值 --------------------------------------------------------- condition0 0x1fb5 “s-1-5-21-3405621554-734450388-1705228783-512” condition1 0x3d “^15$” 配置文件属性: 名称 id 值 --------------------------------------------------------- eap-configuration 0x1fa2 “1900000000000000000000000000000038000000020000003800000001000000140000006b33763e7a447f77902a1921a8a269b068937f770100000001000000100000001a00000000000000” ignore-user-dialin-properties 0x1005 “false” np-allow-dial-in 0x100f “true” np-allowed-eap-type 0x100a “19000000000000000000000000000000” np-authentication-type 0x1009 “0x5” “0x3” “0x9” “0x4” “0xa” service-type 0x6 “0x2” tunnel-medium-type 0x41 “0x6” tunnel-pvt-group-id 0x51 “927” tunnel-type 0x40 “0xd” ms-link-utilization-threshold 0xffffffaa “0x32” ms-link-drop-time-limit 0xffffffa9 “0x78”
创建连接请求策略 - 802.1x 无线wifi
其他步骤与有线策略已有,只需要把条件 nas端口类型改为 无线 - ieee 802.11
创建网络策略 - 802.1x 无线wifi
其他步骤与有线策略已有,只需要把条件 nas端口类型改为 无线 - ieee 802.11
nps日志查看 - 用于排错
运行eventvwr.msc ,打开事件查看器
自定义视图 - 服务器角色 - 网络策略和访问服务
参考文档
https://learn.microsoft.com/en-us/windows-server/networking/technologies/nps/nps-admintools
https://theitbros.com/radius-server-configuration-on-windows/
https://sudonull.com/post/64810-authorization-via-network-policy-server-nps-for-mikrotik
到此这篇关于windows server 2025 搭建nps-radius服务器的文章就介绍到这了,更多相关 server 2025 搭建nps-radius内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论