(19) Invalid user (Rejected: Realm does not have at least one dot separator): [1zF@kL7#mNaB3dE9fGhJ4kLmN5oPqRstUvWxYz1A2bC3D4eF5gH6iJ7kL8mM9nO] (from client private-network-1 port 0 cli 24-E1-24-FA-E9-42) (19) Using Post-Auth-Type Reject (19) # Executing group from file /etc/freeradius/3.0/sites-enabled/default (19) Post-Auth-Type REJECT { (19) attr_filter.access_reject: EXPAND %{User-Name} (19) attr_filter.access_reject: --> 1zF@kL7#mNaB3dE9fGhJ4kLmN5oPqRstUvWxYz1A2bC3D4eF5gH6iJ7kL8mM9nO (19) attr_filter.access_reject: Matched entry DEFAULT at line 11 (19) [attr_filter.access_reject] = updated (19) eap: Request was previously rejected, inserting EAP-Failure (19) eap: Sending EAP Failure (code 4) ID 122 length 4 (19) [eap] = updated (19) policy remove_reply_message_if_eap { (19) if (&reply:EAP-Message && &reply:Reply-Message) { (19) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE (19) else { (19) [noop] = noop (19) } # else = noop (19) } # policy remove_reply_message_if_eap = noop (19) } # Post-Auth-Type REJECT = updated (19) Delaying response for 1.000000 seconds 分析一下radius服务器上的这段认证日志
时间: 2025-06-10 11:09:26 浏览: 28
<think>好的,我现在需要帮助用户分析FreeRADIUS服务器上的认证失败日志,特别是用户被拒绝访问的原因,涉及Realm不含点分隔符和EAP-Failure的情况。首先,我得回忆一下FreeRADIUS的日志结构和常见错误。
FreeRADIUS的日志通常位于/var/log/freeradius/radius.log,或者不同系统可能有不同路径。用户提到的认证失败可能涉及多个方面,比如配置错误、Realm处理问题、EAP方法配置不正确等。用户特别提到Realm不含点分隔符,这可能与代理配置或Realm路由有关。在FreeRADIUS中,Realm通常用于决定如何处理请求,比如是否本地处理还是转发到其他服务器。如果Realm不符合要求(比如不含点分隔符),可能会导致请求被拒绝。
接下来,我需要查看日志中的具体条目。认证失败的常见日志信息可能包括“Auth: Login incorrect”或“No such user”等。对于Realm问题,可能会有类似“realm 'example.com' is proxying it to realm 'example.com'”的提示,或者如果Realm配置不正确,可能会出现“Invalid realm format”的错误。例如,如果用户提供的Realm没有点分隔符(比如“example”而不是“example.com”),可能会被拒绝,因为某些配置可能要求Realm必须包含点分隔符,以便正确路由到远程服务器。
然后是EAP-Failure的问题。EAP(可扩展认证协议)失败可能有多种原因,比如证书问题、客户端与服务器配置不匹配、共享密钥错误等。日志中可能会有“EAP submodule eap_peap failed”或“TLS handshake failed”之类的错误。需要检查服务器证书是否有效,客户端是否信任该证书,以及EAP方法的配置是否正确。
另外,用户的配置文件中,比如在sites-enabled/default或sites-enabled/inner-tunnel中的授权部分,是否处理了Realm的正确处理。可能需要检查unlang配置,确保对于特定Realm的处理是正确的,比如是否调用了正确的模块(如处理EAP的eap模块),或者是否因为Realm格式问题而拒绝了请求。
可能的步骤包括:
1. 检查日志中的具体错误信息,定位到失败的时间点和对应的请求。
2. 查看认证请求中的Realm字段是否符合预期,是否因为不含点分隔符而被过滤。
3. 检查EAP配置,确认服务器证书、客户端证书、EAP类型(如PEAP、TLS等)是否正确。
4. 查看用户文件(如users文件)中的条目,是否有针对该Realm或用户的限制策略。
5. 检查代理配置,确认当Realm不含点分隔符时是否被正确处理,或者是否被默认拒绝。
此外,可能需要参考FreeRADIUS的文档,了解Realm处理的默认行为。例如,默认情况下,FreeRADIUS会将不含点分隔符的Realm视为本地域,而有点的视为需要代理的域。如果配置中要求所有请求必须代理,但Realm没有点分隔符,可能导致拒绝。
可能的解决方案包括:
- 修改Realm名称,确保包含点分隔符。
- 调整FreeRADIUS配置,处理不含点分隔符的Realm,例如在代理配置中添加例外。
- 检查EAP相关配置,确保证书和参数正确。
需要用户提供具体的日志片段,以便更准确地诊断问题。例如,如果日志中有“Ignoring request to realm 'example' because it has no dot”之类的信息,就说明Realm格式问题。或者EAP错误可能显示TLS握手失败的具体原因,比如证书过期或不匹配。</think>### FreeRADIUS 认证失败日志分析步骤
1. **定位日志文件**
FreeRADIUS 日志通常位于 `/var/log/freeradius/radius.log`,若使用调试模式,可检查 `/var/log/freeradius/radacct` 或调试日志[^2]。
2. **筛选认证失败条目**
使用 `grep` 过滤关键错误:
```bash
grep "Authentication rejected" /var/log/freeradius/radius.log
grep "EAP-Failure" /var/log/freeradius/radius.log
```
3. **检查 Realm 格式问题**
FreeRADIUS 默认要求代理请求的 Realm 必须包含点分隔符(如 `example.com`)。若客户端提交的 Realm 不含点(如 `example`),日志可能显示:
```
Ignoring realm 'example' (no dot, treated as local domain)
```
此时需检查 `proxy.conf` 或 `realm` 配置,确认是否强制要求 Realm 格式[^3]。
4. **分析 EAP-Failure 原因**
EAP 失败常见于以下场景:
- **证书问题**:证书过期、CN 不匹配或客户端未信任 CA。
```
SSL: TLS handake failed: ... certificate verify failed
```
- **共享密钥错误**:EAP 方法(如 PEAP)的隧道密钥与客户端不匹配。
- **配置不匹配**:服务器与客户端 EAP 类型不一致(如服务器配置 EAP-TLS,客户端使用 EAP-PEAP)。
5. **验证用户配置**
检查 `users` 文件或数据库中的用户条目,确保属性(如 `Cleartext-Password` 或 `Crypt-Password`)正确,且未设置拒绝规则(如 `Auth-Type := Reject`)。
6. **调试模块流程**
在 `sites-enabled/default` 或 `sites-enabled/inner-tunnel` 中启用调试,观察模块执行顺序:
```
authorize {
...
update control {
&log-auth-failures := yes
}
}
```
---
### 示例日志分析
若日志显示:
```
(1) eap: Peer attempted EAP-Failure during negotiation
(1) Auth: (1) Login incorrect (EAP-Failure)
```
表明客户端主动终止了 EAP 握手,可能因证书不受信任或配置错误[^4]。
若 Realm 问题:
```
(2) realm "example" is missing dot separator, treated as local
(2) No matching user found; rejecting via Post-Auth-Type
```
说明 Realm 格式不符合代理要求,需调整配置或客户端请求。
---
阅读全文
相关推荐















