웹사이트 검색

Ubuntu 18.04 LTS에 FreeRADIUS 및 daloRADIUS를 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • Ubuntu 20.04(Focal Fossa)
  • Ubuntu 18.04(Bionic Beaver)

이 페이지에서

  1. 요구 사항\n
  2. 시작하기\n
  3. LAMP 서버 설치
  4. FreeRADIUS용 데이터베이스 구성
  5. FreeRADIUS 설치
  6. daloRADIUS 설치
  7. daloRADIUS 웹 인터페이스 액세스

FreeRADIUS는 시스템에서 중앙 집중식 네트워크 인증을 제공하는 무료 오픈 소스 클라이언트/서버 프로토콜입니다. 서버 및 클라이언트, 개발 라이브러리 및 RADIUS 관련 유틸리티와 함께 제공되는 고성능 및 기능이 풍부한 RADIUS 서버입니다. RADIUS를 사용하면 사용자 프로필을 유지하고 중앙 서버에서 요금 청구를 위해 사용량을 추적할 수 있습니다. OpenLDAP, MySQL, Redis, Microsoft AD, Apache Cassandra, PostgreSQL 등을 포함한 다양한 데이터베이스에 대한 지원을 제공합니다.

daloRADIUS는 RADIUS 서버를 관리하기 위한 웹 기반 애플리케이션입니다. 핫스팟 및 ISP 배포를 관리하기 위한 고급 웹 기반 애플리케이션입니다. PHP 및 JavaScript로 작성되었으며 데이터베이스 백엔드로 MySQL, PostgreSQL, SQLite, MsSQL을 지원합니다. 액세스 제어 목록, 그래픽 보고, 청구 엔진, 그래픽 보고 및 회계, 사용자 생성, 삭제 및 편집, HotSpot 생성, 삭제 및 편집, NAS 생성, 삭제 및 편집 등과 같은 다양한 기능 세트와 함께 제공됩니다. 더.

FreeRADIUS는 백엔드로 작동하고 daloRADIUS는 프론트엔드로 작동합니다.

이 튜토리얼에서는 Ubuntu 18.04 LTS에 FreeRADIUS 서버와 Daloradius 웹 클라이언트를 설치하는 방법을 단계별로 설명합니다.

요구 사항

  • Ubuntu 18.04를 실행하는 서버.\n
  • 서버에 루트 암호가 설정되어 있습니다.\n

시작하기

먼저 다음 명령을 사용하여 시스템 패키지를 최신 버전으로 업데이트합니다.

apt-get update -y
apt-get upgrade -y

모든 패키지가 업데이트되면 시스템을 다시 시작하여 모든 구성 변경 사항을 적용하십시오.

램프 서버 설치

먼저 Apache, MariaDB, PHP 및 기타 필수 패키지를 시스템에 설치해야 합니다. 다음 명령으로 모두 설치할 수 있습니다.

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

모든 패키지가 설치되면 다음 단계로 진행할 수 있습니다.

FreeRADIUS용 데이터베이스 구성

기본적으로 MariaDB는 보안되지 않습니다. 따라서 먼저 보안을 유지해야 합니다. 다음 명령으로 보안을 유지할 수 있습니다.

mysql_secure_installation

아래와 같이 모든 질문에 답하십시오.

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

다음으로 FreeRADIUS에 대한 데이터베이스와 사용자를 생성해야 합니다. 이렇게 하려면 다음 명령을 사용하여 MariaDB 셸에 로그인합니다.

mysql -u root -p

프롬프트가 표시되면 루트 암호를 입력하고 다음 명령을 사용하여 데이터베이스와 사용자를 생성합니다.

MariaDB [(none)]> CREATE DATABASE radiusdb;
MariaDB [(none)]> GRANT ALL ON radiusdb.* TO IDENTIFIED BY "password";

그런 다음 권한을 플러시하고 다음 명령을 사용하여 MariaDB 셸을 종료합니다.

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

완료되면 다음 단계로 진행할 수 있습니다.

FreeRADIUS 설치

기본적으로 FreeRADIUS는 Ubuntu 18.04 기본 리포지토리에서 사용할 수 있습니다. 다음 명령으로 설치할 수 있습니다.

apt-get install freeradius freeradius-mysql freeradius-utils

설치가 완료되면 다음 명령을 사용하여 freeradius MySQL 데이터베이스 스키마를 가져옵니다.

mysql -u root -p radiusdb < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql

프롬프트가 표시되면 반경 데이터베이스 사용자 암호를 제공하고 Enter 키를 눌러 데이터베이스 스키마를 가져옵니다.

다음으로 SQL 모듈에 대한 심볼릭 링크를 생성해야 합니다. 다음 명령으로 수행할 수 있습니다.

ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/

그런 다음 MariaDB 쉘에 로그인하고 다음 명령을 사용하여 생성된 테이블을 확인합니다.

mysql -u root -p

프롬프트가 표시되면 루트 비밀번호를 입력하십시오. 로그인한 후 다음 명령을 사용하여 데이터베이스를 radiusdb로 변경합니다.

MariaDB [(none)]> use radiusdb;

그런 다음 다음 명령을 사용하여 생성된 테이블을 나열합니다.

MariaDB [radiusdb]> show tables;

다음 출력이 표시되어야 합니다.

+--------------------+
| Tables_in_radiusdb |
+--------------------+
| nas                |
| radacct            |
| radcheck           |
| radgroupcheck      |
| radgroupreply      |
| radpostauth        |
| radreply           |
| radusergroup       |
+--------------------+

그런 다음 다음 명령을 사용하여 MariaDB 셸을 종료합니다.

MariaDB [radiusdb]> EXIT;

다음으로 freeradius SQL 모듈에서 데이터베이스 연결 세부 정보를 정의해야 합니다. /etc/freeradius/3.0/mods-enabled/sql 파일을 편집하면 됩니다.

nano /etc/freeradius/3.0/mods-enabled/sql

데이터베이스에 따라 다음과 같이 변경합니다.

sql {
driver = "rlm_sql_mysql"
dialect = "mysql"

# Connection info:
server = "localhost"
port = 3306
login = "radius"
password = "password"

# Database table configuration for everything except Oracle
radius_db = "radiusdb"
}

read_clients = yes
client_table = "nas"

완료되면 파일을 저장하고 닫습니다. 그런 다음 다음 명령을 사용하여 /etc/freeradius/3.0/mods-enabled/sql의 소유권을 변경합니다.

chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql

마지막으로 freeradius 서비스를 다시 시작하여 모든 구성 변경 사항을 적용합니다.

systemctl restart freeradius

다음 명령을 사용하여 자유 반경 상태를 확인할 수도 있습니다.

systemctl status freeradius

다음 출력이 표시되어야 합니다.

? freeradius.service - FreeRADIUS multi-protocol policy server
   Loaded: loaded (/lib/systemd/system/freeradius.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-08-07 09:20:34 UTC; 14s ago
     Docs: man:radiusd(8)
           man:radiusd.conf(5)
           http://wiki.freeradius.org/
           http://networkradius.com/doc/
  Process: 45159 ExecStart=/usr/sbin/freeradius $FREERADIUS_OPTIONS (code=exited, status=0/SUCCESS)
  Process: 45143 ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cxm -lstdout (code=exited, status=0/SUCCESS)
 Main PID: 45161 (freeradius)
    Tasks: 6 (limit: 4650)
   CGroup: /system.slice/freeradius.service
           ??45161 /usr/sbin/freeradius

완료되면 다음 단계로 진행할 수 있습니다.

달로라디우스 설치

다음으로 웹 브라우저에서 FreeRADIUS를 관리하려면 daloRADIUS를 설치해야 합니다.

먼저 다음 명령을 사용하여 Git 리포지토리에서 최신 버전의 daloRADIUS를 다운로드합니다.

wget https://github.com/lirantal/daloradius/archive/master.zip

다운로드가 완료되면 다음 명령을 사용하여 다운로드한 파일의 압축을 풉니다.

unzip master.zip

다음으로 다음 명령을 사용하여 추출된 디렉터리를 Apache 웹 루트 디렉터리로 이동합니다.

mv daloradius-master /var/www/html/daloradius

다음으로 다음 명령을 사용하여 daloRADIUS mysql 테이블을 radiusdb로 가져옵니다.

cd /var/www/html/daloradius
mysql -u root -p radiusdb < contrib/db/fr2-mysql-daloradius-and-freeradius.sql
mysql -u root -p radiusdb < contrib/db/mysql-daloradius.sql

그런 다음 다음 명령을 사용하여 daloradius 디렉토리에 적절한 권한을 부여하십시오.

chown -R www-data:www-data /var/www/html/daloradius/
chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

다음으로 daloradius.conf.php 파일을 열고 데이터베이스 연결 세부 정보를 정의합니다.

nano /var/www/html/daloradius/library/daloradius.conf.php

데이터베이스와 일치하도록 다음과 같이 변경합니다.

$configValues['DALORADIUS_VERSION'] = '1.1-1';
$configValues['DALORADIUS_DATE'] = '28 Jul 2019';
$configValues['FREERADIUS_VERSION'] = '2';
$configValues['CONFIG_DB_ENGINE'] = 'mysqli';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'password';
$configValues['CONFIG_DB_NAME'] = 'radiusdb';

파일을 저장하고 닫습니다. 그런 다음 다음 명령을 사용하여 freeradius 및 apache 서비스를 다시 시작합니다.

systemctl restart freeradius
systemctl restart apache2

다음 명령을 사용하여 Apache 웹 서비스의 상태를 확인할 수도 있습니다.

systemctl status apache2

다음 명령이 표시됩니다.

? apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           ??apache2-systemd.conf
   Active: active (running) since Wed 2019-08-07 09:25:56 UTC; 4min 25s ago
  Process: 45483 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS)
  Process: 45489 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 45505 (apache2)
    Tasks: 11 (limit: 4650)
   CGroup: /system.slice/apache2.service
           ??45505 /usr/sbin/apache2 -k start
           ??45510 /usr/sbin/apache2 -k start
           ??45511 /usr/sbin/apache2 -k start
           ??45512 /usr/sbin/apache2 -k start
           ??45513 /usr/sbin/apache2 -k start
           ??45517 /usr/sbin/apache2 -k start
           ??45519 /usr/sbin/apache2 -k start
           ??45520 /usr/sbin/apache2 -k start
           ??45521 /usr/sbin/apache2 -k start
           ??45527 /usr/sbin/apache2 -k start
           ??45528 /usr/sbin/apache2 -k start

Aug 07 09:25:55 openshift systemd[1]: Starting The Apache HTTP Server...
Aug 07 09:25:56 openshift systemd[1]: Started The Apache HTTP Server.

완료되면 다음 단계로 진행할 수 있습니다.

daloRADIUS 웹 인터페이스에 액세스

이제 FreeRADIUS 및 daloRADIUS가 설치 및 구성되었습니다. daloRADIUS 웹 인터페이스에 액세스할 시간입니다. 웹 인터페이스에 액세스하려면 웹 브라우저를 열고 URL http://your-server-ip/daloradius/login.php를 입력하십시오. daloRADIUS 로그인 페이지로 리디렉션됩니다.

이제 기본 사용자 이름과 비밀번호를 관리자/반경으로 제공하고 로그인 버튼을 클릭합니다. 다음 페이지에 daloRADIUS 기본 대시보드가 표시되어야 합니다.

축하합니다! Ubuntu 18.04 서버에 FreeRADIUS 및 daloRADIUS를 성공적으로 설치 및 구성했습니다. 자세한 내용은 https://github.com/lirantal/daloradius의 공식 문서를 참조하십시오. 궁금한 점이 있으면 언제든지 문의해 주세요.