【freeradius2.x】 安裝和學習


虛擬機中centos 安裝和學習 radius2 版本號是2.2.x 的使用等知識

安裝

為了測試方面,yum安裝


yum -y install freeradius*

配置文件的位置是 /etc/raddb/ 編譯安裝可能在 /usr/local/etc/raddb


# /etc/init.d/radiusd

使用方法:/etc/init.d/radiusd {start|stop|status|restart|condrestart|try-restart|reload|force-reload}

yum會自己主動生成服務腳本,然后能夠把radius當做服務直接使用了

配置文件


[root@orangleliu raddb]# tree -L 1

.

├── acct_users

├── attrs

├── attrs.access_challenge

├── attrs.access_reject

├── attrs.accounting_response

├── attrs.pre-proxy

├── certs

├── clients.conf

├── dictionary

├── eap.conf

├── example.pl

├── hints

├── huntgroups

├── ldap.attrmap

├── modules

├── panic.gdb

├── policy.conf

├── policy.txt

├── preproxy_users

├── proxy.conf

├── radiusd.conf

├── sites-available

├── sites-enabled

├── sql

├── sql.conf

├── sqlippool.conf

├── templates.conf

└── users



5 directories, 23 files

配置文件結構大概這樣子,大部分的功能都是通過配置文件來完畢的,對於配置文件的熟悉很重要,每一個配置文件里都有大量的說明,細致閱讀一遍基本也知道怎樣操作。

radtest 是用來測試的工具,檢查和測試很實用。

  • radiusd.conf 主配置文件

  • clients.conf 用來配置客戶端 里面應該相應 NAS設備(比如BRAS),自帶了一個本地測試client

  • users 配置了用戶信息,針對某些用戶設置認證規則,僅僅能使用pap的模式,能夠設置password加密

  • sql.conf 配置使用哪種數據庫等,以及sql規則等

  • site-available site-enabled 是存放 virtual server的文件夾,相似Apache的配置策略

概念

  • NAS 設備: 網絡接入設備。這里通常是 Radius Client

  • 認證和權鑒 使用 UDP 1812端口

  • 計費 使用 UDP 1813端口

命令

  • radiusd freeradius主程序,一般調試調試模式 使用 radiusd -Xx 來啟動

  • radlast 用來查詢用戶通過NAS登錄的情況

  • radtest 用來模擬NAS設備發送請求

  • radwho 查看當前在線的用戶。可能由於配置編譯等原因不好使

  • radrap 關閉某個NAS的全部session

功能

認證

3個經常使用的認證協議,這三種協議都須要實username和password,算是文本協議,所以還挺easy觀察和測試

  • PAP

    • redtest 命令默認就是使用這個協議,使用最廣泛的協議。

    • NAS會使用 username和加密之后的password 和Radius服務器交互

    • password明文存儲

測試, 用戶信息在user文件里配置


radtest  alice passme 127.0.0.1 100 testing123

Sending Access-Request of id 41 to 127.0.0.1 port 1812

    User-Name = "alice"

    User-Password = "passme"

    NAS-IP-Address = 127.0.0.1

    NAS-Port = 100

    Message-Authenticator = 0x00000000000000000000000000000000

rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=41, length=40

    Framed-IP-Address = 192.168.59.103

    Reply-Message = "Hello, alice"
  • CHAP

    • PAP 的升級版本號

    • 添加握手

    • password明文存儲 password交互使用密文

  • MS-CHAP

    • 微軟版本號的 CHAP 協議
  • EAP 拓展協議

用戶存儲

頭兩個種方式都不推薦

  • 文件方式 使用配置文件 users 文件來存儲用戶和password

  • Unix 系統用戶 事實上是使用 /etc/shadow 來存儲的用戶信息(可是要注意權限問題,須要再 site-enable 中authorize 中打開unix配置)

  • 數據庫方式 比如Mysql。

    1. 安裝mysql插件 yum install freeradius2-mysql

    2. 創建數據庫。導入初始化輸入(依據文檔就好了)

    3. 編輯 radius.conf# $INCLUDE sql.conf 行的凝視

    4. 編輯 sql.conf 中 msql 的認證信息

    5. 編輯 sites-enabled/defaultauthorize 部分 去掉 sql 的選項凝視

計費過程

計費和認證相對獨立的,須要NAS來控制整個過程。

能夠用來統計用戶上網時間,以及流量數據等。

  • 計費開始發送 Accounting-Request 請求, 開始一個session。分配一個session-id

  • 計費請求中狀態字段 Acct-Status-Type 為 Start, Interim-Update, Stop 來操作session的生命周期

問題

配置多個數據庫

參考freeradius-checking-account-on-multiple

  • 首先要編輯 數據庫配置文件 sql.conf 添加一個sql配置塊。 sql dbname {} dbname相似別名,配置項照着原來的配置寫就好了

  • 然后把 site-enable/default 原來的配置項sql 凝視掉 添加 dbname,就會使用 dbname中配置的數據庫了

學習資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM