ホームページ  >  記事  >  運用・保守  >  LNMP 環境に FreeRadius をインストールするためのサンプル チュートリアル

LNMP 環境に FreeRadius をインストールするためのサンプル チュートリアル

PHP中文网
PHP中文网オリジナル
2017-06-21 10:35:262317ブラウズ

1. Web 環境をインストールし、LNMP ワンクリック インストール パッケージを使用します
具体的なインストール手順を参照してください

2. インストールが完了したら、LNMP の不足しているコンポーネントをインストールします
ionCube コンポーネントのインストール
lnmp が存在するディレクトリに入ります解凍して実行します: ./addons. sh install ionCube
Enter キーを押して確認すると、ionCube ローダーが自動的にインストールされます。

yum install 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: 共有オブジェクト ファイルを開けません: そのようなファイルがありません。または

解決策は、/usr/local/lib を /etc/ld.so.conf に追加することです

ld.so.conf ファイルの内容は次のとおりです:

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
radiusが単独で占有されていることが判明

処理方法(暴力点)

kill 11163(radiusプロセスの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-mysql freeradius-utils

を使用すると、RADIUS を 1 ステップでインストールできます。問題を見つけたら、いつでも見つけて解決できます

radius ファイルを設定するには 2 つの方法があります:

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」(行 743) を探します712)、# 番号を削除します


# /usr/local/etc/raddb/sites-enabled/default ファイルをクリアし、設定されたファイルの内容を直接コピーして保存します
cat /dev/null > /usr/local/ 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
行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. simul_count_query を探して削除します。 279 ~ 282 行目のコメント。 simul_count_query 関数を開きます

# /usr/local/etc/raddb/sql/mysql/counter.conf ファイルを編集し、カスタム計算関数を追加します

monthlytrafficcounter (月次トラフィック計算) と yearlytrafficcounter (計算)毎年のトラフィック)
vi /usr/local/etc/raddb/sql/mysql/counter.conf

在末尾追加
sqlcountermonthlytrafficcounter {
counter-name = Monthly-Traffic
check-name = Max-Monthly-Traffic
reply-name = Monthly-Traffic-Limit
sqlmod-inst = sql
key =リセット= 毎月
query = " SELECT ABS(SUM(acctinputoctets + acctoutputoctets) DIV 1048576) FROM radacct WHERE UserName='%{%k}' AND AcctStartTime >= date_sub(curdate(), 間隔 30 日)"
}

sqlcounter yearlytrafficcounter {

counter-name = 年間トラフィック
check-name = Max-年間トラフィック
reply-name = 年間トラフィック制限
sqlmod-inst = sql
key = ユーザー名
reset = none
クエリ = " 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 3004 integer
属性 Acct-Interim -Interval 85 integer
ATTRIBUTE Max-Yealy-Traffic 3003 integer
ATTRIBUTE 年間トラフィック制限 3004 integer

7.構築MySql関連データ次の 2 つの方法を使用して、
LNMP 環境を構築します。下phpmyadmin、http://你的IP/phpmyadmin
建立双データ库radiusおよびconntrack
入後点:账号---新增用户账号
充填写好用户名および密码、固定点击(用户账号データベース库下の创建) )

B. ssh ログイン コマンドを使用して
mysql -u root -p 暗号を作成します。超级账号rootと密码

CREATE DATABASE radius;                                         #创建radiusデータベース库

CREATE DATABASE conntrack;                                      #创建conntrackデータベース库
CREATE USER ‘radius’@’localhost’ IDENTIFIED BY ‘radius123’;     #创建用户radius,密码radius123
CREATE USER ‘conntrack’@’localhost’ IDENTIFIED BY ‘conn123’;    #创建用户conntrack,密码conn123
radius にすべてを許可します。* 宛先 radius@localhost;                      #给radiusデータベース库設置访问权制限
conntrack にすべてを許可します。* conntrack@localhost;                #给conntrackデータベース库设置访问权制限

8.構成freeradius数据库
/usr/local/etc/raddb/sql.conf #radius/radius123

# 接続情報:

サーバー = “ローカルホスト”
#ポート = 3306
ログイン= “radius”
password = “radius123”

找到readclients一行,设為yes并去掉注释シンボル#

这里要特说明一下,如果在取付freeraduis是使用的是第6点里云直接取付的话,那么sql.conf このファイルは /etc/raddb/sql.conf にあります。地盤、私がダウンロードしたRM3.9バージョンは破壊的であるため、許可ファイルとMACアドレスはすべて破壊者によって配布されています(再実行が必要ですPS:RM4.16は同じ方法で処理できません、研究可能な友人がいます、そして私交流一下)

このコマンドは使用できません:ifconfig eth0 down(ネットワーク禁止)、ssh 接続の使用はこれを使用します、立马就在線了、不用我说原因吧。


正しい方法:

winscp を使用します/etc/sysconfig/network-scriptsriifcfg-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 を使用してルート目录

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 を使用します)
オペレーティング システムの種類を選択します:
Redhat (Fedora、CentOS など)
2. Debian (Ubuntu など)
オプションを選択します: [1] (私の場合は centos システムです)

選択したオペレーティング システム: REDHAT
インストールの種類を選択します:
新規インストール
2. 古いシステムを選択します。オプション: [1] (新規インストール)

選択したインストール方法: 新規インストール

WWW ルート パス: [/var/www/html] ここを作成した Web ディレクトリに変更します /home/wwwroot/ドメイン名
RADIUS データベース ホスト: [localhost]
RADIUS データベース ユーザー名: [radius] RADIUS データベースのパスワード: [ #conntrack BCTS データベースのパスワードを使用します: [Conn123] 設定した Conntrack のパスワード
Freeradius UNIX ユーザー: [root]#Use ROOT
HTTPD Unix ユーザー: [ Apache] www に変更します
RMPoller サービスの作成: [Y]
RMConntrack サービスの作成: [y]
RADIUS データベースのバックアップ: [y]
警告! 続行すると、既存の RADIUS データベースが上書きされます!
本当に開始しますか?インストール? [n] y
インストール プロセスを開始しています…
WEB コンテンツを /home /wwwroot/yourdomain/radiusmanager にコピーしています
バイナリを /usr/local/bin にコピーしています
rootexec を /usr/local/sbin にコピーしています
radiusmanager.cfg をコピーしています/etc に
RADIUS データベースをバックアップしています…
MySQL テーブルを作成しています
rmpoller サービスを作成しています
rmconntrack サービスを作成しています
logrotate スクリプトをコピーしています
raddb ファイルに権限を設定しています
radiusd 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。