阅读量:0
CentOS7 搭建Radius认证服务器
一. 概述
本手册是实现如下功能:CentOS7上部署 freeradius 服务、radius 简单使用、堡垒机实现radius用户认证。
二. CentOS7 环境准备
1. 设置网络
# 设置网络,使用的NetworkManager的nmtui自动分配的网络,这里不详细说明了,配好网络的可以跳过 # nmtui # 关闭防火墙、selinux systemctl stop firewalld systemctl disable firewalld sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config setenforce 0
2. 安装基础工具
# 安装数据库、vim 等应用和工具 yum groupinstall "Development tools" -y yum install telnet net-tools -y yum install httpd mariadb-server -y yum install php php-mysql php-gd php-ldap php-odbc -y yum install php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap -y yum install vim -y yum install lsof -y
三. 安装 FreeRadius
安装 freeradius 并启动 mariadb、http
1. 安装 freeradius
yum install freeradius freeradius-mysql freeradius-utils -y
2. 启动 mariadb、http 服务
# systemctl start mariadb systemctl restart mariadb systemctl restart httpd
四. MySQL 数据库配置
1. 对 MySQL 数据库进行初始化
# Y Y N Y Y / Y Y N N Y mysql_secure_installation
2. 创建 radius 数据库并设置密码
mysql -uroot -p create database radius; grant all privileges on radius.* to radius@localhost identified by 'PASSWORD'; use radius; source /etc/raddb/mods-config/sql/main/mysql/schema.sql; quit;
3. 重启数据库- dailordius
systemctl restart mariadb ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/ chgrp -h radiusd /etc/raddb/mods-enabled/sql
4. 修改 freeradius 配置文件
4.1 修改radiusd.conf
vim /etc/raddb/radiusd.conf # 将下面三项内容修改为 yes auth = no auth_badpass = no auth_goodpass = no # 修改为 auth = yes auth_badpass = yes auth_goodpass = yes
4.2 修改default
vim /etc/raddb/sites-available/default 1)将 -sql 修改为 sql 2)查找到 session { 中内容 去掉 sql 前面的注释
4.3 修改sql
vim /etc/raddb/mods-available/sql 1)将 driver = "rlm_sql_null" 修改为 driver = "rlm_sql_mysql" (2)将 dialect = "sqlite" # server = "localhost" # port = 3306 # login = "radius" # password = "radpass" 修改为 dialect = "mysql" server = "localhost" port = 3306 login = "radius" password = "passwd-radius" (3)将 # read_clients = yes 修改为 read_clients = yes
5. debug 调试
radiusd -X
出现以下情况表示正常:
Listening on auth address * port 1812 bound to server default Listening on acct address * port 1813 bound to server default Listening on auth address :: port 1812 bound to server default Listening on acct address :: port 1813 bound to server default Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel Listening on proxy address * port 55876 Listening on proxy address :: port 44691 Ready to process requests
6. 启动 radius
systemctl restart radiusd # 可能会出现启动失败地方情况,原因是端口被自己占用,以下方法解决 # lsof -i :1812 # kill 加上端口进程 ID # systemctl start radiusd
五. 配置 daloradius
1. 上传文件解压移动
tar zxvf daloradius-0.9-9.tar.gz mv daloradius-0.9-9 /var/www/html/daloradius chown -R apache:apache /var/www/html/daloradius/ chmod 664 /var/www/html/daloradius/library/daloradius.conf.php cd /var/www/html/daloradius/
2. 导入数据库
mysql -u radius -p radius < contrib/db/fr2-mysql-daloradius-and-freeradius.sql 输入密码:PASSWORD mysql -u radius -p radius < contrib/db/mysql-daloradius.sql 输入密码:PASSWORD
3. 修改 daloradis 数据库连接文件
vim /var/www/html/daloradius/library/daloradius.conf.php 将 $configValues['FREERADIUS_VERSION'] = '2'; $configValues['CONFIG_DB_USER'] = 'root'; $configValues['CONFIG_DB_PASS'] = ''; 修改为: $configValues['FREERADIUS_VERSION'] = '2'; $configValues['CONFIG_DB_USER'] = 'radius'; $configValues['CONFIG_DB_PASS'] = 'passwd-radius'; # 注意:如果版本修改为3的话,将不显示连接日志
4. 安装 php-pear-DB
# 说明:Centos 7 默认没有 php-pear-DB 安装包,否则无法进入 daloradius 为空白 yum -y install epel-release yum -y install php-pear-DB
5. 重启服务
systemctl restart mariadb.service systemctl restart radiusd.service systemctl restart httpd
6. 配置日志查询
chmod 644 /var/log/messages chmod 755 /var/log/radius/ chmod 644 /var/log/radius/radius.log touch /tmp/daloradius.log chmod 644 /tmp/daloradius.log chown -R apache:apache /tmp/daloradius.log
7. 访问 daloradius
http://IP/daloradius 访问 用户名:administrator 密码:radius
六. 使用
Daloradius 配置用户及 NAS
1. 增加 vpn 账号及密码
2. 增加 nas 信息
NAS IP 0.0.0.0/0 NAS-Secert:testing123 NAS Type:other NAS Shortname :radius-network 其中0.0.0.0/0 表示任意 IP 都可以连接到 radius testing123 设置连接 radius 的共享密钥
#上面 nas 配置完成需要重启 radiusd 才能生效 systemctl restart radiusd
3. 测试账号连通性
测试之前添加一个用户
radtest [用户] [密码] [访问的 ip] [端口] [密钥] radtest jack 1234567890 127.0.0.1 1812 testing123
出现下面显示,代表连接成功:
Sent Access-Request Id 63 from 0.0.0.0:38938 to 127.0.0.1:1812 length 74 User-Name = "jack" User-Password = "1234567890" NAS-IP-Address = 127.0.0.1 NAS-Port = 1812 Message-Authenticator = 0x00 Cleartext-Password = "1234567890" Received Access-Accept Id 63 from 127.0.0.1:1812 to 0.0.0.0:0 length 20
七. Radius 应用
1. radius 在尚思堡垒机中可以实现哪些功能
- AAA 服务 可提供认证、授权、计费等功能
- 统一认证 对于工作人员的统一认证管理
- 双因素认证 使用radius和OTP认证方式实现口令+动态密码的方式实现双因素认证
以上就是本次分享的内容,有错误的地方欢迎指出