레이디어스 서버는 네트워크에서 통신 요청하는 인증을 승인해주는 역할을 한다.
이걸 응용해서 캡티브 포탈(호텔/라운지 인터넷) 을 구현이 가능하다.
이번에는 그 중 RADIUS3 과 GUI를 설치하는 절차이다.
<대략적인 캡티브 포탈의 구조>
RADIUS 서버는 목적에 따라 외부/내부 원하는 곳에 둘 수 있다. 나는 외부에 놔도 상관없으므로 외부에 있는 것을 가정하고 놓을건데, 이 글에서는 그내용은 언급되지 않을거다. 어차피 포트포워딩/DDNS 글 보면 다 알수 있다.
RADIUS 는 일단 GUI가 없고 이를 위해 DALORADIUS 를 설치해야 GUI 를 볼수 있다.
먼저 FREERADIUS를 우분투에 설치한다.
RADIUS 가 돌기위해서는 APM 3종세트가 필요하다.
루트로 아파트를 이용해 적절히 설치를 진행한다.
#apt update
# apt -y upgrade
# apt -y install apache2
# apt-get install apache2 mariadb-server php libapache2-mod-php php-mail php-mail-mime php-mysql php-gd php-common php-pear php-db php-mbstring php-xml php-curl unzip wget -y
# apt install freeradius freeradius-mysql freeradius-utils
설치가 완료되면 Mysql 에 RADIUS 디비 테이블을 설정한다.
# mysql -u 사용자 -p 비번
CREATE DATABASE radius CHARACTER SET UTF8 COLLATE UTF8_BIN;
CREATE USER 'radius'@'%' IDENTIFIED BY 'kamisama123';
GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'%';
QUIT;
디비 테이블 설정하고 나서 사용할 mysql 애드온을 수정한다.
# nano /etc/freeradius/3.0/mods-enabled/sql
sql {
driver = "rlm_sql_mysql"
dialect = "mysql"
server = "localhost"
port = 3306
login = "radius"
password = "kamisama123"
radius_db = "radius"
acct_table1 = "radacct"
acct_table2 = "radacct"
postauth_table = "radpostauth"
authcheck_table = "radcheck"
groupcheck_table = "radgroupcheck"
authreply_table = "radreply"
groupreply_table = "radgroupreply"
usergroup_table = "radusergroup"
delete_stale_sessions = yes
pool {
start = ${thread[pool].start_servers}
min = ${thread[pool].min_spare_servers}
max = ${thread[pool].max_servers}
spare = ${thread[pool].max_spare_servers}
uses = 0
retry_delay = 30
lifetime = 0
idle_timeout = 60
}
read_clients = yes
client_table = "nas"
group_attribute = "SQL-Group"
...
기본 MYSQL 스키마를 임포트 시킨다 - 디비가 있어야 동작한다
# mysql -u사용자 -p비번 radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
그다음 sql 모듈을 사용하도록 "mods-enabled" 로 심링크를 걸어준다.
# ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
RADIUS 의 AAA 가 SQL 을 가리키도록 수정한다
# nano /etc/freeradius/sites-enabled/default
-sql 로 되어있는걸 sql 로 바꾼다
희한하게 여기는 "-" 가 주석이다
그룹 조정 해준다
#chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
#chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql
DALORadius 웹 페이지 설치
# mkdir /downloads/daloradius -p
# cd /downloads/daloradius
# wget https://github.com/lirantal/daloradius/archive/master.zip
# unzip master.zip
# mv daloradius-master /var/www/html/daloradius
MySQL 내부에서 Daloradius 데이터베이스 템플릿을 가져옵니다.
MySQL 내에서 데이터베이스 템플릿을 가져 오려면 다음 명령을 사용하십시오.
파일을 가져올 때마다 시스템에서 반경 SQL 사용자의 암호를 요청합니다.
# cd /var/www/html/daloradius/contrib/db/
# mysql -u radius -p radius < fr2-mysql-daloradius-and-freeradius.sql
# mysql -u radius -p radius < mysql-daloradius.sql
Radius MySQL 데이터베이스에 연결하도록 파일을 구성하십시오.
우리의 구성 이전에 daloradius.conf.php 파일이 있습니다.
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'kamisama123';
$configValues['CONFIG_DB_NAME'] = 'radius';
Daloradius 폴더에 올바른 파일 권한을 설정하십시오.
Apache 웹 서버를 다시 시작하십시오.
# chown www-data.www-data /var/www/html/daloradius/* -R
# service freeradius restart
# service apache2 restart
브라우저를 열고 웹 서버 plus / daloradius의 IP 주소를 입력하십시오.
이 예에서는 브라우저에 다음 URL이 입력되었습니다.
• http://IP/daloradius
Daloradius 웹 인터페이스가 제공되어야합니다.
로그인 화면에서 기본 사용자 이름과 기본 암호를 사용하십시오.
• 기본 사용자 이름 : admiinistrator
• 기본 암호 : radius
출처 및 참고 사이트
Ubuntu Linux에 MySQL 통합으로 FreeRadius 설치
우리의 튜토리얼은 DaloRadius를 사용하여 Ubuntu Linux에 MySQL을 통합 한 FreeRadius 설치를 수행하는 데 필요한 모든 단계를 알려줍니다.
techexpert.tips
computingforgeeks.com/how-to-install-freeradius-and-daloradius-on-ubuntu/
Install FreeRADIUS and Daloradius on Ubuntu 20.04/18.04/16.04 | ComputingForGeeks
This guide is to help you install FreeRADIUS and Daloradius on Ubuntu 20.04/18.04/16.04 LTS servers. Our recent guide on FreeRADIUS was for how to Install
computingforgeeks.com
wiki.freeradius.org/guide/SQL-HOWTO-for-freeradius-3.x-on-Debian-Ubuntu
guide/SQL HOWTO for freeradius 3.x on Debian Ubuntu
wiki.freeradius.org
'네트워크,보안' 카테고리의 다른 글
OPENWRT WIFI 인터페이스 Watchdog 예제 (0) | 2020.02.24 |
---|---|
OpenWrt TAP 셋팅 (0) | 2019.12.26 |
Openvpn -Monitor 사용법 및 튜닝 (0) | 2019.12.26 |
OpenVPN-TAP 우분투계열에서 자동으로 랜카드 올리기 (0) | 2019.12.24 |
OPENVPN 여러 인스턴스 돌릴때 몇 가지 셋팅 고정하기. (0) | 2019.10.24 |