抱歉,这里是半径新手……
我尝试获取由 NixOS 打包运行的 FreeRadius 服务器版本 3.0.20,以对 dlink 接入点上的用户进行身份验证。我正在运行启用了调试日志记录的服务器。
我从默认配置开始并遵循入门指南。所以我添加了testing
使用testing Cleartext-Password := "password"
. 我可以确认此身份验证使用radtest testing password 127.0.0.1 0 testing123
. 我也将其视为日志文件中的成功登录。– 酷,到目前为止有效。
接下来,我尝试使用相同的用户和密码通过接入点进行身份验证。所以我添加了接入点的IP,并在接入点中clients.conf
配置了radius服务器和共享密钥。
client ap2 {
ipaddr = 192.168.1.32
secret = testing123
}
尝试进行身份验证时,我看到请求进入 tcpdump,但 FreeRadius 完全忽略了它:没有记录任何内容。
为了交叉检查并验证 radius 服务器不仅在 localhost 上侦听,我添加了另一个非 localhost-client 并radtest
再次使用该源 IP:一切仍然有效。
再次检查tcpdump
这是工作请求:
192.168.1.144.57243 > 192.168.1.144.1812: [bad udp cksum 0x84d7 -> 0x44fd!] RADIUS, length: 77
Access-Request (1), id: 0x2c, Authenticator: 106b49030bec802e1bd156ff48e3589a
User-Name Attribute (1), length: 9, Value: testing
0x0000: 7465 7374 696e 67
User-Password Attribute (2), length: 18, Value:
0x0000: d112 7b01 9c70 9548 d4a1 db33 c648 739e
NAS-IP-Address Attribute (4), length: 6, Value: 127.0.1.1
0x0000: 7f00 0101
NAS-Port Attribute (5), length: 6, Value: 0
0x0000: 0000 0000
Message-Authenticator Attribute (80), length: 18, Value: &7u...s..L....|..
0x0000: 2637 75c2 ead6 73cc d64c ee9f a97c d8d7
这是来自 FreeRadius 的回应:
192.168.1.144.1812 > 192.168.1.144.57243: [bad udp cksum 0x849e -> 0x427b!] RADIUS, length: 20
Access-Accept (2), id: 0x2c, Authenticator: 750e916c6b56f85eed550088c6cf30fc
相比之下,这是来自 DLink 的请求:
192.168.1.32.36759 > 192.168.1.144.1812: [udp sum ok] RADIUS, length: 103
Access-Request (1), id: 0x6a, Authenticator: e7e4df28fcd96772ffb508c4df564d
User-Name Attribute (1), length: 9, Value: testing
0x0000: 7465 7374 696e 67
User-Password Attribute (2), length: 18, Value:
0x0000: a7cb 807f a0dc fdca 8bd4 e19f cbf4 3e79
Calling-Station-Id Attribute (31), length: 19, Value: 98:f6:21:c0:cc:9d
0x0000: 3938 3a66 363a 3231 3a63 303a 6363 3a39
0x0010: 64
NAS-Identifier Attribute (32), length: 19, Value: c4:e9:0a:21:61:b0
0x0000: 6334 3a65 393a 3061 3a32 313a 3631 3a62
0x0010: 30
NAS-IP-Address Attribute (4), length: 6, Value: 192.168.1.32
0x0000: c0a8 0120
NAS-Port-Type Attribute (61), length: 6, Value: Wireless - IEEE 802.11
0x0000: 0000 0013
NAS-Port Attribute (5), length: 6, Value: 255
0x0000: 0000 00ff
FreeRadius 根本没有记录这个请求,也没有发送任何响应。
我可能最想知道的第一件事:为什么 FreeRadius 在记录另一个请求时不记录来自 DLink 接入点的请求?
知道我错过了什么,为什么没有从 FreeRadius 到接入点的响应 UDP 数据包?
一个“奖励”问题:在接入点的 UI 中,身份验证机制称为“SPAP”,但“用户密码属性”看起来像普通的“PAP”身份验证。PAP和SPAP有什么区别?SPAP 代表什么?我找不到任何协议文档。
我感到很尴尬……我
tcpdump
在 FreeRadius 日志中看到请求但未在日志中看到的问题是,我阻止了请求,iptables
因此 UDP 数据包从未到达 FreeRadius 的套接字。... 一个完美的第 8 层错误 :(