Radius

FreeRadius 不在調試模式下記錄請求

  • July 24, 2020

抱歉,這裡是半徑新手……

我嘗試獲取由 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 層錯誤 :(

引用自:https://serverfault.com/questions/1026339