Vpn

如何配置 FreeRADIUS 以與 strongSwan 組選擇一起使用?

  • November 7, 2019

使用 strongSwan 建構 VPN 服務,我需要區分幾組使用者,其中每個組都分配有具有特定權限的特定子網(即“組 x”只能訪問本地子網的特定部分,例如 192.168.10.10/ 32)。

官方的 strongSwan wiki 只允許使用 RADIUS 伺服器進行所謂的“組選擇” 。

現在,根據 Wiki,有兩種可能獲得組成員資訊;通過讀取和解釋在 RADIUS-Accept 響應中發送的類屬性或通過解釋**Filter-Id屬性。這篇文章沒有強調一種方法或另一種方法的(缺點)優點。

雖然我覺得使用像 FreeRADIUS 這樣的 RADIUS 伺服器有點過頭了——我更喜歡 strongSwan 提供的解決方案,一些外掛等——我設置並配置了 FreeRadius,這就是我卡住的地方。

我堅持第一種方法(使用屬性發回組成員資訊)。

在 rlm_files 模組 ( freeradius/3.0/mods_config/files/authorize) 的配置文件中,我設置了 Bob:

#
# The canonical testing user which is in most of the
# examples.
#
bob     Cleartext-Password := "hello"
       Reply-Message := "Hello, %{User-Name}"
#       Class := "myclass"

身份驗證沒有問題,唯一缺少的是屬性。此頁面列出了所有可用的 FreeRADIUS 屬性。我查找了Class屬性並嘗試設置守護程序無法讀取的值(見上文)。

該文件還明確表示

第一行之後的縮進(帶有製表符)行表示要傳遞回通信伺服器以允許啟動使用者會話的配置值。這可以包括諸如 PPP 配置值或使用者登錄的主機之類的內容。

在網上搜尋,這個關於 serverfault 的文章似乎使用了類似的方法,但使用了另一個 LDAP 伺服器。到目前為止,還不需要 LDAP 伺服器,這意味著要依賴另一個依賴項或另一個服務。

我也不能使用明文密碼(就像 Bob 一樣),相反,我更喜歡基於證書的身份驗證。

為基於組的策略設置 FreeRADIUS(以及,如有必要,任何其他依賴項)的正確方法是什麼?我有什麼可能性?

您在行尾缺少逗號Reply-Message

請參閱使用者文件手冊頁中的範例。

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