>운영 및 유지보수 >리눅스 운영 및 유지 관리 >LNMP 환경에 FreeRadius를 설치하기 위한 예제 튜토리얼

LNMP 환경에 FreeRadius를 설치하기 위한 예제 튜토리얼

PHP中文网
PHP中文网원래의
2017-06-21 10:35:262337검색

1. 웹 환경을 설치하고 LNMP 원클릭 설치 패키지를 사용하세요.
구체적인 설치 단계를 참조하세요

2. 설치가 완료된 후 LNMP
ionCube 구성 요소 설치 중 누락된 구성 요소를 설치하세요
lnmp가 있는 디렉터리를 입력하세요. 압축을 풀고 실행합니다: ./addons.sh install ionCube
Enter를 눌러 확인하면 ionCube 로더가 자동으로 설치됩니다.

yum perl-DBI 설치

yum freeradius-mysql freeradius-utils

3. FreeRadius
wget
tar xvf freeradius-server-2.1.8-dmamod-1.tar.gz
cd freeradius-server-2.1을 설치하세요. 8
./configure
make
make install

4. 파일 소유자 및 권한 구성
chmod 644 /usr/local/etc/raddb/dictionary
chown www /usr/local/etc/raddb
chown www /usr/local /etc/raddb/clients.conf

5. FreeRadius
radiusd -X
오류가 발생했습니다
"공유 라이브러리를 로드하는 동안 오류가 발생했습니다: libfreeradius-radius-2.1.8.so: 공유 객체 파일을 열 수 없습니다: 해당 파일이 없습니다.

해결책은 /etc/ld.so.conf

ld.so.conf 파일 내용에 /usr/local/lib를 추가하는 것입니다.
include /etc/ld.so.conf.d /*.conf
/usr/local/lib에 한 줄 추가
완료 후 /sbin/ldconfig를 입력하고 위의 단계를 반복하세요.
Ldconfig 명령은 /etc/ld.so.conf에 나열된 경로 아래의 라이브러리 파일을 /etc/ld로 캐시합니다.

이 명령에서 Radiusd -X를 디버그합니다.
오류가 발생했습니다
인증 주소 * 포트 1812에 대한 바인딩 실패: 이미 사용 중인 주소
/usr/local/etc/raddb/radiusd.conf[240]: 0.0.0.0 포트 1812

포트 점유 문제에 대한 포트 바인딩 오류.
lsof -i:1812
명령을 사용하여
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
radiusd 11163 radiusd 5u IPv4 949974 0t0 UDP *:radius
반경을 스스로 점유하고 있는 것으로 확인되었습니다

처리 방법(폭력점)
kill 11163(반경 프로세스의 PID , centos view 프로세스 PID 명령: ps -ef)
해당 명령이 없는 경우 yum install psmisc를 사용하여 설치할 수 있습니다.

radiusd -X를 다시 디버그합니다.
요청 처리 준비가 표시됩니다.

인증 수신 중 주소 * 포트 1812
계정 주소 * 포트 1813에서 수신
명령 파일 /usr/local/var/run/radiusd/radiusd.sock에서 수신
프록시 주소 * 포트 1814에서 수신
요청을 처리할 준비가 되었습니다.

Freeradius가 완료되었습니다. 여기에서 성공적으로 설치되었습니다

6. freeradius 구성에 대한 자세한 내용은 RM과 통합해야 하기 때문에 여기서는 radius 파일을 자세히 구성해야 합니다. 먼저 LNMP 환경 패키지를 사용할 때 freeradius를 간단히 설치할 수도 있다는 점을 설명하겠습니다. 간단한 설치 단계는 다음과 같습니다: yum install perl-DBI freeradius freeradius- mysql freeradius-utils

설치 패키지를 사용하여 단계별로 설치하는 것이 좋습니다. 문제를 발견하면 언제든지 찾아 해결할 수 있습니다

radius 파일을 구성하는 방법에는 두 가지가 있습니다.

A: 간단한 방법 glzjin(Zhao Yichuxin)이 작성한 파일을 사용하여 직접 덮어쓰기

wget -O /etc /raddb/radiusd.conf

wget -O /etc/raddb/sites-enabled/default
wget -O /etc/raddb/sql/ mysql/dialup.conf
wget -O /etc/raddb/dictionary
wget -O /etc/raddb/sql/mysql/counter.conf

B: 자세한 수동 구성은 다음과 같습니다

# /usr/local/etc/ raddb/radiusd.conf 파일을 편집


vi /usr/local/etc/raddb/ radiusd.conf

"allow_vulnerabel_openssl = no"를 찾아 yes로 변경하세요

"$INCLUDE sql.conf"(라인 743)를 찾아 # 기호를 제거하세요
"$INCLUDE sql/mysql/counter.conf"(라인)을 보세요 712), # 번호를 제거합니다

# /usr/local/etc/raddb/sites-enabled/default 파일을 지우고 구성된 파일 내용을 직접 복사하여 저장합니다

cat /dev/null > etc/raddb/sites-enabled/default

vi /usr/local/etc/raddb/sites-enabled/default

#Clear /usr/local/etc/raddb /sites-enabled/inner-tunnel 파일을 직접 복사합니다. 파일 내용을 구성하고 저장합니다

cat /dev/null > /usr/local/etc/raddb/sites-enabled/inner-tunnel

vi /usr/ local/etc/raddb/sites-enabled/inner-tunnel

#/usr/local/etc/raddb/eap.conf를 편집하고 MD5 확인 방법을 peap 방법으로 변경합니다

vi /usr/local/etc/raddb/eap.conf

line 30 default_eap_type = md5가 default_eap_type =으로 변경됩니다. peap

#/usr/local/etc/raddb/modules/mschap 파일을 편집하고 다음 내용으로 수정합니다

vi /usr/local/etc/raddb/modules/mschap

mschap { use_mppe = yes require_encryption = yes require_strong = yes }

#/usr/local/etc/raddb/sql/mysql/dialup.conf 파일 편집

vi /usr/local/etc/raddb/sql/mysql/dialup.conf


simul_count_query를 찾아 제거 279-282행에 대한 설명입니다. simul_count_query 함수를 엽니다

# /usr/local/etc/raddb/sql/mysql/counter.conf 파일을 편집하고 사용자 정의 계산 함수

monthlytrafficcounter(월간 트래픽 계산) 및 yearlytrafficcounter(calculate)를 추가합니다. 트래픽 매년)

vi /usr/local/etc/raddb/sql/mysql/counter.conf

재末尾加入
sqlcounter Monthlytrafficcounter {
   counter-name = Monthly-Traffic
   check-name = Max-Monthly-Traffic
   reply-name = Monthly-Traffic-Limit
   sqlmod-inst = sql
   key = User- 이름
   재설정 = 월별
   query = " SELECT ABS(SUM(acctinputoctets + acctoutputoctets) DIV 1048576) FROM radacct WHERE UserName='%{%k}' AND AcctStartTime >= date_sub(curdate(), 간격 30일)"
}

sqlcounter yearlytrafficcounter {
   counter-name = Yearly-Traffic
   check-name = Max- Yearly-Traffic
   reply-name = Yearly-Traffic-Limit
   sqlmod-inst = sql
   key = User-Name
   reset = never
   쿼리 = " SELECT ABS(SUM(acctinputoctets + acctoutputoctets) DIV 1048576) FROM radacct WHERE UserName='%{%k}' AND AcctStartTime >= date_sub(curdate(),interval 365 day)"
}

#编辑字典文件/ usr/local/etc/raddb/dictionary
vi /usr/local/etc/raddb/dictionary

#添加以下内容
ATTRIBUTE       Max-Monthly-Traffic     3003    integer
ATTRIBUTE       Monthly-Traffic-Limit   3 004    정수
ATTRIBUTE       계정 중간 -간격   85      정수
ATTRIBUTE       Max-Yearly-Traffic      3003    정수
ATTRIBUTE       연간 트래픽 제한    3004    정수


7.建立MySql상关的数据库并作设置
两种方法如下:
A。使用phpmyadmin建立
LNMP环境下带phpmyadmin,http://你的IP/phpmyadmin
建立两个数据库radius and conntrack
进入后点:账号---新增用户账号
填写好用户name 와密码, 一定点击(사용户账号数据库下的创建与 비슷한 이름의 数据库并授予所有权限。)

B。使用ssh登陆命令建立
mysql -u root -p密码                                                    #登录mysql,超级账号root 와密码
CREATE DATABASE 반경;                                         #创建radius数据库
CREATE DATABASE conntrack;                                      #创建conntrack数据库
사용자 생성 'radius'@'localhost' 'radius123'으로 식별됨;     #创建用户radius,密码radius123
사용자 생성 'conntrack'@'localhost' 'conn123'으로 식별됨;    #创建用户conntrack,密码conn123
radius.*에 대한 모든 권한을 radius@localhost에 부여합니다.                      #给radius数据库设置访问权限
conntrack의 모든 권한을 부여합니다.* to conntrack@localhost;                에디토리얼 /radius123

# 연결 정보:

server = “localhost”
#port = 3306
login = “radius”
password = “radius123″

找到readclients一行,设为yes并去掉注释符号#

这里要特别说明一下, 如果에서 安装freeraduis是使用是第6点里yun直接安装的话,那么sql.conf这个文件

재/etc/raddb/sql.conf 这个目录里。

9.关闭SELINUX(需重启机器生效)
/etc/sysconfig/selinux

SELINUX=disabled



10. 맥(MAC)地址,因为我下载RM3.9版本是破解的,授权文件및MAC地址city是破解者发布的(需要重启生效PS:RM4.16是不是也可以使用同样方处理,有研究来的朋友,可以和我交流一下)

不能使用这个命令:ifconfig eth0 down(禁用网卡),你是ssh链接的使用了这个,你立马就掉线了,不用我说原因吧.

정확한 방법:

使사용winscp下载 /etc/sysconfig/network-scripts里ifcfg-eth0

修改其中的"HWADDR=xx:xx:xx:xx:xx:xx"为"MACADDR=00:D0:09:B8:B7:34"

上传覆盖,重启机器以后生效。

11.安装Radius Manager

首先为Radius Manager建立一个web

使用lnmp vhost add ,此次不需要创建mysql数据库了,上上我们已经创建好了。

使用winscp上传radiusmanager-3.9.0.tar.gz到root目录

tar zxvf radiusmanager-3.9.0.tar.gz

cd radiusmanager-3.9.0

chmod  755  install.sh
./install.sh

Radius Manager 설치 프로그램이 나타납니다
Copyright 2004-2011, DMA Softlab LLC
All right Reserved.
(중단하려면 언제든지 CTRL+C를 사용하세요.)
운영 체제 유형을 선택하세요.
1. )
2. Debian(Ubuntu 등)
옵션 선택: [1] (내 것은 centos 시스템)

선택한 운영 체제: REDHAT
설치 유형 선택:
1 새 설치
2. 옵션: [1] (새 설치)

선택한 설치 방법: NEW INSTALLATION

WWW 루트 경로: [/var/www/html] 여기에서 우리가 만든 웹 디렉터리 /home/wwwroot/도메인 이름
RADIUS 데이터베이스로 변경하세요. 호스트: [localhost]
RADIUS 데이터베이스 사용자 이름: [반경]                                                                                       >    #root
Httpd UNIX 사용 사용자: [아파치]                                                                                                                                                              WWW로 변경됨
rmpoller 서비스 생성: [y]
rmconntrack 서비스 생성: [y]
RADIUS 데이터베이스 백업: [y]
경고! 데이터베이스!
당신이 맞나요? 설치를 시작하시겠습니까? [n] y
설치 프로세스를 시작하는 중…
웹 콘텐츠를 /home /wwwroot/yourdomain/radiusmanager에 복사하는 중
바이너리를 /usr/local/bin에 복사하는 중
rootexec를 /usr/local/sbin에 복사하는 중
복사하는 중 radiusmanager.cfg를 /etc에 백업하는 중
RADIUS 데이터베이스를 백업하는 중…
MySQL 테이블 생성 중
rmpoller 서비스 생성 중
rmconntrack 서비스 생성 중
logrotate 스크립트 복사 중
raddb 파일에 권한 설정 중
radius init 스크립트를 /etc/init.d로 복사 중
설치가 완료되었습니다!

12. RM 구성 파일 수정
/etc/radiusmanager.cfg
/home/wwwroot /도메인 이름/radiusmanager/config/system_cfg.php

13 RM 파일을 루트 디렉터리에서 홈 디렉터리

cd로 수정합니다. radiusmanager --> mv * ../ --> cd ../


14. 디렉토리 파일 권한 수정
chattr -i /home/wwwroot/도메인 이름/.user.ini

chown www:www -R /home/wwwroot/도메인 이름

chmod -R 777 /home/wwwroot/도메인 이름
chmod 755 /usr/local/bin/rmauth

chmod 755 /usr/local/bin/rmacnt

chmod 755 /usr/local /bin/rmpoller
chmod 600 /etc/radiusmanager.cfg
chmod 755 /usr/local/bin/ rmconntrack
chmod 4755 /usr/local/sbin/rootexec

서버를 다시 시작합니다. 접속 주소: 도메인 이름/admin.php 계정 관리자 비밀번호 1111
사용자 접속 주소: 도메인 이름/user.php 계정 사용자 비밀번호 1111


위 내용은 LNMP 환경에 FreeRadius를 설치하기 위한 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.