본문 바로가기

네트워크,보안

RADIUS 서버 및 DALORADIUS 를 우분투에 설치하기

레이디어스 서버는 네트워크에서 통신 요청하는 인증을 승인해주는 역할을 한다.

이걸 응용해서 캡티브 포탈(호텔/라운지 인터넷) 을 구현이 가능하다.

 

이번에는 그 중 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

 

 

출처 및 참고 사이트

techexpert.tips/ko/freeradius-ko/ubuntu-linux%EC%97%90-mysql-%ED%86%B5%ED%95%A9%EC%9C%BC%EB%A1%9C-freeradius-%EC%84%A4%EC%B9%98/

 

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