Maison  >  Article  >  Opération et maintenance  >  Exemple de tutoriel pour installer FreeRadius dans un environnement LNMP

Exemple de tutoriel pour installer FreeRadius dans un environnement LNMP

PHP中文网
PHP中文网original
2017-06-21 10:35:262321parcourir

1. Installez l'environnement Web et utilisez le package d'installation en un clic LNMP
Pour les étapes d'installation spécifiques, veuillez vous référer à

2. Une fois l'installation terminée, installez les composants manquants. de LNMP
Installation du composant ionCube
Entrez le répertoire où lnmp est décompressé et exécutez : ./addons.sh install ionCube
Appuyez sur Entrée pour confirmer et le chargeur ionCube sera automatiquement installé.

miam install perl-DBI

miam freeradius-mysql freeradius-utils

3 Installez FreeRadius
wget
tar xvf freeradius-server-2.1.8. -dmamod-1.tar.gz
cd freeradius-server-2.1.8
./configure
make
make install

4. Propriétaire du fichier et configuration des autorisations
chmod 644 /usr/local/etc/raddb/dictionary
chown www /usr/local/etc/raddb
chown www /usr/local/etc/raddb/clients.conf

5 . Test de FreeRadius
radiusd -X
Une erreur s'est produite
"Erreur lors du chargement des bibliothèques partagées : libfreeradius-radius-2.1.8.so : impossible d'ouvrir le fichier objet partagé : aucun fichier ou répertoire de ce type."

La solution est d'ajouter /usr/local/lib à /etc/ld.so.conf

Le contenu du fichier ld.so.conf est le suivant :
inclure /etc/ ld. so.conf.d/*.conf
Ajoutez une ligne à /usr/local/lib
Entrez /sbin/ldconfig une fois terminé, puis répétez les étapes ci-dessus.
La commande Ldconfig met en cache les fichiers de bibliothèque sous le chemin répertorié dans /etc/ld.so.conf vers /etc/ld.

Lors du débogage de radiusd avec cette commande -X
une erreur se produit
Échec de la liaison à l'adresse d'authentification * port 1812 : adresse déjà utilisée
/usr/local/etc/raddb/radiusd.conf[240] : erreur de liaison au port pour 0.0.0.0 port 1812

Problème d'occupation du port.
Utilisez la commande lsof -i:1812
pour obtenir
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
radiusd 11163 radiusd 5u IPv4 949974 0t0 UDP *:radius
J'ai découvert qu'il est occupé par le rayon lui-même

Méthode de traitement (point violent)
kill 11163 (PID du processus de rayon, commande PID du processus de vue centos : ps -ef)
Si vous trouvez cela il n'existe pas de commande de ce type, vous pouvez utiliser yum install psmisc pour installer

radiusd -X debug à nouveau
afficher Prêt à traiter les demandes.

Écoute sur l'adresse d'authentification * port 1812
Ecoute sur adresse comptable * port 1813
Ecoute sur fichier de commande /usr/local/var/run/radiusd/radiusd.sock
Ecoute sur adresse proxy * port 1814
Prêt à traiter les requêtes.

Freeradius a été installé avec succès ici

6 Configuration détaillée de freeradius, car nous devons l'intégrer à RM, ici nous devons configurer le fichier radius en détail
Tout d'abord, laissez-moi vous expliquer cela. lorsque vous utilisez le package d'environnement LNMP, vous pouvez également simplement installer freeradius. Les étapes d'installation simples sont les suivantes
Utilisez la commande : yum install perl-DBI freeradius freeradius-mysql freeradius-utils

Vous pouvez installer radius dans une étape. Je recommande personnellement d'utiliser le package d'installation pour l'installer étape par étape, afin que vous puissiez trouver et résoudre les problèmes à tout moment si vous les trouvez

Il existe deux méthodes pour configurer les fichiers radius :

A : La méthode simple consiste à écraser directement le fichier écrit par 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 : La configuration manuelle détaillée est la suivante

#Edit /usr/local/etc/raddb/radiusd.conf file

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

Changez la recherche de "allow_vulnerabel_openssl = no" en oui
Recherchez "$INCLUDE sql.conf" (ligne 743), supprimez le signe #
Recherchez "$INCLUDE sql/mysql/counter. conf" (ligne 712), supprimez le # numéro

#Effacez le fichier /usr/local/etc/raddb/sites-enabled/default et configurez-le directement Copiez le contenu du fichier et enregistrez

cat / dev/null > /usr/local/etc/raddb/sites-enabled/default
vi /usr/local/etc/raddb/sites-enabled/default

#Effacer le /usr/local /etc/raddb/sites-enabled/inner-tunnel, copiez-y directement le contenu du fichier configuré et enregistrez-le

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

#Edit /usr/local/etc/raddb/eap, changez la méthode de vérification MD5 en méthode peap.

vi /usr/local/etc/raddb/eap.conf
ligne 30 default_eap_type = md5 est remplacé par default_eap_type = peap

#Edit/usr/ local/etc/raddb/modules/mschap fichier, modifiez-le avec le contenu suivant

vi /usr/local/etc/raddb/modules/mschap
mschap { use_mppe = yes require_encryption = yes require_strong = yes }

#Edit /usr/ local/etc/raddb/sql/mysql/dialup.conf file

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

Find simul_count_query Supprimer les commentaires sur les lignes 279-282 , ouvrez la fonction simul_count_query

#Modifiez le fichier /usr/local/etc/raddb/sql/mysql/counter.conf, et ajoutez la fonction de calcul personnalisée

monthlytrafficcounter (calcul du trafic mensuel) et annualtrafficcounter ( calculer le trafic chaque année)
vi /usr/local/etc/raddb/sql/mysql/counter.conf

在末尾加入
sqlcounter mensueltrafficcounter {
   counter-name = Monthly-Traffic
   check-name = Max-Monthly-Traffic
   reply-name = Monthly-Traffic-Limit
   sqlmod -inst = sql
   key = Nom d'utilisateur
   reset = mensuel
   query = " SELECT ABS(SUM(acctinputoctets + acctoutputoctets) DIV 1048576) FROM radacct WHERE UserName='%{%k}' AND AcctStartTime >= date_sub(curdate(),interval 30 day)"
}

sqlcounter annualtrafficcounter {
   counter-name = Yearly-Traffic
   check-name = Max-Annual-Traffic
   reply-name = Yearly-Traffic-Limit
   sqlmod-inst = sql
   key = User-Name
   reset = never
   query = " 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        3004    entier
ATTRIBUTE       Intervalle-Interimaire   85      entier
ATTRIBUTE      Trafic annuel maximum      3003    entier
ATTRIBUTE      Limite de trafic annuelle    3004    entier


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

B。使用ssh登陆命令建立
mysql -u root -p密码                                                 #登录mysql,超级账号root和密码
C Rayon de la base de données REATE ;                                         #创建radius数据库
CREATE DATABASE conntrack;                                      #创建conntrack数据库
CRÉER UN UTILISATEUR 'radius'@'localhost' IDENTIFIÉ PAR 'radius123' ;     #创建用户radius,密码radius123
CRÉER UN UTILISATEUR 'conntrack'@'localhost' IDENTIFIÉ PAR 'conn123' ;    #创建用户conntrack,密码conn123
GRANT ALL ON radius.* TO radius@localhost ;                      #给radius数据库设置访问权限
GRANT ALL ON conntrack.* TO conntrack@localhost;                #给conntrack数据库设置访问权限

8.配置freeradius数据库
/usr/local/etc/raddb/sql.conf                                    #使用radius/radius123
#Informations de connexion :
serveur = "localhost"
#port = 3306
login = "radius"
mot de passe = "radius123″

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

这里要特别说明一下,如果在安装freeraduis是使用的是第6点里yun直接安装的话,那么sql.conf这个文件
Voir /etc/raddb/sql.conf 这个目录里。

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


10.修改机器MAC地址,因为我下Produit RM3.9 PS:RM4.16是不是也可以使用同样方法处理,有研究出来的朋友,可以和我交流一下)

Il s'agit d'ifconfig eth0 down, et de ssh 使用了这个.因吧。

正确的方法:
使用winscp Voir /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.gzroot目录
tar zxvf radiusmanager-3.9.0 .tar.gz
cd radiusmanager-3.9.0
chmod  755  install.sh
./install.sh

Le programme d'installation de Radius Manager apparaît
Copyright 2004-2011, DMA Softlab LLC
Tous droits réservés.
(Utilisez CTRL+C pour abandonner à tout moment)
Sélectionnez le type de votre système d'exploitation :
1. Redhat (Fedora, CentOS etc.)
2. Debian (Ubuntu etc.)
Choisissez une option : [1] (le mien est le système centos)

Le système d'exploitation sélectionné est : REDHAT
Sélectionnez le type d'installation :
1. Nouvelle installation
2. Mettez à niveau l'ancien système
Choisissez une option : [1] (nouvelle installation)

Méthode d'installation sélectionnée : NOUVELLE INSTALLATION
Chemin racine WWW : [/var/www/html] Accédez ici au répertoire Web que nous avons créé/home/wwwroot/votre nom de domaine
Hôte de la base de données RADIUS : [localhost]
Nom d'utilisateur de la base de données RADIUS : [radius ] #Utiliser radius
Mot de passe de la base de données RADIUS : [radius123]                                                                                                                                                       #Utiliser le mot de passe de la base de données CTS : [conn123] Le mot de passe de la piste de connexion que vous avez créée
Utilisateur Freeradius UNIX : [root]                                  #Utiliser root
Httpd Utilisateur UNIX : [apache]                                  Passer à WWW
Créer le service rmpoller : [y]
Créer le service rmconntrack : [y]
Sauvegarder la base de données RADIUS : [y]
ATTENTION ! écraser la base de données RADIUS existante !
Êtes-vous sûr de démarrer l'installation ? [n] y
Démarrage du processus d'installation…
Copie du contenu WEB dans /home/wwwroot/yourdomain name/radiusmanager
Copie des binaires dans /usr/local/bin
Copie de rootexec dans /usr/local/sbin
Copie de radiusmanager.cfg dans /etc
Sauvegarde de la base de données RADIUS…
Création de tables MySQL
Création du service rmpoller
Création du service rmconntrack
Copie du script logrotate
Définition de l'autorisation sur les fichiers raddb
Copie du script d'initialisation radiusd dans /etc/init.d
Installation terminée !

12. Modifier la configuration RM. fichier
/etc/radiusmanager.cfg

/home/wwwroot/your domain name/radiusmanager /config/system_cfg.php


13. Modifiez le fichier RM du répertoire racine vers le répertoire personnel
. 🎜>cd radiusmanager --> mv * ../ --> cd ../

14. Modifier les autorisations du fichier de répertoire
chattr -i /home/wwwroot/votre nom de domaine/.user .ini

chown www:www -R /home/wwwroot/votre nom de domaine

chmod -R 777 /home/wwwroot/votre nom de domaine
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

Redémarrez le serveur. Adresse d'accès : Votre nom de domaine/admin.php Mot de passe administrateur du compte 1111
Adresse d'accès utilisateur : Votre nom de domaine/user.php Mot de passe de l'utilisateur du compte 1111


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn