Ubuntu 18.04 LTS에 FreeRADIUS 및 daloRADIUS를 설치하는 방법
이 튜토리얼은 다음 OS 버전에 대해 존재합니다.
- Ubuntu 20.04(Focal Fossa)
- Ubuntu 18.04(Bionic Beaver)
이 페이지에서
- 요구 사항\n
- 시작하기\n
- LAMP 서버 설치
- FreeRADIUS용 데이터베이스 구성
- FreeRADIUS 설치
- daloRADIUS 설치
- 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의 공식 문서를 참조하십시오. 궁금한 점이 있으면 언제든지 문의해 주세요.