以前沒有接觸過freeradius這個(gè)軟件,不知道這個(gè)軟件是干什么的,能做什么(其實(shí)現(xiàn)在也不怎么清楚),朋友是搞寬帶的,他的計(jì)費(fèi)系統(tǒng)之前放在阿里云,現(xiàn)在要遷移到騰訊云,系統(tǒng)中安裝了這個(gè)軟件,在部署這個(gè)軟件時(shí),遇到了很多的問題,記錄一下。
安裝
安裝很簡單,如下一步一步操作即可。
$ wget -c ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.2.10.tar.gz # 獲取
$ tar zxf freeradius-server-2.2.10.tar.gz # 解壓
$ cd freeradius-server-2.2.10
$ ./configure # 配置
$ make && make install # 編譯并安裝
配置并啟動(dòng)
我的方法簡單粗暴,直接拷貝原阿里云下的配置文件
$ scp -r root@121.*.*.*:/LSM/etc/raddb/ /usr/local/etc/
$ /usr/local/sbin/radiusd -d /usr/local/etc/raddb
相關(guān)命令
$ netstat -lanp | grep 1812 #查看指定端口
$ ps aux | grep radius # 查看指定進(jìn)程
$ echo $? # 查看上一步執(zhí)行的結(jié)果
問題:
- 報(bào)錯(cuò):"Error: Failed binding to /var/run/radiusd/radiusd.sock: No such file or directory"
解決:這個(gè)問題是因?yàn)?"/var/run/" 路徑下沒有radiusd這個(gè)目錄,創(chuàng)建一個(gè)即可解決 - 報(bào)錯(cuò):
"Error: Could not link driver rlm_sql_mysql: rlm_sql_mysql.so: cannot open shared object file: No such file or directory
Error: Make sure it (and all its dependent libraries!) are in the search path of your system's ld.
Error: /usr/local/etc/raddb/sql.conf[1]: Instantiation failed for module "sql"
Error: /usr/local/etc/raddb/sites-enabled/default[177]: Failed to find "sql" in the "modules" section.
Error: /usr/local/etc/raddb/sites-enabled/default[69]: Errors parsing authorize section.
Error: Failed to load virtual server <default>"
解決:這個(gè)問題是MySQL驅(qū)動(dòng)問題,可以先安裝驅(qū)動(dòng),具體如下:
$ yum install -y mysql-devel /freeradius-server-2.2.10/src/modules/rlm_sql/drivers/rlm_sql_mysql
$ cd ./src/modules/rlm_sql/drivers/rlm_sql_mysql # 在源碼包下
$ ./configure --with-mysql-dir=/usr/share/mysql/ --with-mysql-lib-dir=/usr/lib/mysql/ # 配置
$ make && make install # 編譯安裝,此時(shí)驅(qū)動(dòng)被安裝到`/usr/local/lib`
$ cp -a /usr/local/lib/rlm_sql_mysql* /usr/lib # 須把這些驅(qū)動(dòng)copy到/usr/lib目錄