H3C 防火墙对接 AD 域完整教程 - LDAP/Radius 认证配置实战
前言
在企业网络环境中,将防火墙与 Active Directory(AD)域对接,可以实现统一的用户认证和管理,简化运维工作。本文详细介绍 H3C 防火墙通过 LDAP 和 Radius 两种方式对接 AD 域的完整配置流程,包括单点登录(SSO)、组策略映射、审计日志等企业级功能。
一、AD 域对接方案对比
1.1 LDAP vs Radius
| 对比项 | LDAP | Radius |
|---|---|---|
| 协议类型 | 轻量级目录访问协议 | 远程认证拨号用户服务 |
| 端口 | TCP 389/636(LDAPS) | UDP 1812/1813 |
| 主要用途 | 用户信息查询、认证 | 认证、授权、计费 |
| 配置复杂度 | 简单 | 需要 NPS 服务器 |
| 支持 MFA | 不支持 | 支持 |
| 推荐场景 | 简单认证、用户同步 | 企业级认证、MFA |
1.2 对接架构
企业网络架构
┌─────────────────────────────────────────┐
│ Active Directory 域 │
│ ┌───────────┐ ┌───────────┐ │
│ │ 主域控制器 │ │ 备域控制器 │ │
│ │ 192.168.1.10 │ │ 192.168.1.11 │ │
│ │ (PDC) │ │ (BDC) │ │
│ └─────┬─────┘ └─────┬─────┘ │
│ │ │ │
│ └────────┬───────┘ │
│ │ LDAP/Radius │
└─────────────────┼───────────────────────┘
│
┌───────┴───────┐
│ H3C 防火墙 │
│ 192.168.1.1 │
│ (认证客户端) │
└───────┬───────┘
│
┌────────────┼────────────┐
│ │ │
┌─────┴─────┐ ┌─────┴─────┐ ┌─────┴─────┐
│ SSL VPN │ │ Portal │ │ 管理员 │
│ 用户 │ │ 用户 │ │ 登录 │
└───────────┘ └───────────┘ └───────────┘
二、AD 服务器配置
2.1 创建专用服务账号
在 AD 域控制器上创建用于防火墙认证的专用账号:
# 打开 PowerShell(管理员权限)
# 创建服务账号
New-ADUser -Name "h3c_firewall" `
-SamAccountName "h3c_firewall" `
-UserPrincipalName "h3c_firewall@example.com" `
-DisplayName "H3C Firewall Service Account" `
-Description "Service account for H3C firewall AD integration" `
-AccountPassword (ConvertTo-SecureString "Firewall@2024!" -AsPlainText -Force) `
-Enabled $true `
-PasswordNeverExpires $true `
-CannotChangePassword $true
# 将账号添加到"Domain Users"组(默认已添加)
# 如需特殊权限,可添加到其他组
# 验证账号
Get-ADUser -Identity h3c_firewall -Properties *
2.2 创建用户组(可选)
# 创建 VPN 用户组
New-ADGroup -Name "VPN_Users" `
-GroupScope Global `
-GroupCategory Security `
-DisplayName "VPN Users" `
-Description "Users allowed to access VPN"
# 创建管理员组
New-ADGroup -Name "Firewall_Admins" `
-GroupScope Global `
-GroupCategory Security `
-DisplayName "Firewall Administrators" `
-Description "Firewall administrator group"
# 添加用户到组
Add-ADGroupMember -Identity "VPN_Users" -Members "user01","user02","user03"
Add-ADGroupMember -Identity "Firewall_Admins" -Members "admin01","admin02"
# 查看组成员
Get-ADGroupMember -Identity "VPN_Users"
2.3 配置 NPS 服务器(Radius 方式需要)
安装 NPS 角色
# 在 Windows Server 上安装 NPS(Network Policy Server)
Install-WindowsFeature NPAS -IncludeManagementTools
# 或使用服务器管理器 GUI 安装
# 服务器管理器 → 添加角色和功能 → 网络策略和访问服务 → 网络策略服务器
配置 RADIUS 客户端
- 打开 NPS 控制台(nps.msc)
- 展开"RADIUS 客户端和服务器"
- 右键"RADIUS 客户端" → 新建
- 配置客户端信息:
- 友好名称:H3C-Firewall
- 地址(IP 或 DNS):192.168.1.1
- 供应商:RADIUS Standard
- 共享密钥:Firewall@Radius2024!(与防火墙配置一致)
配置网络策略
- 在 NPS 控制台,右键"网络策略" → 新建
- 策略名称:H3C_SSL_VPN_Access
- 添加条件:
- Windows 组:VPN_Users
- NAS 端口类型:Virtual
- 添加约束:
- 认证方法:MS-CHAP v2
- 添加设置:
- RADIUS 属性:Service-Type = Authenticate Only
- 完成配置
三、H3C 防火墙 LDAP 认证配置
3.1 基础网络配置
# 进入系统视图
<H3C> system-view
[H3C] sysname H3C-FW
# 配置接口 IP
[H3C-FW] interface GigabitEthernet 0/1
[H3C-FW-GigabitEthernet0/1] ip address 192.168.1.1 255.255.255.0
[H3C-FW-GigabitEthernet0/1] quit
# 配置默认路由
[H3C-FW] ip route-static 0.0.0.0 0.0.0.0 192.168.1.254
# 测试与 AD 服务器连通性
[H3C-FW] ping 192.168.1.10
3.2 配置 LDAP 方案
# 创建 LDAP 方案
[H3C-FW] ldap scheme ldap-ad
# 配置 AD 服务器地址
[H3C-FW-ldap-ldap-ad] primary-server-ip 192.168.1.10
# 配置备用服务器(可选)
[H3C-FW-ldap-ldap-ad] secondary-server-ip 192.168.1.11
# 配置服务器端口(389=LDAP, 636=LDAPS)
[H3C-FW-ldap-ldap-ad] server-port 389
# 配置管理员 DN(绑定账号)
[H3C-FW-ldap-ldap-ad] admin-dn "CN=h3c_firewall,CN=Users,DC=example,DC=com"
# 配置管理员密码
[H3C-FW-ldap-ldap-ad] admin-password cipher Firewall@2024!
# 配置用户搜索基础 DN
[H3C-FW-ldap-ldap-ad] user-search-base "DC=example,DC=com"
# 配置用户搜索过滤器
[H3C-FW-ldap-ldap-ad] user-search-filter "(sAMAccountName=%s)"
# 配置用户 DN 格式(可选,用于直接绑定)
[H3C-FW-ldap-ldap-ad] user-dn-format "CN=%s,CN=Users,DC=example,DC=com"
# 配置连接超时(秒)
[H3C-FW-ldap-ldap-ad] timeout 5
# 启用 LDAP 方案
[H3C-FW-ldap-ldap-ad] enable
[H3C-FW-ldap-ldap-ad] quit
3.3 配置 LDAPS(加密连接)
# 导入 AD 证书(从 AD 服务器导出)
[H3C-FW] pki import certificate ad-cert pem filename "flash:/ad_cert.cer"
# 配置 LDAPS 方案
[H3C-FW] ldap scheme ldap-ad-ssl
# 配置服务器地址和端口(636)
[H3C-FW-ldap-ldap-ad-ssl] primary-server-ip 192.168.1.10
[H3C-FW-ldap-ldap-ad-ssl] server-port 636
# 配置管理员信息
[H3C-FW-ldap-ldap-ad-ssl] admin-dn "CN=h3c_firewall,CN=Users,DC=example,DC=com"
[H3C-FW-ldap-ldap-ad-ssl] admin-password cipher Firewall@2024!
# 配置用户搜索基础
[H3C-FW-ldap-ldap-ad-ssl] user-search-base "DC=example,DC=com"
[H3C-FW-ldap-ldap-ad-ssl] user-search-filter "(sAMAccountName=%s)"
# 引用证书
[H3C-FW-ldap-ldap-ad-ssl] certificate ad-cert
# 启用
[H3C-FW-ldap-ldap-ad-ssl] enable
[H3C-FW-ldap-ldap-ad-ssl] quit
3.4 配置认证域
# 创建认证域
[H3C-FW] domain ad-domain
# 配置 SSL VPN 认证使用 LDAP
[H3C-FW-domain-ad-domain] authentication sslvpn ldap-scheme ldap-ad
# 配置授权(可选)
[H3C-FW-domain-ad-domain] authorization sslvpn ldap-scheme ldap-ad
# 配置计费(可选)
[H3C-FW-domain-ad-domain] accounting sslvpn none
# 配置默认域(可选)
[H3C-FW] domain default enable ad-domain
[H3C-FW-domain-ad-domain] quit
3.5 配置用户组映射
# 创建本地用户组
[H3C-FW] user-group vpn-users
# 配置 LDAP 组映射
[H3C-FW-user-group-vpn-users] ldap-group "CN=VPN_Users,CN=Users,DC=example,DC=com"
# 添加组描述
[H3C-FW-user-group-vpn-users] description "AD VPN Users Group"
[H3C-FW-user-group-vpn-users] quit
# 创建管理员组
[H3C-FW] user-group firewall-admins
[H3C-FW-user-group-firewall-admins] ldap-group "CN=Firewall_Admins,CN=Users,DC=example,DC=com"
[H3C-FW-user-group-firewall-admins] quit
四、H3C 防火墙 Radius 认证配置
4.1 配置 Radius 方案
# 创建 Radius 方案
[H3C-FW] radius scheme radius-ad
# 配置主 Radius 服务器(NPS)
[H3C-FW-radius-radius-ad] primary authentication 192.168.1.10
[H3C-FW-radius-radius-ad] primary accounting 192.168.1.10
# 配置备用服务器(可选)
[H3C-FW-radius-radius-ad] secondary authentication 192.168.1.11
[H3C-FW-radius-radius-ad] secondary accounting 192.168.1.11
# 配置共享密钥(与 NPS 配置一致)
[H3C-FW-radius-radius-ad] key authentication cipher Firewall@Radius2024!
[H3C-FW-radius-radius-ad] key accounting cipher Firewall@Radius2024!
# 配置用户名格式
# without-domain - 不包含域名(如:username)
# with-domain - 包含域名(如:username@example.com)
[H3C-FW-radius-radius-ad] user-name-format without-domain
# 配置服务器类型
[H3C-FW-radius-radius-ad] server-type extended
# 配置重传次数
[H3C-FW-radius-radius-ad] retry 3
# 配置超时时间(秒)
[H3C-FW-radius-radius-ad] timer response-timeout 5
# 启用计费(可选)
[H3C-FW-radius-radius-ad] accounting optional
[H3C-FW-radius-radius-ad] quit
4.2 配置认证域
# 创建认证域
[H3C-FW] domain radius-domain
# 配置 SSL VPN 认证使用 Radius
[H3C-FW-domain-radius-domain] authentication sslvpn radius-scheme radius-ad
# 配置授权
[H3C-FW-domain-radius-domain] authorization sslvpn radius-scheme radius-ad
# 配置计费
[H3C-FW-domain-radius-domain] accounting sslvpn radius-scheme radius-ad
[H3C-FW-domain-radius-domain] quit
4.3 测试 Radius 连接
# 测试 Radius 认证
[H3C-FW] test aaa-scheme radius radius-ad username user01 password User@2024!
# 输出示例:
# Authentication succeeded
# User: user01
# Scheme: radius-ad
# Server: 192.168.1.10:1812
# 查看详细结果
[H3C-FW] display radius scheme radius-ad
五、SSL VPN 集成配置
5.1 配置 SSL VPN 网关
# 启用 SSL VPN
[H3C-FW] ssl vpn enable
# 创建 SSL VPN 网关
[H3C-FW] ssl vpn gateway gateway1
[H3C-FW-ssl-vpn-gateway-gateway1] listen-ip 192.168.1.1
[H3C-FW-ssl-vpn-gateway-gateway1] port 443
[H3C-FW-ssl-vpn-gateway-gateway1] domain vpn.example.com
[H3C-FW-ssl-vpn-gateway-gateway1] enable
[H3C-FW-ssl-vpn-gateway-gateway1] quit
5.2 配置地址池
# 创建 IP 地址池
[H3C-FW] ssl vpn ip-pool pool1
[H3C-FW-ssl-vpn-ip-pool-pool1] network 10.10.10.0 mask 255.255.255.0
[H3C-FW-ssl-vpn-ip-pool-pool1] start-ip 10.10.10.100 end-ip 10.10.10.200
[H3C-FW-ssl-vpn-ip-pool-pool1] dns-server 192.168.1.10
[H3C-FW-ssl-vpn-ip-pool-pool1] domain example.com
[H3C-FW-ssl-vpn-ip-pool-pool1] quit
5.3 配置策略组(LDAP 认证)
# 创建策略组
[H3C-FW] ssl vpn policy-group policy-ldap
# 关联地址池
[H3C-FW-ssl-vpn-policy-group-policy-ldap] ip-pool pool1
# 配置认证方式为 LDAP
[H3C-FW-ssl-vpn-policy-group-policy-ldap] authentication-method ldap
# 引用 LDAP 方案
[H3C-FW-ssl-vpn-policy-group-policy-ldap] ldap-scheme ldap-ad
# 关联认证域
[H3C-FW-ssl-vpn-policy-group-policy-ldap] domain ad-domain
# 配置隧道模式
[H3C-FW-ssl-vpn-policy-group-policy-ldap] tunnel-mode full-tunnel
# 配置分割隧道
[H3C-FW-ssl-vpn-policy-group-policy-ldap] split-include 192.168.1.0 255.255.255.0
# 关联网关
[H3C-FW-ssl-vpn-policy-group-policy-ldap] gateway gateway1
# 启用
[H3C-FW-ssl-vpn-policy-group-policy-ldap] enable
[H3C-FW-ssl-vpn-policy-group-policy-ldap] quit
5.4 配置策略组(Radius 认证)
# 创建策略组
[H3C-FW] ssl vpn policy-group policy-radius
# 关联地址池
[H3C-FW-ssl-vpn-policy-group-policy-radius] ip-pool pool1
# 配置认证方式为 Radius
[H3C-FW-ssl-vpn-policy-group-policy-radius] authentication-method radius
# 引用 Radius 方案
[H3C-FW-ssl-vpn-policy-group-policy-radius] radius-scheme radius-ad
# 关联认证域
[H3C-FW-ssl-vpn-policy-group-policy-radius] domain radius-domain
# 配置隧道模式
[H3C-FW-ssl-vpn-policy-group-policy-radius] tunnel-mode full-tunnel
# 关联网关
[H3C-FW-ssl-vpn-policy-group-policy-radius] gateway gateway1
# 启用
[H3C-FW-ssl-vpn-policy-group-policy-radius] enable
[H3C-FW-ssl-vpn-policy-group-policy-radius] quit
六、管理员登录认证配置
6.1 配置管理员使用 AD 认证
# 创建管理员账号(引用 AD 用户)
[H3C-FW] local-user admin01 class manage
[H3C-FW-luser-manage-admin01] authentication-mode ldap
[H3C-FW-luser-manage-admin01] service-type ssh telnet http https
[H3C-FW-luser-manage-admin01] authorization-attribute user-role network-admin
[H3C-FW-luser-manage-admin01] quit
# 配置登录认证方案
[H3C-FW] line aux 0
[H3C-FW-line-aux0] authentication-mode scheme
[H3C-FW-line-aux0] quit
[H3C-FW] line vty 0 63
[H3C-FW-line-vty0-63] authentication-mode scheme
[H3C-FW-line-vty0-63] protocol inbound ssh telnet
[H3C-FW-line-vty0-63] quit
# 配置 Web 认证
[H3C-FW] ip http authentication-mode scheme
[H3C-FW] ip https authentication-mode scheme
6.2 配置管理员角色映射
# 创建角色
[H3C-FW] role name firewall-admin
# 配置角色权限
[H3C-FW-role-firewall-admin] rule 1 permit read write
[H3C-FW-role-firewall-admin] rule 2 permit execute
# 关联 AD 组
[H3C-FW] user-group firewall-admins
[H3C-FW-user-group-firewall-admins] role firewall-admin
[H3C-FW-user-group-firewall-admins] quit
七、单点登录(SSO)配置
7.1 配置 Kerberos 认证
# 配置 Kerberos realm
[H3C-FW] kerberos realm EXAMPLE.COM
# 配置 KDC 服务器
[H3C-FW-kerberos-realm-EXAMPLE.COM] kdc 192.168.1.10
[H3C-FW-kerberos-realm-EXAMPLE.COM] kdc 192.168.1.11
# 导入密钥表文件(从 AD 导出)
[H3C-FW] kerberos keytab flash:/firewall.keytab
# 配置 SSO
[H3C-FW] sso kerberos enable
[H3C-FW] sso kerberos realm EXAMPLE.COM
[H3C-FW] sso kerberos keytab flash:/firewall.keytab
7.2 在 AD 上配置 SPN
# 在 AD 服务器上设置 SPN(Service Principal Name)
# 为防火墙服务账号设置 SPN
setspn -S HTTP/firewall.example.com h3c_firewall
setspn -S HTTP/192.168.1.1 h3c_firewall
# 验证 SPN
setspn -L h3c_firewall
# 导出密钥表文件(需要第三方工具)
# 使用 ktpass 工具:
ktpass -princ HTTP/firewall.example.com@EXAMPLE.COM \
-mapuser h3c_firewall \
-pass Firewall@2024! \
-out C:\firewall.keytab \
-ptype KRB5_NT_PRINCIPAL \
-crypto AES256-SHA1
八、验证与测试
8.1 测试 LDAP 连接
# 测试 LDAP 服务器连通性
[H3C-FW] ping 192.168.1.10
# 测试 LDAP 认证
[H3C-FW] test aaa-scheme ldap ldap-ad username user01 password User@2024!
# 查看 LDAP 方案状态
[H3C-FW] display ldap scheme ldap-ad
# 查看 LDAP 服务器状态
[H3C-FW] display ldap server-status ldap-ad
8.2 测试用户登录
# 测试 SSL VPN 登录
# 1. 访问 https://192.168.1.1 或 https://vpn.example.com
# 2. 使用 AD 账号登录(格式:username 或 username@example.com)
# 3. 验证是否成功获取虚拟 IP
# 查看在线用户
[H3C-FW] display ssl vpn session
# 查看用户详细信息
[H3C-FW] display ssl vpn session username user01 verbose
8.3 查看认证日志
# 查看认证日志
[H3C-FW] display logbuffer | include AAA
# 查看 LDAP 日志
[H3C-FW] display logbuffer | include LDAP
# 查看 Radius 日志
[H3C-FW] display logbuffer | include RADIUS
# 查看 SSL VPN 登录日志
[H3C-FW] display ssl vpn log login
# 导出日志
[H3C-FW] display logbuffer > flash:/auth_log.txt
8.4 查看组映射
# 查看用户组配置
[H3C-FW] display user-group
# 查看 LDAP 组映射
[H3C-FW] display user-group vpn-users
# 查看用户角色
[H3C-FW] display local-user admin01
九、故障排查
9.1 LDAP 连接失败
问题 1:无法连接 LDAP 服务器
# 检查步骤:
# 1. 检查网络连通性
[H3C-FW] ping 192.168.1.10
# 2. 检查端口是否开放
[H3C-FW] telnet 192.168.1.10 389
# 3. 检查 LDAP 配置
[H3C-FW] display ldap scheme ldap-ad
# 4. 检查管理员 DN 和密码
# 确认 DN 格式正确:CN=h3c_firewall,CN=Users,DC=example,DC=com
# 5. 查看 LDAP 调试信息
[H3C-FW] debugging ldap all
[H3C-FW] terminal monitor
[H3C-FW] terminal debugging
问题 2:认证失败
# 检查步骤:
# 1. 验证 AD 账号状态
# 在 AD 上检查账号是否被锁定或禁用
# 2. 检查用户搜索过滤器
[H3C-FW] display ldap scheme ldap-ad
# 确认过滤器:(sAMAccountName=%s)
# 3. 检查用户搜索基础 DN
# 确认:DC=example,DC=com
# 4. 测试认证
[H3C-FW] test aaa-scheme ldap ldap-ad username user01 password User@2024!
# 5. 查看 AD 事件日志
# 在域控制器上查看 Security 日志
9.2 Radius 认证失败
# 检查步骤:
# 1. 检查共享密钥
[H3C-FW] display radius scheme radius-ad
# 确认与 NPS 配置的密钥一致
# 2. 测试 Radius 连接
[H3C-FW] test aaa-scheme radius radius-ad username user01 password User@2024!
# 3. 检查 NPS 策略
# 在 NPS 控制台检查网络策略配置
# 4. 查看 NPS 日志
# 事件查看器 → 应用程序和服务日志 → Microsoft → Windows → NPS
# 5. 检查防火墙规则
# 确保 UDP 1812/1813 端口开放
9.3 用户组映射失败
# 检查步骤:
# 1. 验证 AD 组 DN
# 使用 ADSI Edit 查看正确的组 DN
# 2. 检查组映射配置
[H3C-FW] display user-group vpn-users
# 3. 测试组成员查询
[H3C-FW] debugging ldap all
# 4. 检查用户是否在组内
# 在 AD 上:Get-ADGroupMember -Identity "VPN_Users"
9.4 常用调试命令
# 开启 LDAP 调试
[H3C-FW] debugging ldap all
[H3C-FW] terminal monitor
[H3C-FW] terminal debugging
# 开启 Radius 调试
[H3C-FW] debugging radius all
# 开启 AAA 调试
[H3C-FW] debugging aaa all
# 查看调试信息
[H3C-FW] display debugging
# 关闭所有调试(重要!)
[H3C-FW] undo debugging all
十、安全加固建议
10.1 使用加密连接
| 协议 | 推荐配置 | 避免使用 |
|---|---|---|
| LDAP | LDAPS(TCP 636) | 明文 LDAP(TCP 389) |
| Radius | Radius over TLS | 明文 Radius |
| 密码 | cipher 加密存储 | simple 明文 |
10.2 服务账号安全
# AD 服务账号安全配置
# 1. 设置强密码(至少 16 位)
# 包含大小写、数字、特殊字符
# 2. 密码永不过期(服务账号需要)
Set-ADUser -Identity h3c_firewall -PasswordNeverExpires $true
# 3. 限制账号权限(最小权限原则)
# 只给予必要的读取权限
# 4. 定期审计账号使用情况
Get-ADUser -Identity h3c_firewall -Properties LastLogonDate
# 5. 启用账号保护(AD 回收站)
Enable-ADOptionalFeature -Identity 'Recycle Bin Feature' \
-Scope ForestOrConfigurationSet -Target 'example.com'
10.3 访问控制
# 配置登录时间限制
[H3C-FW] domain ad-domain
[H3C-FW-domain-ad-domain] access-limit max 100
# 配置失败锁定
[H3C-FW] local-user-policy
[H3C-FW-luser-policy] login-fail-lock enable
[H3C-FW-luser-policy] login-fail-times 5
[H3C-FW-luser-policy] lock-time 30
# 配置密码策略
[H3C-FW-luser-policy] password-complexity enable
[H3C-FW-luser-policy] password-length 8
[H3C-FW-luser-policy] password-history 5
10.4 审计日志
# 配置日志服务器
[H3C-FW] info-center loghost 192.168.1.100
# 启用 AAA 审计
[H3C-FW] info-center source AAA channel 0 log level informational
# 启用 LDAP 审计
[H3C-FW] info-center source LDAP channel 0 log level informational
# 配置日志导出
[H3C-FW] info-center logfile size 10240
[H3C-FW] info-center logfile number 10
总结
本文详细介绍了 H3C 防火墙对接 AD 域的完整流程:
- 方案对比:LDAP vs Radius 优缺点分析
- AD 配置:服务账号、用户组、NPS 服务器
- LDAP 认证:LDAP 方案、LDAPS 加密、认证域
- Radius 认证:Radius 方案、NPS 配置、测试验证
- SSL VPN 集成:策略组、地址池、隧道模式
- 管理员登录:AD 认证、角色映射
- 单点登录:Kerberos 配置、SPN 设置
- 验证测试:连接测试、用户登录、日志查看
- 故障排查:常见问题和调试方法
- 安全加固:加密连接、账号安全、访问控制、审计日志
通过 AD 域对接,您可以实现:
- ✅ 统一用户管理,减少运维工作量
- ✅ 单点登录,提升用户体验
- ✅ 集中审计,满足合规要求
- ✅ 组策略映射,精细化权限控制
建议在生产环境部署前,先在测试环境充分验证配置。如有问题,欢迎留言讨论!🚀
附:配置脚本下载
完整的配置文件和 PowerShell 脚本可在评论区留言获取。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。







