虛擬機中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),自帶了一個本地測試clientusers
配置了用戶信息,針對某些用戶設置認證規則,僅僅能使用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。
安裝mysql插件
yum install freeradius2-mysql
創建數據庫。導入初始化輸入(依據文檔就好了)
編輯
radius.conf
中# $INCLUDE sql.conf
行的凝視編輯
sql.conf
中 msql 的認證信息編輯
sites-enabled/default
中authorize
部分 去掉 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中配置的數據庫了