Cisco Catalyst 1300 スイッチ RADIUS 認証による管理ログイン設定ガイド

目次

RADIUS ユーザを使用して管理ログインを行う

中規模・大規模のネットワークでは、ネットワーク機器への管理アクセス(Telnet/SSH/Web)時の認証方式をネットワーク内に存在する RADIUS サーバを使用したユーザ認証としているケースが良くあります。

Catalyst 1300 スイッチでも管理アクセス時の認証方式を RADIUS サーバを使用したユーザ認証にすることができます。本記事ではこの設定方法を説明します。

動作確認環境

  • Cisco C1300-8T-E-2G
    • Version: 4.1.6.54
  • FreeRADIUS
    • CentOS Stream release 9
    • freeradius-3.0.21-44.el9.x86_64
    • freeradius-utils-3.0.21-44.el9.x86_64

RADIUS 認証にするための設定手順

管理ログインの認証方式を RADIUS サーバを使用した認証にするための設定手順は以下の通りです。

  • RADIUS サーバを定義する設定を行う
  • (オプション) RADIUS 通信のソースインターフェースの設定
  • RADIUS サーバを使用する AAA ログイン認証方式を定義する設定を行う
  • 対象プロトコルに対して RADISU サーバを使用する認証方式を適用する

RADIUS サーバを定義する設定

まずグローバルコンフィギュレーションモードにて RADIUS サーバの定義を行います。設定は以下のコマンドで行います。

RADIUS サーバの定義
  • (config)# radius-server host <RADIUSサーバアドレス> key <radiusキー>
補足情報
  • <RADIUSサーバアドレス>:RADIUS サーバのアドレスを指定
  • <radiusキー>:RADIUS サーバで設定している RADIUS キーと同じ値を指定する
その他オプション

以下のオプションを任意で追加して指定することが可能。

  • auth-port <ポート番号>:認証要求のポート番号。デフォルトは「1812」
  • acct-port <ポート番号>:アカウンティング要求のポート番号。デフォルトは「1813」
  • timeout <1-30>:タイムアウト値を秒単位で指定.。デフォルトは「3」(Global 値)
  • retransmit <1-15>:再試行の再送信の数を指定.。デフォルトは「3」(Global 値)
  • deadtime <0-2000>:RADIUS サーバがトランザクション要求によって省略される間の期間を分単位で指定.。デフォルトは「0」(Global 値)
  • priority <0-65535>:サーバを使用する順序を指定。0 は最高の優先度。デフォルトは「0」
  • usage {login | dot1.x | all}:RADIUS サーバ使用タイプを指定。デフォルトは「all」

以下はアドレスが 10.2.1.100、RADIUS key が「radiuskey」の RADIUS サーバの定義を行う場合の設定例です。

C1300-8T(config)#radius-server host 10.2.1.100 key radiuskey

設定後 show run 上では以下のように RADIUS key が暗号化されて表示されます。

encrypted radius-server host 10.2.1.100 key LplZ2oyrGhCVueKHymUhvdBUueGAHoPqBNw4P1mRThU=

(オプション) RADIUS 通信のソースインターフェースの設定

必要に応じて RADIUS サーバと RADIUS 通信を行う際のソースインターフェース (ソースアドレス) を設定することができます。設定しない場合、ルーティングテーブルに基づいて RADIUS サーバへルーティングする際の出力インターフェースがソースインターフェースになります。

ソースインターフェースの設定はグローバルコンフィギュレーションモードにて以下コマンドで行います。

RADIUS ソースインターフェースの設定
  • (config)# radius-server host source-interface <インターフェース名>
補足情報
  • <インターフェース名>:RADIUS 通信のソースインターフェースを指定

以下は SVI の Vlan2 をソースインターフェースにする場合の設定例です。

C1300-8T(config)#radius-server host source-interface vlan 2

RADIUS サーバを使用する AAA ログイン認証方式を定義する設定

グローバルコンフィギュレーションモードにて以下のコマンドで AAA ログイン認証方式として RADIUS サーバを使用する認証方式を定義します。

RADIUS サーバを使用するログイン認証方式の定義
  • (config)# aaa authentication login <認証方式定義名> radius
補足情報
  • <認証方式定義名>:任意の定義名を指定

以下は「radiusSV」という定義名で RADIUS サーバを使用するログイン認証方式を定義する場合の設定例です。

C1300-8T(config)#aaa authentication login radiusSV radius

なお、RADIUS サーバとの通信ができなくなった場合を考慮して、RADIUS サーバと通信できない場合にローカルユーザ認証でログインできるように設定することが良くあります。このような動作にしたい場合は以下のようにコマンドの末尾に「local」を追加して設定します。

RADIUS サーバを使用するログイン認証方式の定義(2番目の認証方式にローカルユーザを使用)
  • (config)# aaa authentication login <認証方式定義名> radius local
補足情報
  • <認証方式定義名>:任意の定義名を指定

対象プロトコルに対して RADISU サーバを使用する認証方式を適用する

最後に Telnet/SSH/Web それぞれについて RADIUS サーバを使用するログイン認証方式を適用します。

Telnet、SSH の場合はそれぞれの line コンフィギュレーションモードにて以下のコマンドで設定します。

ログイン認証方式の適用(Telnet/SSH)
  • (config-line)# login authentication <認証方式定義名>
補足情報
  • <認証方式定義名>:適用する認証方式の定義名を指定

Web (HTTP/HTTPS) の場合は定義したログイン認証方式を適用するのではなく、直接認証方式として RADIUS を指定します。設定はグローバルコンフィギュレーションモードにて以下コマンドで行います。

ログイン認証方式の適用(Web)
  • (config)# ip http authentication aaa login-authentication radius [local]
補足情報
  • [local]:オプション。RADIUS サーバと通信できない場合にローカルユーザ認証でログインできるようにする場合は指定する

設定例:

C1300-8T(config)#line telnet
C1300-8T(config-line)# login authentication radiusSV

C1300-8T(config)#line ssh
C1300-8T(config-line)# login authentication radiusSV

C1300-8T(config)#ip http authentication aaa login-authentication radius local

RADIUS サーバ設定確認コマンド

  • #show radius-servers
    • RADIUS サーバ設定内容一覧を表示
C1300-8T#show radius-servers

   IP address   Port  Port  Time   Ret    Dead   Deadtime Priority  Force MA   Usage
                Auth  Acct   Out    rans   Time   Status            Attribute
--------------- ----- ----- ------ ------ ------ -------- -------- ----------- ------
  10.2.1.100    1812  1813  Global Global Global    Up       0      disabled    all


Global values
--------------

TimeOut : 3
Retransmit : 3
Deadtime : 0
Source IPv4 interface : vlan 2
Source IPv6 interface :

RADIUS サーバで定義したユーザの特権レベルについて

RADIUS サーバを使用した認証を行う場合、使用するユーザは RADIUS サーバ側で定義したユーザとなります。RADIUS サーバ側で定義したユーザのデフォルトの特権レベルは「1」となります。ユーザの特権レベルを変更する場合は RADIUS サーバ側でユーザの属性として設定することになります。特に、Web アクセスするためには特権レベルが「15」である必要があるため、特権レベルも忘れずに設計してください。

【参考】FreeRADIUS を使用した検証用 RADIUS サーバの構築方法

Linux OS にて RADIUS サーバを構築できるフリーソフトとして「FreeRADIUS」があります。ここでは OS として CentOS Stream 9 を使用する場合の検証用 FreeRADIUS の構築方法を説明します。

FreeRADIUS のインストール

まず以下コマンドで必要なパッケージをインストールします。

dnf install -y freeradius freeradius-utils

クライアント(オーセンティケータ)と RADIUS key の設定

Catalyst 1300 は RADIUS におけるオーセンティケータの役割を担います。FreeRADIUS の設定ファイル「/etc/raddb/clients.conf」にてオーセンティケータのアドレスと RADIUS key を設定します。

/etc/raddb/clients.conf」を vi 等のエディタで開き、末尾に以下の形式でオーセンティケータの設定を追記します。

client リスト名 {
  ipaddr = x.x.x.x/nn(オーセンティケータのアドレス)
  secret = RADIUS Keyとなる文字列
}

以下はリスト名が「mynetwork」、オーセンティケータのアドレスとして「10.2.1.0/24」(セグメント単位で指定)、RADIUS keyとして「radiuskey」を設定する場合の設定例です。

client mynetwork {
  ipaddr = 10.2.1.0/24
  secret = radiuskey
}

ユーザの設定

Catalyst 1300 の管理アクセス時に使用するユーザの設定を「/etc/raddb/users」を編集することで行います。

/etc/raddb/users」を vi 等のエディタで開き、末尾に以下の形式でユーザ設定を追記します。

ユーザ名 Cleartext-Password := "パスワード"
    Cisco-AVPair = "shell:priv-lvl=特権レベル" ★←特権レベルを指定する場合のみ記載、記載しない場合特権レベル1になる

以下はユーザ名が「useralpha」、パスワードが「alphapass」、特権レベルが「15」のユーザを設定する場合の設定例です。

useralpha Cleartext-Password := "alphapass"
    Cisco-AVPair = "shell:priv-lvl=15"

認証ログの保存設定

認証の成功/失敗のログを保存するよう「/etc/raddb/radiusd.conf」を編集します。

/etc/raddb/radiusd.conf」を vi 等のエディタで開き、log {} ディレクティブ内の以下3項目を探します。

log {
...
        auth = no
...
        auth_badpass = no
        auth_goodpass = no
}

デフォルトでは上のように「no」となっているため、この値を「yes」に変更します。

log {
...
        auth = yes
...
        auth_badpass = yes
        auth_goodpass = yes
}

これによりログファイル「/var/log/radius/radius.log」に認証成功/失敗ログが保存されるようになります。

firewalld の停止

firewalld のデフォルト設定では RADIUS 通信は許可されていないため、以下コマンドで firewalld を停止します。

systemctl disable --now firewalld

firewalld を停止する代わりに RADIUS サービスを許可する設定を追加することでも問題ありません。

FreeRadius の起動

設定がすべて完了したら FreeRADIUS のサービスを以下コマンドで起動します。

systemctl enable --now radiusd

既に FreeRADIUS のサービスが起動していた場合は設定変更後はサービスを再起動してください。

サーバ証明書の作成

radiusd を起動しようとしてもエラーとなり起動できない場合、「/var/log/radius/radius.log」のログを確認してください。以下のように「/etc/raddb/certs/server.pem」が無いというログが出力されている場合、サーバ証明書の作成が必要です。

Error: Unable to check file "/etc/raddb/certs/server.pem": No such file or directory

以下コマンドで「/etc/raddb/certs/」に移動後「make all」を実行することでサーバ証明書を作成できます。

cd /etc/raddb/certs/
make all

サーバ証明書作成後は radiusd を起動できるはずです。

RADIUS ログの確認

RADIUS ログの確認は以下コマンドで行います。

cat /var/log/radius/radius.log

認証成功・失敗時は以下のようなログが出力されます。

Sat Jun 28 19:55:51 2025 : Auth: (2) Login OK: [useralpha/alphapass] (from client mynetwork port 0)
Sat Jun 28 19:55:36 2025 : Auth: (1) Login incorrect (No Auth-Type found: rejecting the user via Post-Auth-Type = Reject): [admin/testpass] (from client mynetwork port 0)

参考資料


Cisco Catalyst 1300 スイッチ関連記事一覧


Amazon で買えるおすすめアイテム

以下は Amazon アフィリエイトリンクです。ネットワーク作業向けにそこそこおすすめなアイテムです。

ブログ始めるなら 【アフィリエイトリンク】

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次