linux下的freeradius(802.1x)伺服器搭建總結
1.下載壓縮包
https://www.samba.org/ftp/talloc/talloc-2.17.tar.gz
下載的壓縮包的名字為: talloc-2.1.7.tar.gz 和freeradius-server-3.0.15.tar.gz;
2.安裝軟體
先安裝talloc-2.1.7.tar.gz再安裝freeradius-server-3.0.17.tar.gz
安裝步驟兩個都一樣,先解壓,解壓後會有兩個各自的資料夾。
到目錄talloc-2.1.7下
./config;
make;
make install;
到目錄freeradius-server-3.0.17下
./configure;
make;
make install;
在./config的時候會報一個error:configure: error: failed linking to libcrypto. Use --with-openssl-lib-dir=<path>, or --with-openssl=no (builds without OpenSSL。
這個錯誤的解決辦法是:執行不使用./config而是使用./configure --with-openssl=no。
在make install過程中可能會報一些failed的錯誤,這些錯誤百度就可以解決。
3.新增使用者
cd /usr/local/etc/raddb/
vim users
在開啟檔案後,在檔案的開始位置新增內容如下:
admin Cleartext-Password := "123456"
新增的這段內容的目的是新增一個新的使用者,usr name = admin,password = 123456.
4.新增key
cd /usr/local/etc/raddb/
vim clients.conf
在開啟檔案後找到下面這段內容:
client localhost_ipv6{
ipv6addr =::1
secret =testing123
}
在這段內容上面新增如下內容:
client 10.1.0.0/18{
secret = keypassword
shortname = shortname
}
新增的這段內容中的10.1.0.0/18是交換機使用的網段,用來也可以說是此時linux系統的本機ip所在的網段。
secret的值則是和交換機相關的在交換機端需要配置的radius server 的一個key值。
5.關閉防火牆
關閉linux的防火牆,不然伺服器會報錯。
6.執行和測試伺服器
radiusd -X
這裡的X為大寫,有時候在啟動過程中會報端口占用的錯誤,直接kill掉程序,重新radiusd -X就可以
啟動伺服器後,再開啟另一個終端進行操作,在另一個終端下輸入命令:
radtest admin 123456 10.1.0.122 0 keypassword
命令是用來測試伺服器的程式是否正常的命令中admin和123456是賬號密碼。
10.1.0.122是在網段10.1.0.0的本地ip地址,注意:0不能丟掉,keypassword是clients.conf中的secret。
假如返回值為:Access-Accept則伺服器執行正常可以正常使用,如果不是則伺服器有問題。
問題1:Dropping packet without response because of error: Received packet from 10.1.0.122 with invalid Message-Authenticator! (Shared secret is incorrect)
原因:這個問題的原因在於測試命令中的keypassword這邊,如果這邊和前面的網段不對應的話,會報這個錯,在交換機的配置中如果交換機的配置key不是keypassword(即和命令中的 keypassword值不相等)的話也會出現上述錯誤。
總的來說這個問題的原因就是與keypassword相關。
驗證伺服器問題的步驟:
1.檢查虛擬機器是否ping的通本地ip,如果不通檢查自己ip配置,檢查橋接方式,檢查虛擬機器網絡卡。
2.檢查配置檔案user,clients.conf。