歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 【freeradius2.x】 安裝和學習

【freeradius2.x】 安裝和學習

日期:2017/3/1 12:17:34   编辑:關於Linux

虛擬機中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的模式,可以設置密碼加密

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個常用的認證協議,這三種協議都需要有用戶名和密碼,算是文本協議,所以還挺容易觀察和測試

PAP

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

NAS會使用 用戶名和加密之後的密碼 和Radius服務器交互

密碼明文存儲

測試, 用戶信息在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 的升級版本

增加握手

密碼明文存儲 密碼交互使用密文

MS-CHAP

微軟版本的 CHAP 協議

EAP 拓展協議

用戶存儲

頭兩個種方式都不推薦

文件方式 使用配置文件 users 文件來存儲用戶和密碼

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中配置的數據庫了

學習資料

官方文檔

network radius

FreeRadius Beginner’s Guide

Copyright © Linux教程網 All Rights Reserved