웹사이트 검색

Ubuntu 20.04에 FreeRADIUS 및 Daloradius를 설치하는 방법


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

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

이 페이지에서

  1. RADIUS 프로토콜이란 무엇입니까?\n
  2. daloRADIUS란 무엇입니까?
  3. 전제 조건
  4. 시작하기\n
    1. 시스템 업데이트
    2. 종속성 설치

    1. 문제 해결\n

    FreeRADIUS는 RADIUS 프로토콜 서버를 설정할 수 있는 UNIX 및 Unix 계열 운영 체제용 무료 오픈 소스 서버입니다. 또한 사용하려는 경우 서버와 통신하는 올바르게 구성된 클라이언트가 필요합니다. 이 클라이언트는 다양한 유형의 네트워크 액세스를 인증하거나 계산하는 데 사용할 수 있습니다. 샘플 애플리케이션은 핫스팟, Android 스마트폰의 OpenVPN, Strongswan 또는 SoftEther(Wireshark)와 같은 VPN 프로토콜입니다.

    1992년에 무단 액세스 및 침입으로부터 네트워크를 보호하는 오픈 소스 소프트웨어 프로젝트인 FreeRADIUS는 인증을 위한 작은 발전으로 시작되었습니다. 현재 FreeRADIUS는 다양한 암호화 보안 방법(EAP-TLS/ -TTLS, PEAP, LEAP)을 지원합니다. 그리고 인증에 사용되는 방법은 사용자 이름/비밀번호 또는 인증서입니다. gpt-ad-howtoforge_com-medrectangle-3-0;var ffid=1;var alS=1021%1000;var container=document.getElementById(slotId);container.style.width=100%;var ins=document.createElement( ins);ins.id=slotId+-asloaded;ins.className=adsbygoogle ezasloaded;ins.dataset.adClient=pid;ins.dataset.adChannel=cid;if(ffid==2){ins.dataset.fullWidthResponsive=true; }

    네트워크에 액세스하려는 클라이언트는 액세스 권한을 부여받기 전에 먼저 RADIUS 서버에 로그온해야 합니다. 이렇게 하면 보안이 강화되고 네트워크를 보다 쉽게 관리할 수 있습니다. 클라이언트는 인증을 위해 IEEE 802.1X 프로토콜을 사용하므로 이 용어는 종종 이 유형의 네트워크 로그인 방법과 동의어로 사용됩니다.

    FreeRADIUS는 RADIUS 서버 또는 BSD 라이센스 RADIUS 클라이언트 라이브러리, PAM 라이브러리 및 Apache RADIUS 모듈과 같은 FreeRADIUS 제품군의 구성 요소를 가장 자주 나타냅니다. 기타 관련 라이브러리에는 추가 유틸리티 및 개발 라이브러리가 포함됩니다.

    RADIUS 프로토콜이란 무엇입니까?

    RADIUS(Remote Authentication Dial-In User Service)는 중앙 집중식 AAA 관리를 제공하여 사용자 인증, 권한 부여 및 계정을 관리하는 네트워킹 프로토콜입니다.

    다음은 AAA의 각 용어가 의미하는 바에 대한 간단한 설명이지만 모두 같은 의미는 아닙니다.

    • 인증: 클라이언트(사용자, 장치 또는 프로세스일 수 있음)가 시스템을 사용할 권한이 있는지 여부를 결정하는 프로세스입니다.\n
    • 인증: 전력 사용 비용을 계산할 수 있도록 사용량과 이 정보를 제공하는 시기를 결정하는 프로세스입니다.\n
    • 회계: 청구 목적으로 네트워크 활동에 대한 요약 보고서입니다.\n

    FreeRADIUS 관리를 위한 명령줄 인터페이스는 전문 시스템 관리자에게도 혼란스러울 수 있습니다. 문제를 완화하기 위해 FreeRADIUS의 웹 기반 GUI 버전인 daloRADIUS를 사용할 수 있습니다.

    달로라디우스란?

    daloRADIUS는 FreeRADIUS를 관리하기 위한 웹 기반 GUI이며 브라우저에서 여러 서버를 쉽게 관리할 수 있습니다. 또한 최신 버전의 Redis 또는 Memcached를 실행하고 SSL을 지원하는 한 주요 Linux 배포판(CentOS, Red Hat Enterprise Linux, Ubuntu, OpenWrt 등)에서 작동합니다.

    daloRADIUS 소프트웨어 제품군은 명령줄 인터페이스를 사용하여 FreeRADIUS를 관리하는 기존 방식과 비교할 때 추가 기능을 제공합니다.

    이 튜토리얼에서는 Ubuntu 20.04를 실행하는 서버에 FreeRADIUS를 잘 설치하고 MySQL/MariaDB와 함께 작동하도록 구성한 다음 기본적으로 FreeRADIUS용 GUI인 RADIUS 웹 관리 패널인 daloRADIUS를 설치합니다. RADIUS 서버에서 간단한 테스트를 수행하여 작동하는지 확인합니다.

    전제 조건

    • 최소 512MB RAM, 최소 300MB 저장 공간 및 최소 1.4GHz 64비트 CPU가 장착된 Ubuntu 20.04를 실행하는 서버\n
    • 루트 사용자 또는 sudo 권한이 있는 사용자로 로그인합니다.\n

    시작하기

    시스템 업데이트

    시스템을 최신 상태로 유지하려면 먼저 터미널에서 업데이트 명령을 실행하여 최신 패키지 및 보안 업데이트를 다운로드하고 설치하십시오.

    sudo apt update -y
    sudo apt upgrade -y

    -y 플래그는 업데이트 명령에서 변경 사항을 계속할지 묻는 질문에 yes로 자동 응답하는 데 사용됩니다.

    apt update 명령은 소스에서 사용 가능한 패키지 목록을 업데이트합니다. apt upgrade 명령이 업데이트를 다운로드하고 설치합니다.

    샘플 출력:

    업데이트 프로세스가 완료된 후 시스템을 재부팅할 수 있습니다. 이렇게 하려면 터미널에서 아래 명령을 실행합니다.

    sudo reboot now

    종속성 설치

    종속성은 다른 프로그램이 작동하기 위해 충족되어야 하는 소프트웨어 요구 사항입니다. 다음으로 해야 할 일은 필요한 종속 항목을 설치하는 것입니다. Ubuntu Server는 Apache가 설치된 상태로 제공되지만 일부 관련 패키지를 추가해야 합니다. 종속성을 설치하려면 터미널에서 아래 명령을 실행하십시오.

    sudo 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

    터미널에서 아래 명령을 실행하여 시스템에 설치된 php 버전을 확인할 수 있습니다.

    php -v

    출력은 아래와 비슷해야 합니다.

    FreeRADIUS 설치

    모든 전제 조건과 종속성이 충족되면 이제 FreeRADIUS를 설치할 수 있습니다. 터미널에 아래 명령을 입력하여 Ubuntu에서 사용 가능한 FreeRADIUS 버전을 볼 수 있습니다.

    sudo apt policy freeradius

    FreeRADIUS 및 FreeRADIUS와 함께 제공되는 다양한 유틸리티를 Ubuntu 20.04에 설치하려면 다음 명령을 실행하십시오.

    sudo apt -y install freeradius freeradius-mysql freeradius-utils

    FreeRADIUS가 실행 중인지 빠르게 확인하려면 디버그 모드에서 FreeRADIUS를 실행해야 합니다.

    먼저 터미널에서 아래 명령을 실행하여 FreeRADIUS 서비스를 중지합니다.

    sudo systemctl stop freeradius.service

    그런 다음 다음 명령을 실행하여 FreeRADIUS 디버그 모드를 실행합니다.

    sudo freeradius -X

    출력은 아래와 유사해야 합니다.

    마지막 줄에 "요청을 처리할 준비가 되었습니다"라고 표시된 것을 볼 수 있습니다. 이는 FreeRADIUS가 이제 서버에서 실행 중임을 의미합니다.

    데이터베이스 생성

    FreeRADIUS는 사용자, 클라이언트 및 네트워크 연결에 대한 설정 및 기타 정보를 저장할 데이터베이스가 필요합니다. 터미널을 통해 MariaDB 서버에 로그인하여 FreeRADIUS용 데이터베이스를 생성할 수 있습니다.

    sudo mysql -u root

    이제 radius라는 데이터베이스를 만듭니다.

    CREATE DATABASE radius;

    다음으로 반경 데이터베이스에 대한 액세스 권한을 부여합니다.

    GRANT ALL ON radius.* TO  IDENTIFIED BY "yourpassword ";

    플러시 권한 및 종료 MariaDB 명령을 사용하여 권한을 업데이트합니다.

    FLUSH PRIVILEGES;
    QUIT;

    터미널에서 다음 명령을 실행하여 반경 데이터베이스가 생성된 것을 볼 수 있습니다.

    mysql -u root -p -e "show databases;"

    아래 스크린샷과 같이 나열된 반지름 데이터베이스를 볼 수 있어야 합니다.

    달로라디우스 설치

    FreeRADIUS의 웹 관리 인터페이스에 액세스하려면 Daloradius가 필요합니다. 먼저 wget 명령을 사용하여 git 저장소에서 최신 버전의 daloRADIUS를 다운로드합니다.

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

    다운로드가 완료되면 아래와 같이 unzip 유틸리티를 사용하여 zip 아카이브를 추출합니다.

    unzip master.zip

    다음으로 아래와 같이 mv 유틸리티를 사용하여 daloradius-master 폴더를 이동합니다.

    mv daloradius-master daloradius

    다음으로 구성을 위해 daloradius 디렉토리로 이동합니다.

    cd daloradius

    이제 daloRADIUS 스키마로 데이터베이스를 채워야 합니다. .sql 파일은 '/contrib/db/' 폴더에 있습니다. 루트 대상에 설치하지 않은 경우 이 경로를 변경해야 할 수 있습니다.

    가져오려면 다음을 실행합니다.

    sudo mysql -u root -p radius < contrib/db/fr2-mysql-daloradius-and-freeradius.sql
    sudo mysql -u root -p radius < contrib/db/mysql-daloradius.sql

    그런 다음 daloradius 디렉터리 밖으로 이동하고 daloradius 폴더를 문서 루트로 이동합니다.

    cd
    sudo mv daloradius /var/www/html/

    그런 다음 아래와 같이 mv 유틸리티를 사용하여 .example 확장자를 제거하여 샘플 파일의 이름을 바꿉니다.

    sudo mv /var/www/html/daloradius/library/daloradius.conf.php.sample /var/www/html/daloradius/library/daloradius.conf.php

    그런 다음 다음 명령을 실행하여 daloRADIUS 웹 구성 파일의 소유권을 Apache에 할당합니다.

    sudo chown -R www-data:www-data /var/www/html/daloradius/

    다음으로 아래와 같이 기본 구성 파일의 권한을 664로 구성합니다.

    sudo chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

    DaloRADIUS 웹 인터페이스가 FreeRADIUS에 액세스하도록 허용하려면 DaloRADIUS의 구성 파일에 해당 데이터베이스 세부 정보를 제공해야 합니다. ./www/library/daloradius.conf.php에 있는 .daloradius.conf.php를 열고 데이터베이스 세부 정보(사용자 이름, 암호 및 db 이름)를 추가합니다.

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

    데이터베이스 세부 정보와 일치하도록 다음 값을 변경합니다.

    $configValues['FREERADIUS_VERSION'] = '2';
    $configValues['CONFIG_DB_ENGINE'] = 'mysqli';
    $configValues['CONFIG_DB_HOST'] = 'localhost';
    $configValues['CONFIG_DB_PORT'] = '3306';
    $configValues['CONFIG_DB_USER'] = 'howtoforge';
    $configValues['CONFIG_DB_PASS'] = '';
    $configValues['CONFIG_DB_NAME'] = 'howtoforge';

    파일을 저장하고 종료하여 모든 것이 올바르게 구성되었는지 확인하십시오. FreeRADIUS와 Apache를 다시 시작하면 모든 것이 제대로 작동하는지 확인할 수 있습니다.

    sudo systemctl restart freeradius
    sudo systemctl restart apache2

    방화벽 구성

    FreeRADIUS 및 Daloradius는 포트 1812에서 RADIUS 패킷을 수신하므로 방화벽 포트를 열어 트래픽을 허용해야 할 수 있습니다.

    sudo ufw enable
    sudo ufw allow 1812

    FreeRADIUS는 액세스 요청 패킷 및 계정 요청 패킷에 UDP 포트 1813을 사용하므로 이러한 포트도 열어야 합니다.

    sudo ufw allow 1813

    샘플 출력:

    UFW 방화벽의 현재 상태를 보려면 아래 표시된 명령을 입력하십시오.

    sudo ufw status

    아래와 유사한 출력이 표시됩니다.

    위의 UFW 스크린샷은 활성 상태임을 보여 주며 상태는 방금 추가한 규칙 목록을 나타냅니다.

    daloRADIUS 웹 인터페이스 액세스

    이제 DaloRADIUS 및 FreeRADIUS를 설치했으므로 daloRADIUS 웹 인터페이스에 액세스할 시간입니다. http://ip-address/daloradius/login.php에서 원하는 브라우저를 열고 "ip-address"를 실제 서버 IP 주소로 바꾸십시오.

    기본 로그인 화면이 표시됩니다.

    로그인 화면에서 기본 사용자 이름 및 비밀번호 "administrator"를 비밀번호 "radius"와 함께 사용하여 로그인합니다. 로그인하면 기본 DaloRADIUS 웹 인터페이스가 표시됩니다.

    DaloRadius에 로그인한 다음 상단 표시줄에서 구성 메뉴를 선택하여 사용자 암호를 변경할 수 있습니다. 하위 메뉴에서 Operators를 선택하고 현재 폴더의 연산자 목록 아래 회색 사이드바에서 List Operators를 선택합니다. 관리자를 마우스 오른쪽 버튼으로 클릭하고 이 창에서 암호 변경을 선택합니다. 다음 화면에서 관리자 계정의 새 암호를 입력하고 적용을 클릭하여 변경 사항을 저장합니다."

    축하합니다! FreeRADIUS를 성공적으로 설치했습니다. Ubuntu 20.04 LTS 시스템에 FreeRADIUS를 설치하기 위해 이 튜토리얼을 사용해 주셔서 감사합니다. 더 많은 도움이나 유용한 정보를 보려면 FreeRADIUS 공식 사이트를 방문하는 것이 좋습니다.

    문제 해결

    다음은 FreeRADIUS/Daloradius 설치 중에 발생할 수 있는 몇 가지 문제와 이에 대한 가능한 해결책입니다.

    1. freeradius 설치 오류

    문제: 이 튜토리얼을 따라가는 동안 "The package "freeradius" has no installation candidate"와 같은 문제가 발생할 수 있습니다. 이 오류 메시지는 Ubuntu 또는 Debian Linux 시스템 버전에 사용할 수 있는 PPA가 없음을 나타냅니다. 솔루션: 일반적으로 새로운 소프트웨어나 패키지를 시도할 때 최신 버전의 Ubuntu를 사용하는 것이 좋습니다. 지원되지 않는 이전 버전보다 더 안정적이기 때문입니다. 서버에 이전 버전이 설치되어 있는 경우 이 자습서를 진행하기 전에 먼저 Synaptic Package Manager를 통해 제거해 보십시오.

    2. 잘못된 데이터베이스 구성

    문제 : FreeRADIUS를 설치한 후 "radiusd -X" 명령이 위와 같은 메시지를 반환할 수 있습니다. 이는 잘못된 암호나 사용자 이름으로 인해 MySQL이 데이터베이스에 연결할 수 없음을 의미합니다.

    해결 방법: 이 문제를 해결하려면 "mysql-daloradius.sql" 구성 파일을 열고 nano와 같은 텍스트 편집기를 사용하여 편집합니다. 그런 다음 비밀번호를 실제 비밀번호로 변경하십시오. 편집 후 파일을 저장하고 닫습니다. 그런 다음 FreeRADIUS를 다시 시작합니다: sudo service freeradius restart

    3. FreeRADIUS 및 Daloradius 설치 후 연결되지 않음

    문제: FreeRADIUS 및 daloRADIUS를 설치한 후 웹 인터페이스가 표시되지 않습니다. 이로 인해 SSH를 사용하여 서버에 연결하지 못할 수 있습니다.

    솔루션: 이 문제의 가장 큰 이유는 Apache 또는 Nginx 구성 파일의 무언가가 포트 80(HTTP의 경우) 또는 443(HTTPS의 경우)을 차단하고 있기 때문입니다. DaloRADIUS 웹 디렉토리 경로(/var/www/html/daloradius)에 대한 참조가 있는지 이러한 구성 파일을 확인하고 제거하십시오.

    4. DaloRADIUS 웹 인터페이스에 Daloradius 아이콘 없음

    문제: 이 튜토리얼을 따른 후 DaloRADIUS 웹 인터페이스에 Daloradius 아이콘이 표시되지 않습니다. 이것은 Ubuntu 및 Debian 시스템의 일부 버전에서 발생하는 일반적인 문제입니다.

    해결책: 이 문제를 해결하려면 "daloradius/includes/config_vars.php" 파일을 편집하고 다음 행을 추가하십시오. define(DALORADIUS_ENABLED, true); 그런 다음 sudo service apache2 restart를 통해 Apache 웹 서버를 다시 시작하십시오. 이제 운영자 메뉴 앞의 왼쪽 창에 Daloradius 아이콘이 나타나는 것을 볼 수 있습니다.

    이 목록은 불완전하며 100% 정확하지 않을 수 있습니다. 오류나 누락된 정보가 있는 경우 아래에 의견을 남겨주시면 그에 따라 목록을 업데이트하겠습니다.

    결론

    FreeRADIUS와 Daloradius는 완벽한 기능을 갖춘 FreeRADIUS 서버를 만드는 데 도움이 되는 오픈 소스 소프트웨어의 훌륭한 조합으로 가정 또는 소규모 비즈니스 네트워크에 적합합니다.

    성장하는 커뮤니티와 소프트웨어 내에서 구성할 수 있는 많은 기능을 갖춘 Daloradius는 자체 FreeRADIUS 서버를 설정하려는 사용자에게 탁월한 선택입니다.

    이 기사가 유용하다고 생각되면 소셜 미디어에서 친구들과 공유하십시오. 우리는 또한 귀하가 가질 수 있는 문제나 제안에 대해 귀하의 답변을 듣고 싶습니다. 이 페이지 하단에 있는 문의 양식을 사용하여 의견을 남기거나 메시지를 보낼 수 있습니다. 읽어 주셔서 감사합니다.