データコネクトRADIUS認証機能

$Date: 2023/07/06 20:30:27 $


概要

データコネクト拠点間接続において、着信時に発信元のNGN電話番号をRADIUSで認証することができます。当機能を使用すると、ルーターのconfigに相手のNGN電話番号を設定することなく着信を受けることが可能です。


対応機種とファームウェアリビジョン

以下の機種およびファームウェアリビジョンで、データコネクトRADIUS認証機能を使用することができます。

機種 ファームウェア
vRX VMware ESXi版 すべてのリビジョン
RTX3510
RTX1300
RTX1220
RTX830
NVR510 Rev.15.01.03以降
NVR700W すべてのリビジョン
RTX1210
RTX5000
RTX3500
FWX120
RTX810 Rev.11.01.09以降
NVR500 Rev.11.00.36以降
RTX1200 Rev.10.01.42以降
RTX3000 Rev.9.00.56以降

動作確認済みRADIUSサーバー

以下のRADIUSサーバーで動作確認を行っています。


詳細

事前に設定が必要なコマンド

当機能を使用するには、事前に以下のコマンドを設定する必要があります。なお、各コマンドの詳細についてはコマンドリファレンスおよびコマンドを参照してください。

radius auth on
RADIUS認証を使用する設定にします。
radius auth server SERVER
RADIUS認証サーバーを設定します。
radius auth port PORT
RADIUS認証サーバーのUDPポート番号を設定します。
radius secret SECRET
RADIUSシークレットを設定します。
ngn radius auth password PASSWORD
NGN電話番号をRADIUSで認証するときに使用するパスワードを設定します。

以降の説明では、上記のコマンドがいずれも正しく設定されているものとします。

着信時の動作

ルーターが着信を受けた場合の動作は以下の通りです。

着信時の動作

ルーターが着信を受けるとconfigを参照し、発信元のNGN電話番号に一致するトンネルを探します。見つかった場合には接続を確立します。

発信元のNGN電話番号に一致するトンネルが見つからなかった場合、次にRADIUS認証可能なトンネルを探します。RADIUS認証可能なトンネルとは、以下の条件に当てはまるトンネルです。

上記の条件に当てはまるトンネルを、番号の小さいものから順に割り当てます。RADIUS認証に成功した場合は接続を確立します。

なお、発信者番号が通知されていない場合はRADIUS認証を行うことなく接続を拒否します。

ルーターからRADIUSサーバーに送信する属性

ルーターがRADIUSサーバーに送信するAccess-Requestには、以下の属性が含まれます。

User-Name

発信元のNGN電話番号をユーザー名として使用します。

User-Password

ngn radius auth passwordコマンドで設定した文字列をパスワードとして使用します。認証方式はPAPです。

NAS-IP-Address

ルーターのIPアドレスです。

RADIUSサーバーからルーターに送信する属性

ルーターは、RADIUSサーバーから受信したAccess-Acceptに含まれる以下の属性を処理します。

Framed-Route/Framed-IPv6-Route

着信時に割り当てたトンネルをゲートウェイとする宛先ネットワークアドレスを指定します。トンネルがUPしたときに、ルーターのルーティングテーブルに当属性で指定した経路が追加されます。また、この経路はトンネルがDOWNしたときに削除されます。経路の種別はtemporaryとなります。

Framed-Route属性はIPアドレスで指定する場合に、Framed-IPv6-Route属性はIPv6アドレスで指定する場合に、それぞれ使用します。

値には、以下のようにネットワークアドレスを文字列として記述します。

192.168.100.0/24
2001:0d88:0:1::/64

Access-Acceptに当属性を複数含めることで、同一のトンネルをゲートウェイとする経路を複数追加することができます。追加可能な経路の最大数はIPv4アドレス、IPv6アドレスで各16個ずつとなります。16個を超える経路情報がAccess-Acceptに含まれていた場合、パケットの先頭から16個までを登録し、残りは無視します。

実際に経路が追加されたか否かはshow ip route/show ipv6 routeコマンドで確認します。

Tunnel-Password

IPsec方式で接続する場合の事前共有鍵として使用します。値には、以下のように事前共有鍵を文字列として記述します。

himitsu

使用できる文字は半角英数字および記号 (7bit ASCII Codeで表示可能なもの) です。文字列の長さは1文字以上128文字以下です。

なお、トンネルにipsec ike pre-shared-keyコマンドの設定がある場合はそちらが優先されます。

同時に複数の着信を受ける場合

同時に複数の着信を受ける場合、その数だけトンネルを設定する必要があります。例えば同時に3拠点からの着信を受ける場合、3つのトンネルを設定します。

tunnel templateコマンドを使用すると、複数のトンネル設定を簡単に行うことができます。詳しくは設定例を参照してください。

なお、複数の拠点と通信する場合であっても、同時に受ける着信の数が1つであれば、トンネル設定は1つのみでかまいません。


コマンド

NGN電話番号をRADIUSで認証するときに使用するパスワードの設定

[書式]
ngn radius auth password PASSWORD
no ngn radius auth password
[設定値及び初期値]
[説明]
NGN電話番号をRADIUSで認証するときに使用するパスワードを設定する。NGN電話番号をユーザー名、当コマンドで設定した文字列をパスワードとしてRADIUSサーバーに問い合わせを行う。
PASSWORDに使用できる文字は半角英数字および記号 (7bit ASCII Codeで表示可能なもの) で、文字列の長さは0文字以上64文字以下となる。
[ノート]
当コマンドが設定されていない場合は、NGN電話番号をRADIUSで認証することができない。

NGN電話番号をRADIUSで認証するか否かの設定

[書式]
tunnel ngn radius auth USE
no tunnel ngn radius auth
[設定値及び初期値]
[説明]
データコネクトを利用した拠点間接続において、着信を受けたときに発信元のNGN電話番号をRADIUSで認証するか否かを設定する。
[ノート]
トンネルインタフェースが選択されている時にのみ使用できる。
トンネルに相手の電話番号が設定されている場合はRADIUS認証を行わない。
以下のコマンドが正しく設定されている必要がある。

トンネルテンプレートの設定 (仕様拡張)

[書式]
tunnel template TUNNEL [TUNNEL...]
no tunnel template
[設定値及び初期値]
[説明]
tunnel selectコマンドにて選択されたトンネルインタフェースを展開元として、当該インタフェースに設定されているコマンドの展開先となるトンネルインタフェースを設定する。
展開元のトンネルインタフェースに設定することで、展開先のトンネルインタフェースにも適用されるコマンドは以下のとおりである。
上記コマンドのうち以下のコマンドについては、特定のパラメータの値が展開元のトンネルインタフェース番号に一致する場合のみ、コマンドが展開される。その場合、当該パラメータの値は展開先のトンネルインタフェース番号に置換される。
コマンド パラメータ
ipsec tunnel ポリシーID
ipsec sa policy ポリシーID
ipsec ikeで始まるコマンド セキュリティ・ゲートウェイの識別子
ipsec auto refresh セキュリティ・ゲートウェイの識別子
tunnel enable トンネルインタフェース番号
ipsec sa policyコマンドでは、セキュリティ・ゲートウェイの識別子が展開先のトンネルインタフェース番号に置換される。
ipsec ike remote nameコマンドでは、相手側セキュリティ・ゲートウェイの名前の末尾に展開先のトンネルインタフェース番号が付加される。
展開元のトンネルインタフェースに設定されているコマンドと同じコマンドが、展開先のトンネルインタフェースに既に設定されている場合、展開先のトンネルインタフェースに設定されているコマンドが優先される。
コマンド展開後の、ルーターの動作時に参照される設定はshow config tunnelコマンドにexpandキーワードを指定することで確認できる。
[ノート]
トンネルインタフェースが選択されている時にのみ使用できる。
[設定例]
展開先のトンネルインタフェースとして、番号の指定と範囲の指定を同時に記述することができる。
tunnel select 1
 tunnel template 8 10-20
tunnel select 2
 tunnel template 100 200-300 400
以下の2つの設定は同じ内容を示している。
tunnel select 1
 tunnel template 2
  ipsec tunnel 1
  ipsec sa policy 1 1 esp aes-cbc sha-hmac
  ipsec ike encryption 1 aes-cbc
  ipsec ike group 1 modp1024
  ipsec ike local address 1 192.168.0.1
  ipsec ike pre-shared-key 1 text himitsu1
  ipsec ike remote address 1 any
  ipsec ike remote name 1 pc
 tunnel enable 1
tunnel select 2
  ipsec ike pre-shared-key 2 text himitsu2
tunnel select 1
 ipsec tunnel 1
  ipsec sa policy 1 1 esp aes-cbc sha-hmac
  ipsec ike encryption 1 aes-cbc
  ipsec ike group 1 modp1024
  ipsec ike local address 1 192.168.0.1
  ipsec ike pre-shared-key 1 text himitsu1
  ipsec ike remote address 1 any
  ipsec ike remote name 1 pc
 tunnel enable 1
tunnel select 2
 ipsec tunnel 2
  ipsec sa policy 2 2 esp aes-cbc sha-hmac
  ipsec ike encryption 2 aes-cbc
  ipsec ike group 2 modp1024
  ipsec ike local address 2 192.168.0.1
  ipsec ike pre-shared-key 2 text himitsu2
  ipsec ike remote address 2 any
  ipsec ike remote name 2 pc2
 tunnel enable 2

設定例

当機能の使用方法について、ルーターおよびRADIUSサーバーの設定例を紹介します。RADIUSサーバーにはFreeRADIUSを使用します。

ネットワーク構成について

紹介する設定例において、ネットワーク構成は次の通りです。

ネットワーク構成

以下では、IPUDP方式とIPsec方式、それぞれの場合における設定例を示します。

RADIUSサーバーの設定

RADIUSサーバーには以下のアカウントを登録しておきます。

0388882001      Auth-Type := Local, User-Password=="ngn"
                Tunnel-Password = "rt2",
                Framed-Route = "192.168.20.0/24",
                Framed-Route += "192.168.21.0/24"
0388883001 Auth-Type := Local, User-Password=="ngn" Tunnel-Password = "rt3", Framed-Route = "192.168.30.0/24"

解説

ユーザー名にはRT2、RT3の電話番号を記述します。

User-PasswordはRT1に設定されているngn radius auth passwordコマンドの設定値と一致する必要があります。

Tunnel-PasswordはRT2、RT3それぞれに設定されているipsec ike pre-shared-keyコマンドの設定値と一致する必要があります。

Framed-RouteにはRT2、RT3それぞれのLAN1のネットワークアドレスを指定します。RT2はセカンダリアドレスが設定されているため、Framed-Routeを2つ指定します。

ルーターの設定 (IPUDP方式の場合)

RT1の設定

ipv6 route default gateway dhcp lan2
ipv6 prefix 1 dhcp-prefix@lan2::/64
ip lan1 address 192.168.10.1/24
ipv6 lan1 address dhcp-prefix@lan2::1/64
ipv6 lan1 rtadv send 1
ip lan2 address dhcp
ipv6 lan2 address dhcp
ipv6 lan2 dhcp service client
ngn type lan2 ntt
tunnel select 1
 tunnel template 2
 tunnel encapsulation ipudp
 tunnel ngn radius auth on
 tunnel enable 1
radius auth on
radius auth port 1812
radius server 192.168.10.10
radius secret yamaha
dhcp client release linkdown on
sip use on
ngn radius auth password ngn

RT2の設定

ip route 192.168.10.0/24 gateway tunnel 1
ipv6 route default gateway dhcp lan2
ipv6 prefix 1 dhcp-prefix@lan2::/64
ip lan1 address 192.168.20.1/24
ip lan1 secondary address 192.168.21.1/24
ipv6 lan1 address dhcp-prefix@lan2::1/64
ipv6 lan1 rtadv send 1
ip lan2 address dhcp
ipv6 lan2 address dhcp
ipv6 lan2 dhcp service client
ngn type lan2 ntt
tunnel select 1
 tunnel encapsulation ipudp
 tunnel endpoint name 0388882001 0388881001 tel
 tunnel enable 1
dhcp client release linkdown on
sip use on

RT3の設定

ip route 192.168.10.0/24 gateway tunnel 1
ipv6 route default gateway dhcp lan2
ipv6 prefix 1 dhcp-prefix@lan2::/64
ip lan1 address 192.168.30.1/24
ipv6 lan1 address dhcp-prefix@lan2::1/64
ipv6 lan1 rtadv send 1
ip lan2 address dhcp
ipv6 lan2 address dhcp
ipv6 lan2 dhcp service client
ngn type lan2 ntt
tunnel select 1
 tunnel encapsulation ipudp
 tunnel endpoint name 0388883001 0388881001 tel
 tunnel enable 1
dhcp client release linkdown on
sip use on

解説

RT2、RT3にはRT1のLAN1のネットワークアドレスを宛先とする経路を設定します。

ip route 192.168.10.0/24 gateway tunnel 1

RT1は経路情報をRADIUS認証により取得するため、コマンドによる設定は行いません。

RT1にはRADIUS認証を行うトンネルを設定します。RT2、RT3から着信を受けるため、tunnel templateコマンドを使用してトンネルを2つ設定します。

tunnel select 1
 tunnel template 2
 tunnel encapsulation ipudp
 tunnel ngn radius auth on
 tunnel enable 1

上記の設定は、以下の設定をした場合と同様です。

tunnel select 1
 tunnel encapsulation ipudp
 tunnel ngn radius auth on
 tunnel enable 1
tunnel select 2
 tunnel encapsulation ipudp
 tunnel ngn radius auth on
 tunnel enable 2

ルーターの設定 (IPsec方式の場合)

RT1の設定

ipv6 route default gateway dhcp lan2
ipv6 prefix 1 dhcp-prefix@lan2::/64
ip lan1 address 192.168.10.1/24
ipv6 lan1 address dhcp-prefix@lan2::1/64
ipv6 lan1 rtadv send 1
ip lan2 address dhcp
ipv6 lan2 address dhcp
ipv6 lan2 dhcp service client
ngn type lan2 ntt
tunnel select 1
 tunnel template 2
 ipsec tunnel 1
  ipsec sa policy 1 1 esp
  ipsec ike version 1 2
  ipsec ike local name 1 0388881001 tel-key
  ipsec ike nat traversal 1 on
 tunnel ngn radius auth on
 tunnel enable 1
radius auth on
radius auth port 1812
radius server 192.168.10.10
radius secret yamaha
dhcp client release linkdown on
sip use on
ngn radius auth password ngn

RT2の設定

ip route 192.168.10.0/24 gateway tunnel 1
ipv6 route default gateway dhcp lan2
ipv6 prefix 1 dhcp-prefix@lan2::/64
ip lan1 address 192.168.20.1/24
ip lan1 secondary address 192.168.21.1/24
ipv6 lan1 address dhcp-prefix@lan2::1/64
ipv6 lan1 rtadv send 1
ip lan2 address dhcp
ipv6 lan2 address dhcp
ipv6 lan2 dhcp service client
ngn type lan2 ntt
tunnel select 1
 ipsec tunnel 1
  ipsec sa policy 1 1 esp
  ipsec ike version 1 2
  ipsec ike local name 1 0388882001 tel-key
  ipsec ike nat-traversal 1 on
  ipsec ike pre-shared-key 1 text rt2
  ipsec ike remote name 1 0388881001 tel-key
 tunnel enable 1
ipsec auto refresh on
dhcp client release linkdown on
sip use on

RT3の設定

ip route 192.168.10.0/24 gateway tunnel 1
ipv6 route default gateway dhcp lan2
ipv6 prefix 1 dhcp-prefix@lan2::/64
ip lan1 address 192.168.30.1/24
ipv6 lan1 address dhcp-prefix@lan2::1/64
ipv6 lan1 rtadv send 1
ip lan2 address dhcp
ipv6 lan2 address dhcp
ipv6 lan2 dhcp service client
ngn type lan2 ntt
tunnel select 1
 ipsec tunnel 1
  ipsec sa policy 1 1 esp
  ipsec ike version 1 2
  ipsec ike local name 1 0388883001 tel-key
  ipsec ike nat-traversal 1 on
  ipsec ike pre-shared-key 1 text rt3
  ipsec ike remote name 1 0388881001 tel-key
 tunnel enable 1
dhcp client release linkdown on
sip use on

解説

RT2、RT3にはRT1のLAN1のネットワークアドレスを宛先とする経路を設定します。

ip route 192.168.10.0/24 gateway tunnel 1

RT1は経路情報をRADIUS認証により取得するため、コマンドによる設定は行いません。

RT2、RT3には事前共有鍵を設定します。この値はRADIUSサーバーに登録するTunnel-Passwordの設定値と一致する必要があります。

ipsec ike pre-shared-key 1 text rt2
ipsec ike pre-shared-key 1 text rt3

RT1は事前共有鍵をRADIUS認証により取得するため、コマンドによる設定は行いません。

RT1にはRADIUS認証を行うトンネルを設定します。RT2、RT3から着信を受けるため、tunnel templateコマンドを使用してトンネルを2つ設定します。

tunnel select 1
tunnel template 2
 ipsec tunnel 1
  ipsec sa policy 1 1 esp
  ipsec ike version 1 2
  ipsec ike local name 1 tel-key
  ipsec ike nat traversal 1 on
 tunnel ngn radius auth on
 tunnel enable 1

上記の設定は、以下の設定をした場合と同様です。

tunnel select 1
 ipsec tunnel 1
  ipsec sa policy 1 1 esp
  ipsec ike version 1 2
  ipsec ike local name 1 tel-key
  ipsec ike nat traversal 1 on
 tunnel ngn radius auth on
 tunnel enable 1
tunnel select 2
 ipsec tunnel 2
  ipsec sa policy 2 2 esp
  ipsec ike version 2 2
  ipsec ike local name 2 tel-key
  ipsec ike nat traversal 2 on
 tunnel ngn radius auth on
 tunnel enable 2

実行結果

トンネルの接続が確立した場合、RT1において以下のことを確認します。

IPUDP方式で、RT2の着信がTUNNEL[1]に、RT3の着信がTUNNEL[2]に割り当てられた場合の各コマンドの実行結果を以下に示します。

# show ip route
宛先ネットワーク    ゲートウェイ     インタフェース  種別  付加情報
192.168.20.0/24     -                 TUNNEL[1] temporary
192.168.21.0/24     -                 TUNNEL[1] temporary
192.168.30.0/24     -                 TUNNEL[2] temporary
(実際にはこの他にNGN通信に関する経路が表示されます)
# show status tunnel 1
TUNNEL[1]:
説明:
  インタフェースの種類: IPUDP encapsulation
  トンネルインタフェースは接続されています
  発信者番号: 0388882001
  開始: 2012/03/23 16:31:52
  通信時間: 19秒
  受信: (IPv4) 0 パケット [0 オクテット]
        (IPv6) 0 パケット [0 オクテット]
  送信: (IPv4) 0 パケット [0 オクテット]
        (IPv6) 0 パケット [0 オクテット]
  NGN bandwidth:  1000 kbps
# show status tunnel 2
TUNNEL[2]:
説明:
  インタフェースの種類: IPUDP encapsulation
  トンネルインタフェースは接続されています
  発信者番号: 0388883001
  開始: 2012/03/23 16:31:53
  通信時間: 18秒
  受信: (IPv4) 0 パケット [0 オクテット]
        (IPv6) 0 パケット [0 オクテット]
  送信: (IPv4) 0 パケット [0 オクテット]
        (IPv6) 0 パケット [0 オクテット]
  NGN bandwidth:  1000 kbps

参考情報