【freeradius 2.x】インストールと学習


仮想マシンにおけるcentosのradius 2バージョンのインストールと学習は2.2である.xの使用等の知識

インストール


テストのためyumインストール

yum -y install freeradius*

プロファイルの場所は/etc/raddb/コンパイルインストールは/usr/local/etc/raddbである可能性があります

# /etc/init.d/radiusd

  :/etc/init.d/radiusd {start|stop|status|restart|condrestart|try-restart|reload|force-reload}

yumは自動的にサービススクリプトを生成し、radiusをサービスとして直接使用できます.

プロファイル


[root@orangleliu raddb]# tree -L 1

.

├── acct_users

├── attrs

├── attrs.access_challenge

├── attrs.access_reject

├── attrs.accounting_response

├── attrs.pre-proxy

├── certs

├── clients.conf

├── dictionary

├── eap.conf

├── example.pl

├── hints

├── huntgroups

├── ldap.attrmap

├── modules

├── panic.gdb

├── policy.conf

├── policy.txt

├── preproxy_users

├── proxy.conf

├── radiusd.conf

├── sites-available

├── sites-enabled

├── sql

├── sql.conf

├── sqlippool.conf

├── templates.conf

└── users



5 directories, 23 files

プロファイルの構造は大体このようにして、大部分の機能はすべてプロファイルを通じて完成して、プロファイルの熟知に対してとても重要で、各プロファイルの中ですべて大量の説明があって、よく読んで基本的にどのように操作するかを知っています.
radtestはテストに使用するツールで、検査とテストに非常に役立ちます.
  • radiusd.confプライマリプロファイル
  • clients.confクライアント内のNASデバイス(例えばBRAS)を構成するために使用され、ローカルテストclient
  • が付属する.
  • usersはユーザ情報を構成し、一部のユーザに対して認証規則を設定し、papのモードしか使用できず、パスワード暗号化
  • を設定することができる.
  • sql.confどのデータベースを使用するかなど、sqlルールなど
  • を構成する.
  • site-available site-enabledはvirtual serverを格納ディレクトリであり、Apacheのような構成ポリシー
  • である.

    コンセプト

  • NASデバイス:ネットワークアクセスデバイス、ここでは一般的にRadius Client
  • 認証および認証UDP 1812ポート
  • を使用
  • 課金UDP 1813ポート
  • 使用

    コマンド#コマンド#

  • radiusd freeradiusメインプログラム、一般的にデバッグデバッグモードはradiusd -Xxを使用して
  • を起動する.
  • radlastは、NASを介してユーザがログインすることを問い合わせるための
  • である.
  • radtest NASデバイス送信要求
  • をシミュレートするために使用される.
  • radwho現在のオンラインを表示するユーザーは、構成コンパイルなどの理由で
  • を使用できない可能性があります.
  • radrapあるNASのすべてのセッション
  • を閉じる

    機能


    資格認定


    3つの一般的な認証プロトコルがあり、この3つのプロトコルにはユーザー名とパスワードが必要で、テキストプロトコルと言えるので、観察とテストが容易です.
  • PAP
  • redtestコマンドのデフォルトは、このプロトコルを使用し、最も広範なプロトコルを使用することです.
  • NASは、ユーザー名と暗号化されたパスワードを使用して、Radiusサーバと対話します.
  • 暗号明文記憶

  • テスト、ユーザー情報userファイルでの構成
    
    radtest  alice passme 127.0.0.1 100 testing123
    
    Sending Access-Request of id 41 to 127.0.0.1 port 1812
    
        User-Name = "alice"
    
        User-Password = "passme"
    
        NAS-IP-Address = 127.0.0.1
    
        NAS-Port = 100
    
        Message-Authenticator = 0x00000000000000000000000000000000
    
    rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=41, length=40
    
        Framed-IP-Address = 192.168.59.103
    
        Reply-Message = "Hello, alice"
    
  • CHAP
  • PAPのアップグレードバージョン
  • 握手
  • を追加
  • 暗証番号明文記憶暗証番号相互使用暗号文
  • MS-CHAP
  • マイクロソフトバージョンのCHAPプロトコル
  • EAP拡張プロトコル
  • ユーザーストレージ


    どちらもおすすめしません
  • ファイル方式プロファイルusersファイルを使用してユーザとパスワード
  • を格納する.
  • Unixシステムユーザーは、実は/etc/shadowを使用して格納されているユーザー情報です(ただし、権限の問題に注意して、site-enableでauthorizeでunix構成を開く必要があります)
  • データベース方式、例えばMysql.
  • mysqlプラグインyum install freeradius2-mysql
  • をインストール
  • データベースを作成し、初期化入力(ドキュメントに従えばよい)
  • をインポートする.
  • radius.conf# $INCLUDE sql.conf行の注釈
  • を編集する.
  • sql.confにおけるmsqlの認証情報
  • を編集する.
  • 編集sites-enabled/defaultauthorize部分sqlを削除するオプションコメント

  • チャージプロセス


    課金と認証は相対的に独立しており、プロセス全体を制御するためにNASが必要です.
    ユーザーのインターネット接続時間やトラフィックデータなどを統計するために使用できます.
  • 課金Accounting-Request要求の送信を開始し、セッションを開始し、セッションid
  • を割り当てる
  • 課金要求のステータスフィールドAcct-status-TypeはStart, Interim-Update, Stopでセッションのライフサイクル
  • を操作する.

    に質問


    複数のデータベースの構成


    参照freeradius-checking-account-on-multiple
  • まずデータベースプロファイルsqlを編集する.confはsql構成ブロックを追加し、sql dbname{}dbnameは別名に似ており、構成項目は元の構成に従って書けばよい
  • その後site-enable/defaultの元の構成項目sqlを注釈してdbnameを追加すると、dbnameで構成されたデータベースが
  • に使用されます.

    学習資料

  • 公式文書
  • network radius
  • FreeRadius Beginner’s Guide