古河電工ネットワーク機器の総合ブランド ファイテルネット
古河電工
FITELnetトップ製品ラインナップイベント&セミナーセールス&サポート
Routing to the Future FITELnet
お問い合わせはこちら
 
設定例
動的MACアドレスフィルタリング(MACアドレス認証)機能・応用設定例
概要
RADIUSサーバを本店側に設置して、本店・拠点それぞれ接続する端末に対してMACアドレス認証を行う場合の設定例です。
この例では端末ごとに接続可能な装置(本店・拠点)や接続可能なインタフェースを限定する方法について解説します。

【ポイントとなる設定】
aaa group server radius (基本設定モード)
  RADIUSサーバグループ設定モードに移行し、RADIUS問い合わせに関する各種設定を行います。
nas-ip-address (RADIUSサーバグループ設定モード)
  RADIUS問い合わせメッセージでNAS-IP-Addressアトリビュートを通知します。
nas-port interface-number (RADIUSサーバグループ設定モード)
  RADIUS問い合わせメッセージでNAS-Portアトリビュートを通知します。
  (通知されるインタフェースナンバーについてはマニュアルをご参照ください)

【補足・注意点】
この設定を利用する場合、RADIUSサーバはNAS-IP-Address、NAS-Portアトリビュートの通知に対応した実装であることが必要です。
ここではFreeRadius ver 2.1系を使用して動作確認を行っております。
(RADIUSサーバの設定ファイルの記述についてもFreeRadius ver 2.1系のものとなっています)

端末A…本店側関係者の端末(MACアドレス00:01:02:03:04:05)
 本店側のLAN1インタフェースに接続可能
 拠点側のLAN1インタフェースには接続不可能だが、VLANIF1インタフェースには接続可能

端末B…拠点側関係者の端末(MACアドレス06:07:08:09:0a:0b)
 拠点側のLAN1インタフェースには接続可能
 それ以外は接続不可能
【RADIUSサーバの設定ファイルの記述について】
(1)clinentsの記述
動的MACアドレスフィルタリング(MACアドレス認証)機能・基本設定例と同じものになります。

(2)usersの記述
接続可能なFITEL装置や接続可能なインタフェースを限定したい場合、usersファイルのほかにhuntgroupsファイルの記述が必要となります。
詳細は下記のRADIUSサーバ設定例をご参照ください。


本店側コマンド例
(!の行はコメントです。実際に入力する必要はありません。)
この設定を利用したい方は
!
!
! 特権ユーザモードに移行します。
!
Router> enable
Enter password: super ←パスワードを入力します(実際は何も表示されません)。

Router#
!
!
! 基本設定モードに移行します。
!
Router# configure terminal
Router(config)#
!
!
! ホスト名を設定します。
!
Router(config)# hostname HONTEN
!
!
! LAN1インタフェースの設定を行います。
!
HONTEN(config)# interface lan 1
HONTEN(config-if lan 1)# ip address 192.168.0.1 255.255.255.0
HONTEN(config-if lan 1)# exit
!
!
! VLANIF1インタフェースの設定を行います。
! (LANポート4をポートVLANでVLANIF1に割り当て)
!
HONTEN(config)# line lan
HONTEN(config-line lan)# vlan 4 bridge-group 1
HONTEN(config-line lan)# vlan 4 port-vlan 10
HONTEN(config-line lan)# exit
HONTEN(config)# interface vlanif 1
HONTEN(config-if vlanif 1)# bridge-group lan 1
HONTEN(config-if vlanif 1)# vlan-id 10
HONTEN(config-if vlanif 1)# ip address 192.168.1.1 255.255.255.0
HONTEN(config-if vlanif 1)# exit
!
!
! PPPoE1の各種設定をします。
!
HONTEN(config)# interface pppoe 1
HONTEN(config-if pppoe 1)# pppoe server FLETS
HONTEN(config-if pppoe 1)# pppoe account abc012@***.***.ne.jp pass012
HONTEN(config-if pppoe 1)# pppoe type host
HONTEN(config-if pppoe 1)# ip address 192.0.2.1
HONTEN(config-if pppoe 1)# ip nat inside source list 1 interface
HONTEN(config-if pppoe 1)# exit
!
!
! access-list に、NAT変換対象とするアドレス(LAN側アドレス)を登録します。
!
HONTEN(config)# access-list 1 permit 192.168.0.0 0.0.0.255
!
!
! VPN機能を有効にします。
!
HONTEN(config)# vpn enable
!
!
! VPN通信動作中の詳細なログを残す設定にします。
!
HONTEN(config)# vpnlog enable
!
!
! 拠点用のPhase1ポリシーの設定を行ないます。
!
HONTEN(config)# crypto isakmp policy 1
HONTEN(config-isakmp)# negotiation-mode aggressive
HONTEN(config-isakmp)# authentication prekey
HONTEN(config-isakmp)# encryption aes 256
HONTEN(config-isakmp)# group 2
HONTEN(config-isakmp)# hash sha
HONTEN(config-isakmp)# key ascii secret-vpn
HONTEN(config-isakmp)# peer-identity host id-kyoten1
HONTEN(config-isakmp)# exit
!
!
! Phase2ポリシーの設定を行ないます。
!
HONTEN(config)# ipsec transform-set P2-POLICY esp-aes-256 esp-sha-hmac
!
!
! ipsec access-listの設定を行ないます。
!
HONTEN(config)# ipsec access-list 1 ipsec ip any any
HONTEN(config)# ipsec access-list 64 bypass ip any any
!
!
! 拠点用のcrypto mapの設定を行ないます。
!
HONTEN(config)# crypto map kyoten1 1
HONTEN(config-crypto-map)# match address 1
HONTEN(config-crypto-map)# set peer host id-kyoten1
HONTEN(config-crypto-map)# set transform-set P2-POLICY
HONTEN(config-crypto-map)# exit
!
!
! IPsec1インタフェースの設定を行います。
!
HONTEN(config)# interface ipsecif 1
HONTEN(config-if ipsecif 1)# crypto map kyoten1
HONTEN(config-if ipsecif 1)# exit
!
!
! ルート情報の設定によって、どの通信をIPsec対象とするか指定します。
!
HONTEN(config)# ip route 192.168.10.0 255.255.255.0 connected ipsecif 1
HONTEN(config)# ip route 192.168.20.0 255.255.255.0 connected ipsecif 1
!       拠点のLANネットワークへの経路
HONTEN(config)# ip route 10.0.0.1 255.255.255.255 connected ipsecif 1
!       拠点からのRADIUS問い合わせの応答を返すための経路
!       拠点のLoopbackアドレス宛てのホスト経路を設定します。
HONTEN(config)# ip route 0.0.0.0 0.0.0.0 pppoe 1
!
!
! RADIUSサーバグループの設定をします。
!
HONTEN(config)# aaa group server radius RADIUS-1
!    MACアドレス認証を行う際に問い合わせるRADIUSサーバグループを設定します
HONTEN(config-sg-radius)# server-private 192.168.1.100 key SECRET
!    問い合わせ先RADIUSサーバのIPアドレスと共有シークレットを指定
!    server-private設定は最大3件まで設定可能
!
!    本店側はRADIUSサーバが直接接続されているのでsource-address指定は不要です
HONTEN(config-sg-radius)# nas-ip-address 192.168.1.1
!    RADIUS問い合わせメッセージでNAS-IP-Addressアトリビュートを通知します
!    ここでは問い合わせ時の送信元アドレスを通知させています
HONTEN(config-sg-radius)# nas-port interface-number
!    RADIUS問い合わせメッセージでNAS-Portアトリビュートを通知します
HONTEN(config-sg-radius)# exit
!
!
! LAN1インタフェースでMACアドレス認証を行う設定を追加します。
!
HONTEN(config)# interface lan 1
HONTEN(config-if lan 1)# aaa authentication macfilter default group RADIUS-1
!    このインタフェースでMACアドレス認証を行います
!    認証の問い合わせ先のRADIUSサーバグループを指定します
HONTEN(config-if lan 1)# exit
!
!
! 特権ユーザモードに戻ります。
!
HONTEN(config)# end
!
!
! 設定を保存します。
!
HONTEN# save SIDE-A.cfg
% saving working-config
% finished saving

HONTEN#
!
!
! 設定を有効にするために再起動します。
!
HONTEN# reset
Are you OK to cold start?(y/n) y
拠点側コマンド例
(!の行はコメントです。実際に入力する必要はありません。)
この設定を利用したい方は
!
!
! 特権ユーザモードに移行します。
!
Router> enable
Enter password: super ←パスワードを入力します(実際は何も表示されません)。

Router#
!
!
! 基本設定モードに移行します。
!
Router# configure terminal
Router(config)#
!
!
! ホスト名を設定します。
!
Router(config)# hostname KYOTEN
!
!
! LAN1インタフェースの設定を行います。
!
KYOTEN(config)# interface lan 1
KYOTEN(config-if lan 1)# ip address 192.168.10.1 255.255.255.0
KYOTEN(config-if lan 1)# exit
!
!
! VLANIF1インタフェースの設定を行います。
! (LANポート4をポートVLANでVLANIF1に割り当て)
!
KYOTEN(config)# line lan
KYOTEN(config-line lan)# vlan 4 bridge-group 1
KYOTEN(config-line lan)# vlan 4 port-vlan 10
KYOTEN(config-line lan)# exit
KYOTEN(config)# interface vlanif 1
KYOTEN(config-if vlanif 1)# bridge-group lan 1
KYOTEN(config-if vlanif 1)# vlan-id 10
KYOTEN(config-if vlanif 1)# ip address 192.168.20.1 255.255.255.0
KYOTEN(config-if vlanif 1)# exit
!
!
! Loopback1インタフェースの設定を行います。
!
KYOTEN(config)# interface loopback 1
KYOTEN(config-if loopback 1)# ip address 10.0.0.1
KYOTEN(config-if loopback 1)# exit
!
!
! PPPoE1の各種設定をします。
!
KYOTEN(config)# interface pppoe 1
KYOTEN(config-if pppoe 1)# pppoe server FLETS
KYOTEN(config-if pppoe 1)# pppoe account abc345@***.***.ne.jp pass345
KYOTEN(config-if pppoe 1)# pppoe type host
KYOTEN(config-if pppoe 1)# ip nat inside source list 1 interface
KYOTEN(config-if pppoe 1)# exit
!
!
! access-list に、NAT変換対象とするアドレス(LAN側アドレス)を登録します。
!
KYOTEN(config)# access-list 1 permit 192.168.10.0 0.0.0.255
!
!
! VPN機能を有効にします。
!
KYOTEN(config)# vpn enable
!
!
! VPN通信動作中の詳細なログを残す設定にします。
!
KYOTEN(config)# vpnlog enable
!
!
! Phase1ポリシーの設定を行ないます。
!
KYOTEN(config)# crypto isakmp policy 1
KYOTEN(config-isakmp)# negotiation-mode aggressive
KYOTEN(config-isakmp)# authentication prekey
KYOTEN(config-isakmp)# encryption aes 256
KYOTEN(config-isakmp)# group 2
KYOTEN(config-isakmp)# hash sha
KYOTEN(config-isakmp)# key ascii secret-vpn
KYOTEN(config-isakmp)# my-identity id-kyoten1
KYOTEN(config-isakmp)# peer-identity address 192.0.2.1
KYOTEN(config-isakmp)# exit
!
!
! Phase2ポリシーの設定を行ないます。
!
KYOTEN(config)# ipsec transform-set P2-POLICY esp-aes-256 esp-sha-hmac
!
!
! VPNセレクタの設定を行ないます。
!
KYOTEN(config)# ipsec access-list 1 ipsec ip any any
KYOTEN(config)# ipsec access-list 64 bypass ip any any
!
KYOTEN(config)# crypto map center 1
KYOTEN(config-crypto-map)# match address 1
KYOTEN(config-crypto-map)# set peer address 192.0.2.1
KYOTEN(config-crypto-map)# set security-association always-up
KYOTEN(config-crypto-map)# set transform-set P2-POLICY
KYOTEN(config-crypto-map)# exit
!
!
! IPsec1インタフェースの設定を行います。
!
KYOTEN(config)# interface ipsecif 1
KYOTEN(config-if ipsecif 1)# crypto map center
KYOTEN(config-if ipsecif 1)# exit
!
!
! ルート情報の設定によって、どの通信をIPsec対象とするか指定します。
!
KYOTEN(config)# ip route 192.168.0.0 255.255.255.0 connected ipsecif 1
KYOTEN(config)# ip route 192.168.0.0 255.255.255.0 connected null 0 100
!       本店のLANネットワークへの経路
!       ipsecif向きルートよりも低い優先度(distance値100)で廃棄向きルートを
!       登録することで、IPsecインターフェースがダウンしたときに本店宛の
!       通信が平文で出ていかないようになります。
KYOTEN(config)# ip route 192.168.1.0 255.255.255.0 connected ipsecif 1
KYOTEN(config)# ip route 192.168.1.0 255.255.255.0 connected null 0 100
!       本店のRADIUSサーバが設置されているネットワークへの経路
KYOTEN(config)# ip route 0.0.0.0 0.0.0.0 pppoe 1
!
!
! RADIUSサーバグループの設定をします。
!
KYOTEN(config)# aaa group server radius RADIUS-1
!    MACアドレス認証を行う際に問い合わせるRADIUSサーバグループを設定します
KYOTEN(config-sg-radius)# server-private 192.168.1.100 key SECRET
!    問い合わせ先RADIUSサーバのIPアドレスと共有シークレットを指定
!    server-private設定は最大3件まで設定可能
KYOTEN(config-sg-radius)# source-address 10.0.0.1
!    RADIUS問い合わせを行うときの送信元アドレス(Loopback1のアドレス)を指定
KYOTEN(config-sg-radius)# nas-ip-address 10.0.0.1
!    RADIUS問い合わせメッセージでNAS-IP-Addressアトリビュートを通知します
!    ここでは問い合わせ時の送信元アドレスを通知させています
KYOTEN(config-sg-radius)# nas-port interface-number
!    RADIUS問い合わせメッセージでNAS-Portアトリビュートを通知します
KYOTEN(config-sg-radius)# exit
!
!
! LAN1インタフェースでMACアドレス認証を行う設定を追加します。
!
KYOTEN(config)# interface lan 1
KYOTEN(config-if lan 1)# aaa authentication macfilter default group RADIUS-1
!    このインタフェースでMACアドレス認証を行います
!    認証の問い合わせ先のRADIUSサーバグループを指定します
KYOTEN(config-if lan 1)# exit
!
!
! VLANIF1インタフェースでMACアドレス認証を行う設定を追加します。
!
KYOTEN(config)# interface vlanif 1
KYOTEN(config-if vlanif 1)# aaa authentication macfilter default group RADIUS-1
!    このインタフェースでMACアドレス認証を行います
!    認証の問い合わせ先のRADIUSサーバグループを指定します
KYOTEN(config-if vlanif 1)# exit
!
!
! 特権ユーザモードに戻ります。
!
KYOTEN(config)# end
!
!
! 設定を保存します。
!
KYOTEN# save SIDE-A.cfg
% saving working-config
% finished saving

KYOTEN#
!
!
! 設定を有効にするために再起動します。
!
KYOTEN# reset
Are you OK to cold start?(y/n) y
RADIUSサーバ設定例

◆usersファイル
行頭のユーザ名と同じ行にパスワードを記述し、その後ろに","(カンマ)で区切って
Huntgroup-Name という属性を記述します。
これにより、huntgroupsファイルの内容をHuntgroup-Nameで指定した名称で検索します。

# users設定例ここから
# 端末A(MACアドレス00:01:02:03:04:05)の認証情報
000102030405     Cleartext-Password := "000102030405", Huntgroup-Name == "deviceA"

# 端末B(MACアドレス06:07:08:09:0a:0b)の認証情報
060708090a0b     Cleartext-Password := "060708090a0b", Huntgroup-Name == "deviceB"

# users設定例ここまで


◆huntgroupsファイル
クライアントから通知されたNAS-IP-Address, NAS-Portによる絞り込みを定義するファイルです。
行頭のユーザ名部分は Huntgroup-Name で指定された文字列で検索され、ヒットした場合は
内容に記述されたNAS-IP-Address, NAS-Portと一致するかチェックして、一致した場合にのみ
接続許可を応答します。
usersでHuntgroup-Nameの指定があって、huntgroupsの検索にマッチしなかった場合は
接続拒否を応答します。

この設定例の場合
 端末A:
  本店(NAS-IP:192.168.1.1を通知)のLAN1(NAS-Port:1)と
  拠点(NAS-IP:10.0.0.1を通知)のVLANIF1(NAS-Port:4) で接続を許可
 端末B:
  拠点(NAS-IP:10.0.0.1を通知)のLAN1(NAS-Port:1) で接続を許可
これをhuntgroupsに記述すると以下のようになります。

# huntgroups設定例ここから
# 端末A(ハントグループ名deviceA)のNAS通知情報で許可するもの
deviceA     NAS-IP-Address == 192.168.1.1, NAS-Port == 1
deviceA     NAS-IP-Address == 10.0.0.1, NAS-Port == 4
# 同一のハントグループ名で複数のNAS-IP-Address, NAS-Portの組み合わせを
# 記述する場合は、行頭のハントグループ名から1件ずつ記述します

# 端末B(ハントグループ名deviceB)のNAS通知情報で許可するもの
deviceB     NAS-IP-Address == 10.0.0.1, NAS-Port == 1

# users設定例ここまで
動作状況の確認

MACアドレス認証による接続端末の認証状況を表示します。
nas-port interface-number 設定が有効な状態で認証した端末についてはNAS-Port欄にインタフェースナンバーが表示されます。

確認内容 画面表示例
MACアドレス認証による認証状況を表示



端末B(MACアドレス06:07:08:09:0a:0b)はMACアドレス自体は許可対象に合致しますがハントグループに記載されたNASのIP・ポートが合致しないため不許可となっています。
HONTEN#show macfilter interface
MacAddress      AuthStatus     Elapsec     Timeout     NAS-Port
[LAN1]
0001.0203.0405  AUTHORIZED                 2251        1
0607.0809.0a0b  UNAUTHORIZED   25                      1

RADIUSサーバへの問い合わせ動作の統計情報を表示します。

確認内容 画面表示例
RADIUS統計情報を表示



応答が返ったRADIUSサーバはStatusがupとなります。
(問い合わせに失敗して使用不可と判断されたサーバはdownと表示)









問い合わせに結果が許可となった場合はAuth-Acceptが、不許可となった場合はAuth-Rejectがカウントアップします。
HONTEN#show radius
[ Radius group : RADIUS-1 ]
Server                                   Status  Auth-port
---------------------------------------- ------- ---------
*192.168.1.100                            up      1812
  Radius retransmit count :    3
  Radius timeout          :    5 seconds
  Radius changeback time  :    0 minutes (00:00:00)
  Timeout/Last timeout    :          0/
  Radius send             :          2
    Auth-Request/error    :          2/         0
    Acct-Request/error    :          0/         0
      Type start/error    :          0/         0
      Type stop/error     :          0/         0
      Type on/error       :          0/         0
      Type off/error      :          0/         0
  Radius recv             :          2
    Auth-Accept/error     :          1/         0
    Auth-Reject/error     :          1/         0
    Acct-Response/error   :          0/         0
    Auth-Challenge/error  :          0/         0
認証済みMACアドレスの無効化

接続許可となっている端末MACアドレスは、clear macfilter interfaceコマンドにより手動で無効化できます。
認証状態が無効化された端末は、次に通信を行った時に再認証されます。
RADIUSサーバ側のusers設定で許可対象から外す変更を行った場合、Session-Timeout属性がセットされていないエントリだと認証済みの状態で残り続けるため、clear macfilter interfaceコマンドによる無効化が必要です。

実行内容 画面表示例
LAN1インタフェースに接続している端末
(MACアドレス00:01:02:03:04:05)の認証を無効化する
HONTEN#clear macfilter interface lan 1 0001.0203.0405

ページトップへ

All Rights Reserved, Copyright(C) FURUKAWA ELECTRIC CO., LTD. 2015