CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交換機連接,實現,上網認證和記賬功能


什么是RADIUS服務:

RADIUS:(Remote Authentication Dial In User Service)中文名為遠程用戶撥號認證服務,簡稱RADIUS,是目前應用最廣泛的AAA協議(認證、授權和計費)。

RADIUS是一種C/S結構的協議,它的客戶端最初就是NAS(Net Access Server)服務器,任何運行RADIUS客戶端軟件的計算機都可以成為RADIUS的客戶端。RADIUS協議認證機制靈活,可以采用PAP、CHAP或者Unix登錄認證等多種方式。RADIUS是一種可擴展的協議,它進行的全部工作都是基於Attribute-Length-Value的向量進行的。RADIUS也支持廠商擴充廠家專有屬性。
 
由於RADIUS協議簡單明確,可擴充,因此得到了廣泛應用,包括普通電話上網、ADSL上網、小區寬帶上網、IP電話、VPDN(Virtual Private Dialup Networks,基於撥號用戶的虛擬專用撥號網業務)、移動電話預付費等業務。IEEE提出了802.1x標准,這是一種基於端口的標准,用於對無線網絡的接入認證,在認證時也采用RADIUS協議。
 
常見的AAA組網示意如下圖所示,其中RADIUS應用在AAA服務器上對用戶進行認證、授權和計費服務。
圖中Device(例如交換機)向遠程接入用戶提供接入及與RADIUS服務器交互的服務。RADIUS服務器上則存儲用戶的身份信息、授權信息以及訪問記錄,對用戶進行認證、授權和計費服務。

認證過程

(1)客戶端向接入設備發送一個EAPoL-Start報文,開始802.1x認證接入;

(2)接入設備向客戶端發送EAP-Request/Identity報文,要求客戶端將用戶名送上來;

(3)客戶端回應一個EAP-Response/Identity給接入設備的請求,其中包括用戶名;

(4)接入設備將EAP-Response/Identity報文封裝到RADIUS Access-Request報文中,發送給認證服務器;

(5)認證服務器產生一個Challenge,通過接入設備將RADIUS Access-Challenge報文發送給客戶端,其中包含有EAP-Request/MD5-Challenge;

(6)接入設備通過EAP-Request/MD5-Challenge發送給客戶端,要求客戶端進行認證;

(7)客戶端收到EAP-Request/MD5-Challenge報文后,將密碼和Challenge做MD5算法后的Challenged-Pass-word,在EAP-Response/MD5-Challenge回應給接入設備;

(8)接入設備將Challenge,Challenged Password和用戶名一起送到RADIUS服務器,由RADIUS服務器進行認證;

(9)RADIUS服務器根據用戶信息,做MD5算法,判斷用戶是否合法,然后回應認證成功/失敗報文到接入設備。如果成功,攜帶協商參數,以及用戶的相關業務屬性給用戶授權。如果認證失敗,則流程到此結束;

(10)如果認證通過,用戶通過標准的DHCP協議 (可以是DHCP Relay) ,通過接入設備獲取規划的IP地址;

(11)如果認證通過,接入設備發起計費開始請求給RADIUS用戶認證服務器;

(12)RADIUS用戶認證服務器回應計費開始請求報文,用戶上線完畢。

freeradius是GNU/GPL(通用公共許可證)的原則下,開發的高性能開源radius服務器。常見的radius服務器種類不多,比較強大的當屬開源的freeradius,世界上大部分的radius服務器都是基於freeradius開發而來的。

freeradius可以對支持radius協議的網絡設備進行賬戶認證、授權和記賬管理,常見的開源路由器操作系統:如Openwrt,DD-wrt等,都支持radius協議,常見的電信運營商的寬帶賬戶,上網賬戶管理,記賬,也都是使用的radius服務器進行鑒權記賬的。
 
RADIUS服務器和NAS服務器通過UDP協議進行通信,RADIUS服務器的1812端口負責認證,1813端口負責計費工作。采用UDP的基本考慮是因為NAS和RADIUS服務器大多在同一個局域網中,使用UDP更加快捷方便,而且UDP是無連接的,會減輕RADIUS的壓力,也更安全。

 

搭建環境:

操作系統:CentOS 6.5, Win7/10

其他設備:TP-LINK路由器、H3C交換機

FreeRADIUS官網:http://freeradius.org/

daloRADIUS Web管理頁面下載地址:https://sourceforge.net/projects/daloradius/

CentOS7下搭建LAMP+FreeRadius+Daloradius Web管理:https://www.cnblogs.com/opsprobe/p/9769555.html

一、LAMP環境安裝:

  1. yum -y install httpd httpd-devel
  2. yum -y install mysql mysql-server mysql-devel
  3. yum -y install php php-devel php-mysql php-common php-gd php-mbstring php-mcrypt php-imap php-odbc php-pear php-xml php-xmlrpc
  4. /etc/init.d/httpd start        # 啟動http服務
  5. /etc/init.d/mysqld start     # 啟動mysql服務
  6. chkconfig httpd on          # 把http服務加入開機啟動
  7. chkconfig mysqld on       # 把mysql服務加入開機啟動
  8. mysqladmin -u root password '數據庫的密碼'     # 設置mysql數據庫的密碼

為防止缺少相關的依賴關系,安裝以下軟件包:

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel

二、然后可以通過yum命令快速安裝freeradius,就是版本略低一點,命令為:

yum install -y freeradius freeradius-mysql freeradius-utils 

三、修改啟用測試賬戶:

找到 radius 的用戶信息配置參數文件(注:將來換mysql數據庫存用戶賬戶的話這個文件就不用了,測試完后修改回原來的樣子),yum自動安裝的在/etc/raddb路徑里面。

vi /etc/raddb/users

然后找到下面這段信息(從76行開始)

  1. #steve  Cleartext-Password := "testing"  
  2. #       Service-Type = Framed-User,  
  3. #       Framed-Protocol = PPP,  
  4. #       Framed-IP-Address = 172.16.3.33,  
  5. #       Framed-IP-Netmask = 255.255.255.0,  
  6. #       Framed-Routing = Broadcast-Listen,  
  7. #       Framed-Filter-Id = "std.ppp",  
  8. #       Framed-MTU = 1500,  
  9. #       Framed-Compression = Van-Jacobsen-TCP-IP

然后把這段文字前面的 # 注釋全部去掉后保存文件

現在可以通過radiusd -X來做首次啟動,注意首次啟動必須是root賬戶才行,還有注意那個X是大寫的。

如果看到下面的提示應該就是啟動成功了:

  1. Listening on authentication address * port 1812  
  2. Listening on accounting address * port 1813  
  3. Listening on command file /var/run/radiusd/radiusd.sock  
  4. Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel  
  5. Listening on proxy address * port 1814  
  6. Ready to process requests.

然后另外打開一個終端輸入 radtest steve testing localhost 1812 testing123 進行測試,當出現 rad_recv: Access-Accept  字樣說明freeradius已經安裝成功。

 注意:

若測試時出現以下問題:

radclient:: Failed to find IP address for centos6

radclient: Nothing to send.

解決方法:

進入vi /etc/hosts 配置文件

在最后添加:127.0.0.1  servername(系統管理員的賬戶名)即可。

還需要特別注意,添加的這個127.0.0.1  servername(系統管理員的賬戶名)信息在測試成功后,一定要記得注釋或者刪除掉,否則在接入設備(交換機或者路由器)后會出現錯誤。

測試無問題以后記得再次進入vi /etc/raddb/users,把這個測試賬戶剛打開的相關的配置再全部注釋掉,保存退出,然后用如下命令關閉 radiusd 的調試進程

killall -9 radiusd      # 殺死 radius 服務進程

chkconfig  radiusd on     # 把radius服務加入開機啟動

service radiusd start      # 啟動radius服務

現在可以通過新打開一個終端窗口,然后執行 cat /var/log/radius/radius.log 去查看啟動日志看有沒有錯誤。

四、以下開始配置freeradius了:

mv /etc/raddb/clients.conf /etc/raddb/clients.conf.backup    # 備份/etc/raddb/clients.conf文件

grep -v "#" /etc/raddb/clients.conf.backup > /etc/raddb/clients.conf     # 過濾出不帶注釋符號 # 的信息行

vi /etc/raddb/clients.conf

內容配置為:

  1. client localhost {
  2.     ipaddr = 127.0.0.1
  3.     secret = testing123
  4.     require_message_authenticator = no
  5. }

需要注意,上面配置的127.0.0.1主要用於測試,將來真正的客戶端要按照下面的信息進行補充:

將來你真正的 raidus 客戶端,如路由器、交換機等需要在這里配置ip信息,例如:

  1. client x.x.x.x {        # 這里的 x.x.x.x 就是交換機或者路由器等設備的IP地址
  2.   ipaddr = x.x.x.x    # 交換機或者路由器等設備的IP地址
  3.   secret = xxxxxxxxxx    # 自己定義的交換機或者路由器等設備和 radius 服務器的連接密碼
  4.   # require_message_authenticator = no    # 這個可以注釋掉,不用管
  5.   # shortname = localhost   # 這個也可以注釋掉,不用管
  6. }

然后用如下命令:

mv /etc/raddb/sql/mysql/admin.sql /etc/raddb/sql/mysql/admin.sql.backup    # 備份/etc/raddb/sql/mysql/admin.sql文件

grep -v "#" /etc/raddb/sql/mysql/admin.sql.backup > /etc/raddb/sql/mysql/admin.sql    # 過濾出不帶注釋符號 # 的信息行

vi /etc/raddb/sql/mysql/admin.sql

內容改成下面這個樣子的:

  1. CREATE USER 'radius'@'localhost';
  2. SET PASSWORD FOR 'radius'@'localhost' = PASSWORD('radpass');
  3. GRANT SELECT ON radius.* TO 'radius'@'localhost';
  4. GRANT ALL on radius.radacct TO 'radius'@'localhost';
  5. GRANT ALL on radius.radpostauth TO 'radius'@'localhost';

以上信息是指 “ 數據庫為radius,密碼為radpass ”如果要自己設置,設置完成后還要修改 /etc/raddb/sql.conf 這個配置文件把賬號和密碼改為自己設置的。

保存退出。

mysql -u root -p  回車后輸入mysql的root管理員帳號密碼,然后

create database radius;     # 創建radius數據庫

grant all on radius.* to radius@"localhost" identified by "radpass";     # GRANT 權限 ON 數據庫.* TO 用戶名@主機名IDENTIFIED BY "密碼";   對某個特定數據庫中的所有表單給予授權和創建數據庫管理賬戶

exit    # 退出數據庫

再次 mysql -u root -p 回車,輸入密碼后

然后執行source /etc/raddb/sql/mysql/admin.sql

然后 use radius; 回車,打開radius數據庫

導入下列 sql 表的信息

source /etc/raddb/sql/mysql/schema.sql   回車,

source /etc/raddb/sql/mysql/nas.sql   回車,

source /etc/raddb/sql/mysql/ippool.sql   回車,

source /etc/raddb/sql/mysql/wimax.sql   回車,

source /etc/raddb/sql/mysql/cui.sql   回車,

flush privileges;  回車,     # mysql 新設置用戶或更改密碼后需用flush privileges刷新 mysql 的系統權限相關表,否則會出現拒絕訪問,還有一種方法,就是重新啟動mysql服務器,來使新設置生效。

 

導入完成后,可以用命令查看導入的數據表的信息

use radius;        # 打開radius數據庫

show tables;      # 顯示radius數據庫里的所有表

 

可以看到如下的表結構

+------------------+
| Tables_in_radius |
+------------------+
| cui |
| nas |
| radacct |
| radcheck |
| radgroupcheck |
| radgroupreply |
| radippool |
| radpostauth |
| radreply |
| radusergroup |
| wimax |
+------------------+

 

MySQL中表結構的定義

針對FreeRadius2,數據表的設計和結構定義在下面的文件中:

/etc/raddb/sql/mysql/schema.sql     # 主數據庫定義,7個表,包括

radcheck   # 用戶檢查信息表

radreply    # 用戶回復信息表

radgroupcheck   # 用戶組檢查信息表

radgroupreply    # 用戶組回復信息表

radusergroup     # 用戶和組關系表

radacct     # 計費情況表

radpostauth    # 認證后處理信息,可以包括認證請求成功和拒絕的記錄。

 

/etc/raddb/sql/mysql/nas.sql        # 網絡設備定義,只有一個表:

nas   # 網絡設備表

 

下面的表用於一些擴展功能,可以按需導入。

ippool.sql     # ip池

wimax.sql    # wimax設備支持

cui.sql       # cui 支持

 

exit      # 退出 mysql 數據庫。

 

然后進入 vi /etc/raddb/radiusd.conf 配置文件,配置freeradius支持sql:

1、vi /etc/raddb/radiusd.conf

找到 module (694行)那塊以后去掉 $INCLUDE sql.conf(735行)這句話前面的 # 和 $INCLUDE sql/mysql/counter.conf(747行)前面的 #

保存文件退出vi編輯器

注意:

一定要取消這一行的注釋:$INCLUDE sql.conf

否則在 radiusd -X 總會報錯 Failed to load module "sql". (加載模塊失敗)
同理,要是在debug(調試)時出現 load module 的任何相關錯誤,都要取消 radiusd.conf 中的那一行 module 的注釋,否則不會加載。

2、然后打開 vi /etc/raddb/sql.conf 配置文件修改與 mysql 數據庫連接的配置

先找到 readclients = yes(108行)這一行,去掉前面的 # 注釋

然后找到以下信息( 36-39行 )

server = "localhost"

port = 3306        # mysql數據庫的端口號

login = "radius"       # mysql數據庫的登錄賬戶

password = "radpass"      # mysql數據庫的radius賬戶的登錄密碼

radius_db = "radius"( 42行 ) # radius為數據庫名

確保以上信息都正確后保存退出 vi 編輯器。

3、然后打開 vi /etc/raddb/sites-enabled/default 配置文件修改認證的方式

分別找到 authorize(69行),accounting(378行),session(449行)這幾個配置,將里面的sql全部啟用就行了,也就是把 sql 前面的 # 去掉就OK了。

1)authorize(授權) { 69—223行 }

在" # Read the 'users' file "下面的 files 注釋掉(170 行);

下面的 sql 取消注釋(177 行)。

這里需要注意一下156行的信息  eap,意思是radius服務器和設備間是采用eap的認證方式。

2)accounting (賬單) { 378—443行 }

在" # See "Accounting queries" in sql.conf "下面的 sql 取消注釋(406 行);

3)session (對話)  { 449—455行 }

在" # See "Simultaneous Use Checking Queries" in sql.conf "下面的 sql 取消注釋(454行)

4)preacct     (333行)

注釋掉files     (372行)

5)post-auth  (461行)

取消sql的注釋(475行)

6)pre-proxy  (590行)

注釋掉files     (595行)

4、還有  vi /etc/raddb/sites-enabled/inner-tunnel

在" # Read the 'users' file "下面的 files 注釋掉(124 行);

在" #  See "Authorization Queries" in sql.conf "下面的 sql 取消注釋(132行)

到了這就終於配置完了,下面就是插入一條數據到 mysql 數據庫中真實的測試一下了:

mysql -u root -p

use radius

insert into radcheck (UserName, Attribute, Value) VALUES ('demo','Password', 'demopwd');    # 插入賬戶和密碼

insert into radusergroup (username,groupname) values ('demo','user');    # 將用戶加入組中

select * from radcheck;     # 查詢用戶

出現以下結果則數據插入正確

exit     # 退出數據庫

service mysqld restart      # 重啟mysql數據庫

service radiusd stop        # 用 radiusd -X 做測試時需要把 radius 服務先停止

radiusd -X         # 開始調試

另外開一個終端運行一下命令

radtest demo demopwd localhost 1812 testing123       # 用數據庫里剛插入的賬戶和密碼進行測試

成功的樣子應該會出現 rad_recv: Access-Accept 字樣。

這里特別需要注意: 在測試的時候需要保證 /etc/raddb/clients.conf 文件內容配置為以下的樣子:

    1. client localhost {
    2.     ipaddr = 127.0.0.1
    3.     secret = testing123
    4.     require_message_authenticator = no
    5. }

否則測試的時候會顯示 radclient: no response from server for ID 96 socket 3  類似這樣的提示。

可以再執行 cat /var/log/radius/radius.log 去查看啟動日志看有沒有錯誤。

殺死 radius 服務進程,啟動 radius 服務,接下來配置路由器,進行無線連接。

killall -9 radiusd

service radiusd start

iptables -F      # 為防止接下來的操作被 iptables 防火牆干擾,這里先清空防火牆規則鏈

五、配置路由器並進行無線連接:

注:192.168.2.1 是路由器 LAN 端 IP,這里我是直接用網線把電腦和路由器直接連起來的,如下圖,在路由器里的設置,需要加入的 radius 服務器的IP地址和連接密碼(/etc/raddb/clients.conf),否則將無法訪問 radius 服務器,記得保存。

還有從下圖可以看出TP-LINK的這款路由器只支持 radius 服務的認證功能。

之后就可以用筆記本電腦無線連接路由器(路由器的SSID 為 TP-LINK-300M),如下圖:

1、下面是用Win10系統進行連接的,如果電腦上有以前保存要連接的路由器的密碼,請務必刪除,Win10在要連接的路由器SSID上右擊,點擊忘記就可以了,然后點擊連接,彈出的窗口里輸入賬戶demo,密碼demopwd,點擊確定,如果正常就可以上網了。

 2、下面是用Win7系統進行連接的,如果電腦上有以前保存要連接的路由器的密碼,也請務必刪除,Win7需要打開控制面板里的網絡和共享中心,然后點擊管理無線網絡(如下圖)找到路由器的SSID刪除即可,接下來連接路由器在彈出的窗口里輸入賬戶demo,密碼demopwd,點擊確定,如果正常就可以上網了。

 

六、安裝web后台管理頁面daloradius:

有些 PHP 的必須包是不在默認標准庫里的,還需要安裝 PHP 擴展 pear(PHP擴展與應用庫)。

wget http://download.pear.php.net/package/DB-1.7.14RC2.tgz    #下載軟件包

安裝一個pear-DB的包:

pear install DB-1.7.14RC2.tgz   

cd /var/www/html    # 進入web數據主目錄 /var/www/html

從sf.net(https://sourceforge.net/projects/daloradius/?source=typ_redirect)下載最新版的daloraidus

wget https://nchc.dl.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz

然后

tar -zxvf daloradius-0.9-9.tar.gz     # 解壓daloradius-0.9-9.tar.gz

mv daloradius-0.9-9 daloradius     # 將文件daloraidus-0.9-9重命名為daloradius

 

解壓文件 daloradius 中有 INSTALL 文件是對其的信息和安裝配置的說明,可以按照其說明去做。
要注意的是與freeradius配合安裝,導入的是不同的數據包。

 

配置時修改數據庫連接信息的文件是 /var/www/html/daloradius/library/daloradius.conf.php,填寫正確的數據庫名稱、用戶名和密碼。當前版本的 INSTALL 文件中所寫配置文件為daloradius.conf,大概是由於沒有及時更新,是不正確的。

chown apache:apache -R /var/www/html/daloradius/      # 將 /var/www/html/ 文件夾極其下面的所有文件設置為apache組和apache用戶所擁有

chmod 644 /var/www/html/daloradius/library/daloradius.conf.php     # 將 daloraidus.conf.php 文件的權限設置為rw-r--r--

cd /var/www/html/daloradius/contrib/db/       # 進入 /var/www/html/daloradius/contrib/db/ 目錄

mysql -u root -p radius < mysql-daloradius.sql      # 將 mysql-daloradius.sql 導入到mysql里radius數據庫中

mysql -u root -p radius < fr2-mysql-daloradius-and-freeradius.sql     # 將 fr2-mysql-daloradius-and-freeradius.sql 導入到mysql里radius數據庫中

vi /var/www/html/daloradius/library/daloradius.conf.php     # 修改daloradius.conf.php 文件,將以下涉及到的內容更改,其他的別動

(28-33行)

$configValues['CONFIG_DB_ENGINE'] = 'mysql';

$configValues['CONFIG_DB_HOST'] = 'localhost';

$configValues['CONFIG_DB_PORT'] = '3306';          # 連接mysql數據庫的端口

$configValues['CONFIG_DB_USER'] = 'root';            # 連接mysql數據庫的賬戶

$configValues['CONFIG_DB_PASS'] = ' ';                 # 連接mysql數據庫賬號的密碼

$configValues['CONFIG_DB_NAME'] = 'radius';        # 連接mysql的radius數據庫

 

下面還有幾個 daloradius 的 bug,默認配置中有幾個文件路徑和我們導入的不一樣,把它改過來:

$configValues['CONFIG_FILE_RADIUS_PROXY'] = '/etc/raddb/proxy.conf';(68行)

$configValues['CONFIG_PATH_DALO_VARIABLE_DATA'] = '/var/www/html/daloradius/var';(70行)

$configValues['CONFIG_MAINT_TEST_USER_RADIUSSECRET'] = 'testing123';(88行)  # 注意這條,要和 /etc/raddb/clients.conf 文件設置的secret =xxxxxxxxxx 值一樣。

配置完成后,保存退出

touch /tmp/daloradius.log    # 建立daloraidus的日志文件

chown apache.apache /tmp/daloradius.log    # 將其文件設置為apache組及apache用戶擁有

service httpd restart    # 重啟http服務

 

接下來是添加防火牆規則,開放防火牆80端口,1812是radius服務的認證授權端口,1813是計費端口

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 

/sbin/iptables -I INPUT -p tcp --dport 1812 -j ACCEPT

/sbin/iptables -I INPUT -p tcp --dport 1813 -j ACCEPT

/sbin/iptables -I INPUT -p udp --dport 1812 -j ACCEPT

/sbin/iptables -I INPUT -p udp --dport 1813 -j ACCEPT

 

查看端口是否開放

iptables -L -n | grep 181

/etc/rc.d/init.d/iptables save        # 保存配置 
/etc/rc.d/init.d/iptables restart      # 重啟服務

 

現在打開瀏覽器訪問 http://your ip address/daloradius 就可以看到daloradius了,默認登錄的用戶名和密碼分別為  username: administrator     password: radius。

 Config下可以對管理員進行增刪改,如下圖:

cat  /etc/httpd/logs/error_log       # 可以查看 http 服務的日志,看有沒有錯誤

 
下面是配置計費流量等
mysql -u root -p
use radius
  1. INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Auth-Type',':=','Local');  
  2. INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Service-Type',':=','Framed-User');  
  3. INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-IP-Address',':=','255.255.255.255');  
  4. INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-IP-Netmask',':=','255.255.255.0');  
  5. INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Acct-Interim-Interval',':=','600');     # acct-interim-interval是計算流量的間隔(600秒),意味着每隔10分鍾記錄當前流量。
  6. INSERT INTO radgroupcheck (groupname,attribute,op,VALUE) VALUES ('user','Simultaneous-Use',':=','1');     # 允許同時連接數目。

第七步,配置H3C交換機與radius服務器連接

在網絡設備上開啟802.1X認證、AAA認證和服務器RADIUS的配置,本文以H3C交換機為例。

1、設置交換機的IP地址:

[H3C] system-view   #開啟全局802.1x特性

#先設定交換機IP vlan 1打開端口 默認分配到vlan1

#交換機端口默認是vlan1,工作在access模式

[H3C] interface vlan-interface 1

[H3C-Vlan-interface1] ip add x.x.x.x x.x.x.x      # ip add 交換機的IP地址 交換機的子網掩碼

[H3C-Vlan-interface1] quit

 

第一步:H3C進入特權模式后,開啟802.1X認證協議和認證方式,命令如下:

dot1x

dot1x authentication-method eap   #采用eap認證方式

quit

百度百科關於802.1X認證協議和eap協議的說明:

802.1X認證協議:

(1)https://baike.baidu.com/item/802.1x/5635474?fr=aladdin

(2)https://baike.baidu.com/item/802.1x身份認證/7850855

eap協議:https://baike.baidu.com/item/EAP協議/5794582

 

Web界面顯示如下:

第二步:與認證服務器RADIUS的配置,命令如下:

radius scheme demo   # 創建radius方案demo並進入其視圖

primary authentication x.x.x.x (IP)   # 設置主認證radius服務器的IP

primary accounting x.x.x.x (IP)     # radius主計費服務器的IP

key authentication xxxxxxxxxx  (密碼)  # radius服務器認證密碼

key accounting xxxxxxxxxx  (密碼)   # radius服務器計費密碼

user-name-format without-domain    # 指示系統從用戶名中去除用戶域名后再將之傳給radius服務器

quit

 

Web界面顯示如下:

第三步:配置AAA認證,最好是每個認證都開啟,我在配置過程中沒有配置計費認證,結果導致認證總是失敗,命令如下:

domain system   # 創建域system並進入其視圖

  1. authentication lan-access radius-scheme demo   # 配置802.1x用戶使用radius方案demo進行認證、授權、計費。
  2. authorization lan-access radius-scheme demo
  3. accounting lan-access radius-scheme demo

access-limit disable    # 可設置該域最多可容納多少個用戶,這里不設置

state active  

idle-cut disable    # 可啟動閑置切斷功能並設置相關參數,這里不設置

self-service-url disable

quit

 

Web頁面顯示如下:

第四步:開啟端口的802.1X的認證,命令如下:

interface GigabitEthernet1/0/1    # 開啟指定端口GigabitEthernet1/0/1的802.1x特性

undo dot1x handshake     # 這個握手協議要關閉,避免windows認證一段時間后又會掉線,要求重連

dot1x port-method portbased     # 端口控制方式為Port Based

dot1x

 

Web界面顯示如下:

第五步:dis cu查看最終所有的配置,如下:

<H3C>dis cu

#

 version 5.20.99, Release 1111

#

 sysname H3C

#

 domain default enable system

#

 ipv6

#

 telnet server enable

#

 port-group-vlan 1

#

 dot1x

 dot1x authentication-method eap

#

 password-recovery enable

#

vlan 1

#

radius scheme demo

 primary authentication 192.168.1.239

 primary accounting 192.168.1.239

 key authentication cipher $c$3$buPUPkVkvu8c7rakR3BdQpKbL4c24LiQfJdCu8EM

 key accounting cipher $c$3$LdPEB85akrViDkqJTFsTAaSvl36Oc7nryXMFm56q

 user-name-format without-domain

#

domain system

 authentication lan-access radius-scheme demo

 authorization lan-access radius-scheme demo

 accounting lan-access radius-scheme demo

 access-limit disable

 state active

 idle-cut disable

 self-service-url disable

#

user-group system

 group-attribute allow-guest

#

local-user admin

 password cipher $c$3$EkhzOhFEh59+WPOOlD32QaWsr0DwDZyU

 authorization-attribute level 3

 service-type telnet

 service-type web

#

interface NULL0

#              

interface Vlan-interface1

 ip address 192.168.1.240 255.255.255.0

#

interface GigabitEthernet1/0/1

 dot1x guest-vlan 1

 undo dot1x handshake

 dot1x port-method portbased

 dot1x

#

interface GigabitEthernet1/0/2

#

interface GigabitEthernet1/0/3

#

interface GigabitEthernet1/0/4

#

interface GigabitEthernet1/0/5

#

interface GigabitEthernet1/0/6

。。。。。。

#

 undo info-center logfile enable

#

 load xml-configuration

#              

user-interface aux 0

user-interface vty 0 15

 authentication-mode scheme

#

return

 

H3C交換機恢復默認配置命令

<H3C>reset saved-configuration

The saved configuration file will be erased. Are you sure? [Y/N]:Y

注意:恢復完后需要重啟交換機才能生效

<H3C>reboot

 Start to check configuration with next startup configuration file, please wait.........DONE!

 This command will reboot the device. Current configuration will be lost, save current configuration? [Y/N]:N

 This command will reboot the device. Continue? [Y/N]:Y

 

到這所有的配置終於是完了,電腦上可以安裝銳捷的認證客戶端進行認證登錄。

第八步,daloradius中文版配置:

進入daloradius 文件目錄,修改config-lang.php,添加中文選項:

cd /var/www/html/daloradius

vi config-lang.php

 

<option value="zh"> Simplified Chinese </option>   (79行)

 

進入lang目錄,修改main.php,增加簡體中文文件:

cd lang/

vi main.php

  (32行)

case "zh":

            include (dirname(__FILE__)."/zh.php");

            break;

 

下載文件zh.php;

鏈接:https://pan.baidu.com/s/10RX80RMIQRMYkcEzicF7lw,密碼:z7wu

 

返回lang目錄,將下載的zh.php文件放入lang目錄,重啟radius服務;

cd /var/www/html/daloradius/lang

將下載的zh.php上傳至此目錄。

 

service radiusd restart    # 重啟radius服務

service httpd restart        # 重啟http服務

service mysqld restart     # 重啟mysql服務

 

設置為簡體中文 Config -> Language Settings ->Simplified Chinese

 

iptables -L    # 查看iptables防火牆規則鏈

保證80(HTTP超文本傳輸協議端口)、1812(認證授權端口)、1813(計費端口)端口的開放。

第九步,daloradius對freeradius服務的Web頁面管理展示:

1、服務器狀態:

2、在線用戶:

3、連接記錄:

4、用戶排行:

 


免責聲明!

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



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