IPsec XAUTH 認証機能

$Date: 2023/08/09 14:13:18 $


概要

これまでの IPsec の実装は、拠点間を常時接続する使い方に最適化されており、例えば出張先や自宅からインターネット経由で会社の VPN に接続するような、IPsec クライアントからのリモートアクセスには向いていませんでした。
具体的には、

といった問題が発生します。

これらの問題を解決するために、IPsec の実装を拡張することで、以下の4つの機能を追加します。

(1) XAUTH によるユーザ認証
IKE の Phase1 認証が完了した後、XAUTH によるユーザ認証を行ないます。
XAUTH によるユーザ認証は、IPsec クライアントにおいてユーザに入力させたユーザ ID とパスワードを、ISAKMP SA 上で XAUTH メッセージとして交換することで行ないます。
セキュリティゲートウェイとして動作するルータに届いたユーザ ID とパスワードは、あらかじめルータに登録設定されたユーザ ID ・パスワードと照合され、IPsec クライアントの接続を許可するかどうかが決定されます。
(2) RADIUS サーバによる、ユーザ情報と事前共有鍵の管理
XAUTH によるユーザ認証を行なう際、ユーザ情報の管理方法として、ルータに直接ユーザ ID とパスワードを設定する方法に加えて、RADIUS サーバに設定された認証情報を参照して認証を行なう方法をサポートします。
また、同じくルータに設定しておく必要のあった事前共有鍵についても、IPsec クライアント名をキーして、各 IPsec クライアントに対応する事前共有鍵を RADIUS サーバから取得できるようになります。
これらにより、繁雑なユーザ情報の管理を、RADIUS サーバを用いて一括管理することができます。
(3) tunnel template の新規追加
これまでは、生成する全てのトンネルについて、各トンネルに必要な設定を全て個別に記述する必要がありましたが、複数のトンネル設定の共通部分を抜き出し、テンプレートとして記述できるようにすることで、設定作業を簡単に行なうことができるようになります。
(4) ISAKMP Configuration Method(mode-cfg) を用いた IPsec クライアントへのアドレス付与
現在の IPsec の実装では、IPsec クライアントの使用する内部 IP アドレスは、あらかじめクライアント側で静的に設定しておく必要がありました。
mode-cfg を用いて、セキュリティゲートウェイ側から IPsec クライアントの使用する内部 IP アドレスを割りあてることができるようになります。

注意事項・関連文書


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

ヤマハ RT シリーズでは、以下の機種およびファームウェアで、IPsec XAUTH 認証機能をサポートしています。

機種 ファームウェア
vRX VMware ESXi版
すべてのリビジョン
vRX Amazon EC2版
RTX3510
RTX1300
RTX1220
RTX830
NVR700W
RTX1210
RTX5000
RTX3500
FWX120
RTX810
RTX1200
SRT100
RTX3000
Rev.9.00.15 以降
RTX1500
Rev.8.03.46 以降
RTX1100
RT107e

VPN クライアントソフトウェア YMS-VPN1 および YMS-VPN1-LP10 では、Ver.2.2.1.03 以降でIPsec XAUTH 認証機能をサポートしています。


動作確認済みRADIUSサーバ

以下のRADIUSサーバでの動作を確認しています。なお、これらとの接続動作を保証するものではありません。

共通概念と用語定義

用語定義

内部 IP アドレス
VPN の外側にいる IPsec クライアントがインターネット経由で VPN に参加する場合、まずインターネット接続に使用する外部の IP アドレスを用いてセキュリティゲートウェイにアクセスし、IPsec トンネルを生成します。
こうして生成した IPsec トンネルを用いて VPN にアクセスする場合、VPN 内部の IP アドレスを IPsec クライアントに仮想的に割り当てる必要があります。このアドレスのことを本仕様書では「内部 IP アドレス」と呼びます。
IPsec XAUTH 認証機能においては、内部 IP アドレスを、ISAKMP Configuration Method の仕組みを用いて IPsec クライアントに通知します。通知する内部 IP アドレスは、ルータ内部に設定することもできますし、RADIUS サーバを用いて管理することもできます。

詳細

XAUTH 認証について

ISAKMP Configuration Method(mode-cfg)について

RADIUS 認証について


設定・操作方法

新規追加されたコマンド

○認証に使用するユーザ ID の設定

    [書式]
        auth user USERID USERNAME PASSWORD
        no auth user USERID [USERNAME ...]

    [設定値]
        USERID   ... ユーザ識別番号(vRX Amazon EC2版、vRX VMware ESXi版は 1..6000、RTX5000 は 1..3000、
                                    RTX1500/RTX1100/RT107e Rev.8.03.92 以降、RTX3000 Rev.9.00.56 以降、
                                    SRT100 Rev.10.00.61 以降、RTX1200 Rev.10.01.42 以降、
                                    RTX810 Rev.11.01.06 以降、FWX120、RTX3500、RTX1210、RTX830、RTX1220、RTX1300、RTX3510 は 1..1000、
                                    それ以外のリビジョンは 1..500)
        USERNAME ... ユーザ名(32 文字以内) (* 3文字以上に設定してください。)
        PASSWORD ... パスワード(32 文字以内)(*      同上                   )

    [説明]
        IPsec の XAUTH 認証に使用するユーザ ID を設定する。

○認証に使用するユーザ ID の属性の設定

    [書式]
        auth user attribute USERID ATTRIBUTE=VALUE [ATTRIBUTE=VALUE ...]
        no auth user attribute USERID [ATTRIBUTE=VALUE ...]

    [設定値]
        USERID          ... ユーザ識別番号(vRX Amazon EC2版、vRX VMware ESXi版は 1..6000、RTX5000 は 1..3000、
                                           RTX1500/RTX1100/RT107e Rev.8.03.92 以降、RTX3000 Rev.9.00.56 以降、
                                           SRT100 Rev.10.00.61 以降、RTX1200 Rev.10.01.42 以降、
                                           RTX810 Rev.11.01.06 以降、FWX120、RTX3500、RTX1210、RTX830、RTX1220、RTX1300、RTX3510 は 1..1000、
                                           それ以外のリビジョンは 1..500)
        ATTRIBUTE=VALUE ... ユーザ属性

    [説明]
        IPsec の XAUTH 認証に使用するユーザ ID の属性を設定する。
        設定できる属性は以下のとおり。

        +---------------+----------------------+-------------------------------------------+
        | ATTRIBUTE     | VALUE                | 説明                                      |
        +---------------+----------------------+-------------------------------------------+
        | xauth         | on                   | IPsec の XAUTH 認証にこの ID を使用する   |
        |               | off                  | IPsec の XAUTH 認証にこの ID を使用しない |
        +---------------+----------------------+-------------------------------------------+
        | xauth-address | IP address[/netmask] | IPsec の接続時に、このアドレスを          |
        |               | (IPv6 アドレス可)    | 内部 IP アドレスとして通知する            |
        +---------------+----------------------+-------------------------------------------+
        | xauth-dns     | IP address           | IPsec の接続時に、このアドレスを          |
        |               | (IPv6 アドレス可)    | DNS サーバアドレスとして通知する          |
        +---------------+----------------------+-------------------------------------------+
        | xauth-wins    | IP address           | IPsec の接続時に、このアドレスを          |
        |               | (IPv6 アドレス可)    | WINS サーバアドレスとして通知する         |
        +---------------+----------------------+-------------------------------------------+
        | xauth-filter  | フィルタセットの     | IPsec の接続時に、このフィルタを適用する  |
        |               | 名前を表す文字列     |                                           |
        +---------------+----------------------+-------------------------------------------+

    [ノート]
        本コマンドにて明示的に設定した属性値は、
        該当のユーザ ID が属しているユーザグループに対して、
            # auth user group attribute
        コマンドによって設定された属性値に優先して適用される。

    [初期値]
        xauth        : off
        xauth-address: 設定なし
        xauth-dns    : 設定なし
        xauth-wins   : 設定なし
        xauth-filter : 設定なし

○認証に使用するユーザグループの設定

    [書式]
        auth user group GROUPID USERID [USERID ...]
        no auth user group GROUPID

    [設定値]
        GROUPID ... ユーザグループ識別番号(vRX Amazon EC2版、vRX VMware ESXi版は 1..6000、RTX5000 は 1..3000、
                                           RTX1500/RTX1100/RT107e Rev.8.03.92 以降、RTX3000 Rev.9.00.56 以降、
                                           SRT100 Rev.10.00.61 以降、RTX1200 Rev.10.01.42 以降、
                                           RTX810 Rev.11.01.06 以降、FWX120、RTX3500、RTX1210、RTX830、RTX1220、RTX1300、RTX3510 は 1..1000、
                                           それ以外のリビジョンは 1..500)
        USERID  ... ユーザ識別番号もしくはユーザ識別番号の範囲
                    (複数指定することが可能)

    [説明]
        IPsec の XAUTH 認証に使用するユーザグループを設定する。

    [設定例]
        # auth user group 1 100 101 102
        # auth user group 1 200-300
        # auth user group 1 100 103 105 107-110 113

○認証に使用するユーザグループの属性の設定

    [書式]
        auth user group attribute GROUPID ATTRIBUTE=VALUE [ATTRIBUTE=VALUE ...]
        no auth user group attribute GROUPID [ATTRIBUTE=VALUE ...]

    [設定値]
        GROUPID         ... ユーザグループ識別番号(vRX Amazon EC2版、vRX VMware ESXi版は 1..6000、RTX5000 は 1..3000、
                                                   RTX1500/RTX1100/RT107e Rev.8.03.92 以降、RTX3000 Rev.9.00.56 以降、
                                                   SRT100 Rev.10.00.61 以降、RTX1200 Rev.10.01.42 以降、
                                                   RTX810 Rev.11.01.06 以降、FWX120、RTX3500、RTX1210、RTX830、RTX1220、RTX1300、RTX3510 は 1..1000、
                                                   それ以外のリビジョンは 1..500)
        ATTRIBUTE=VALUE ... ユーザグループ属性

    [説明]
        IPsec の XAUTH 認証に使用するユーザグループの属性を設定する。
        設定できる属性は以下のとおり。

        +--------------------+-------------------+------------------------------------------+
        | ATTRIBUTE          | VALUE             | 説明                                     |
        +--------------------+-------------------+------------------------------------------+
        | xauth              | on                | IPsec の XAUTH 認証にこのグループに含ま  |
        |                    |                   | れるユーザ ID を使用する                 |
        |                    | off               | IPsec の XAUTH 認証にこのグループに含ま  |
        |                    |                   | れるユーザ ID を使用しない               |
        +--------------------+-------------------+------------------------------------------+
        | xauth-address-pool | IP アドレスの範囲 | IPsec の接続時に、このアドレスプールから |
        |                    | (IPv6 アドレス可) | アドレスを選択し、内部 IP アドレスとして |
        |                    |                   | 通知する                                 |
        +--------------------+-------------------+------------------------------------------+
        | xauth-dns          | IP address        | IPsec の接続時に、このアドレスを         |
        |                    | (IPv6 アドレス可) | DNS サーバアドレスとして通知する         |
        +--------------------+-------------------+------------------------------------------+
        | xauth-wins         | IP address        | IPsec の接続時に、このアドレスを         |
        |                    | (IPv6 アドレス可) | WINS サーバアドレスとして通知する        |
        +--------------------+-------------------+------------------------------------------+
        | xauth-filter       | フィルタセットの  | IPsec の接続時に、このフィルタを適用する |
        |                    | 名前を表す文字列  |                                          |
        +--------------------+-------------------+------------------------------------------+

        xauth-address-pool の属性値である IP アドレスの範囲は、以下のいずれかの書式にて記述する。
            o IP address[/netmask]
            o IP address-IP address[/netmask]

    [ノート]
        本コマンドで設定した属性値は、該当のユーザグループに含まれるすべての
        ユーザに対して有効となる。

    [初期値]
        xauth             : off
        xauth-address-pool: 設定なし
        xauth-dns         : 設定なし
        xauth-wins        : 設定なし
        xauth-filter      : 設定なし

○XAUTH によるユーザ認証の設定

    [書式]
        ipsec ike xauth request GATEWAY_ID AUTH [GROUP_ID]
        no ipsec ike xauth request GATEWAY_ID [AUTH ...]

    [設定値]
        GATEWAY_ID ... セキュリティゲートウェイの識別子
        GROUP_ID   ... 認証に使用するユーザグループの識別番号
        AUTH
            on     ... 要求する
            off    ... 要求しない

    [説明]
        IPsec の認証を行なう際、Phase1 終了後に XAUTH によるユーザ認証
        をクライアントに要求するか否かを設定する。
        GROUP_ID を指定した場合には、該当のユーザグループに含まれるユーザを
        認証の対象とする。
        GROUP_ID の指定がない場合や、指定したユーザグループに含まれる
        ユーザ情報では認証できなかった場合、RADIUS サーバの設定があれば
        RADIUS サーバを用いた認証を追加で試みる。

        本コマンドによる設定はルータが受動側として動作する時にのみ有効であり、
        始動側のセキュリティゲートウェイから送信された isakmp SA パラメータ
        の提案に、認証方式として XAUTHInitPreShared(65001)が含まれていた場合に、
        この提案を受け入れ、XAUTH によるユーザ認証を行なう。

    [初期値]
        off

    [拡張ライセンス対応]
        拡張ライセンスをインポートすると、以下のパラメーターに入力できる上限値が拡張される。

        ・GATEWAY_ID

          ライセンス名 |      拡張後の上限値
                       | (ライセンス本数ごとの値)
          -------------+------+-------------------
                       | 1本  | 2本  | 3本  | 4本
          -------------+------+------+------+-----
          YSL-VPN-EX1  | 100  |  -   |  -   |  -
          YSL-VPN-EX3  | 1500 | 2000 | 2500 | 3000

○内部 IP アドレスプールの設定

    [書式]
        ipsec ike mode-cfg address pool POOL_ID IP_ADDRESS[/MASK]
        ipsec ike mode-cfg address pool POOL_ID IP_ADDRESS-IP_ADDRESS[/MASK]
        no ipsec ike mode-cfg address pool POOL_ID [IP_ADDRESS ...]

    [設定値]
        POOL_ID               ... アドレスプールID(1..65535)
        IP_ADDRESS            ... IP アドレス(IPv6 アドレス可)
        IP_ADDRESS-IP_ADDRESS ... IP アドレスの範囲(IPv6 アドレス可)
        MASK                  ... ネットマスク(IPv6 アドレスの時はプレフィックス長)

    [説明]
        IPsec クライアントに割り当てる内部 IP アドレスのアドレスプールを
        設定する。
        本コマンドにて設定したアドレスプールは、
          # ipsec ike mode-cfg address GATEWAY_ID ...
        コマンドにて用いられる。

○IPsec クライアントに割り当てる内部 IP アドレスプールの設定

    [書式]
        ipsec ike mode-cfg address GATEWAY_ID POOL_ID
        no ipsec ike mode-cfg address GATEWAY_ID [POOL_ID]

    [設定値]
        GATEWAY_ID  ... セキュリティゲートウェイの識別子
        POOL_ID     ... アドレスプールID

    [説明]
        IPsec クライアントに内部 IP アドレスを割り当てる際に参照する、
        内部 IP アドレスプールを設定する。
        内部 IP アドレスの IPsec クライアントへの通知は、XAUTH 認証に使用する
        Config-Mode にて行なわれるため、XAUTH 認証を行なわない場合には通知は
        行なわれない。

        以下のいずれかの方法にて、認証ユーザ毎に割り当てる内部 IP アドレスが
        設定されている場合には、アドレスプールからではなく、個別に設定されて
        いるアドレスを通知する。
          o RADIUS サーバに登録されている場合
          o 以下のコマンドを用いて設定されている場合
              # auth user attribute USERID xauth-address=ADDRESS[/MASK]
              # auth user group attribute GROUPID xauth-address-pool=ADDRESS-ADDRESS[/MASK]

        アドレスプールに登録されているアドレスが枯渇した場合には、アドレスの
        割当を行なわない。

    [ノート]
        VPN クライアントとして YMS-VPN1 を用いる場合、XAUTH 認証を行なうためには
        必ず内部 IP アドレスの通知を行なう設定にしなければならない。

    [拡張ライセンス対応]
        拡張ライセンスをインポートすると、以下のパラメーターに入力できる上限値が拡張される。

        ・GATEWAY_ID

          ライセンス名 |      拡張後の上限値
                       | (ライセンス本数ごとの値)
          -------------+------+-------------------
                       | 1本  | 2本  | 3本  | 4本
          -------------+------+------+------+-----
          YSL-VPN-EX1  | 100  |  -   |  -   |  -
          YSL-VPN-EX3  | 1500 | 2000 | 2500 | 3000

○トンネルテンプレートの設定

    [書式]
        tunnel template TUNNEL_NUM [TUNNEL_NUM ...]
        no tunnel template

    [設定値]
        TUNNEL_NUM ... 適用するトンネルインタフェース番号もしくは
                       適用するトンネルインタフェース番号の範囲
                       (複数指定することが可能)

    [説明]
        選択されているトンネルインタフェースの設定を、テンプレートとして他の
        トンネルインタフェースにも適用するかどうかを設定する。

        選択されているトンネルインタフェースに対して設定したコマンドは、
        以下のパラメータがトンネルインタフェース番号に等しい場合、これらの
        パラメータを適用先のトンネルインタフェース番号に置換した上で、適用
        先のトンネルインタフェースにも設定する。
            o ipsec sa policy コマンドにて設定される、ポリシーID
            o ipsec で始まるコマンドにて設定される、セキュリティ・ゲートウェイの識別番号
        なお、ipsec ike remote name コマンドに関しては、コマンド適用の際、相手側
        セキュリティゲートウェイの名前の末尾に、トンネルインタフェース番号を付加
        する。


        選択されているトンネルインタフェース対して設定されているコマンドと同じ
        コマンドが、適用先のトンネルインタフェースに既に設定されている場合、
        適用先のトンネルインタフェースに設定されているコマンドを優先して適用する。

        テンプレートとなるトンネルインタフェースに設定することで、他のトンネル
        インタフェースにも展開して適用されるコマンドの一覧は以下のとおりである。
            o ipsec ike で始まるコマンドのうち、
              パラメータに「セキュリティ・ゲートウェイの識別子」をとるもの
            o ipsec auto refresh コマンド
              (引数の「セキュリティ・ゲートウェイの識別子」を省略しない場合のみ)
            o ipsec tunnel コマンド
            o ipsec sa policy コマンド
            o tunnel enable コマンド


        テンプレートの設定が、実際の設定にどのように反映されているかは、以下の
        コマンドを用いることで確認できる。
            # show config tunnel TUNNEL_NUM expand

    [ノート]
        本コマンドはトンネルインタフェースが選択されている時にのみ使用可能である。

    [初期値]
        トンネルテンプレートは設定されていない

    [設定例]
        o ipsec sa policy コマンドについて
            tunnel select 1
             tunnel template 2-3
              ipsec sa policy 1 1 esp aes-cbc sha-hmac
            上記のコマンドが設定されている時、以下のコマンドが自動的に有効となる。
              ipsec sa policy 2 2 esp aes-cbc sha-hmac
              ipsec sa policy 3 3 esp aes-cbc sha-hmac

        o ipsec ike ... コマンドについて
            tunnel select 1
             tunnel template 2-3
              ipsec ike local address 1 192.168.0.1
            上記のコマンドが設定されている時、以下のコマンドが自動的に有効となる。
              ipsec ike local address 2 192.168.0.1
              ipsec ike local address 3 192.168.0.1

        o ipsec ike remote name コマンドについて
            tunnel select 1
             tunnel template 2-3
              ipsec ike remote name 1 pc
            上記のコマンドが設定されている時、以下のコマンドが自動的に有効となる。
              ipsec ike remote name 2 pc2
              ipsec ike remote name 3 pc3

        o トンネルインタフェース番号の指定について
          適用するトンネルインタフェース番号は、番号の指定と範囲の指定を同時に記述
          することが可能である。
            # tunnel template 2 4-100
            # tunnel template 100 200-300 400

        o 以下の2つの設定例は同じ内容を示している。

            (設定例1)
            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

            (設定例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_NUM

          ライセンス名 |      拡張後の上限値
                       | (ライセンス本数ごとの値)
          -------------+------+-------------------
                       | 1本  | 2本  | 3本  | 4本
          -------------+------+------+------+-----
          YSL-VPN-EX1  | 100  |  -   |  -   |  -
          YSL-VPN-EX3  | 1500 | 2000 | 2500 | 3000

拡張されたコマンド

○IPsec の SA の表示

    [書式]
        show ipsec sa [ID]
        show ipsec sa gateway [GATEWAY_ID] [detail]

    [設定値]
        ID         ... SA の識別子
                       省略時は全ての SA について表示する
        GATEWAY_ID ... セキュリティ・ゲートウェイの識別子
                       省略時は全てのセキュリティ・ゲートウェイの SA のサマリを表示する
        detail     ... SA の詳細な情報を表示する

    [説明]
        IPsec の SA の状態を表示する。
        ID で与えられた識別子を持つ SA の情報を表示する。

    [ノート]
        該当の SA の生成時に XAUTH 認証を行なった場合、
            o 認証に使用したユーザ名
            o RADIUS 認証を行なったか否か
            o 通知した内部 IP アドレス
            o 追加した経路情報
            o 適用したフィルタの情報
        を同時に表示する。

    [拡張ライセンス対応]
        拡張ライセンスをインポートすると、以下のパラメーターに入力できる上限値が拡張される。

        ・GATEWAY_ID

          ライセンス名 |      拡張後の上限値
                       | (ライセンス本数ごとの値)
          -------------+------+-------------------
                       | 1本  | 2本  | 3本  | 4本
          -------------+------+------+------+-----
          YSL-VPN-EX1  | 100  |  -   |  -   |  -
          YSL-VPN-EX3  | 1500 | 2000 | 2500 | 3000

○指定したトンネルの設定内容の表示

    [書式]
        show config tunnel [TUNNEL_NUM] [expand]
        less config tunnel [TUNNEL_NUM] [expand]

    [設定値]
        TUNNEL_NUM ... トンネル番号
                       省略時は、選択されているトンネルについて表示する

    [説明]
        show config、less config コマンドの表示の中から、
        指定したトンネル番号に関するものだけを表示する。

        expand キーワードを指定すると、tunnel template コマンドにて指定した
        トンネルテンプレートが適用された後の、実際にルータの動作時に参照される
        設定を表示する。

    [拡張ライセンス対応]
        拡張ライセンスをインポートすると、以下のパラメーターに入力できる上限値が拡張される。

        ・TUNNEL_NUM

          ライセンス名 |      拡張後の上限値
                       | (ライセンス本数ごとの値)
          -------------+------+-------------------
                       | 1本  | 2本  | 3本  | 4本
          -------------+------+------+------+-----
          YSL-VPN-EX1  | 100  |  -   |  -   |  -
          YSL-VPN-EX3  | 1500 | 2000 | 2500 | 3000


設定例

[YMS-VPN1 を用いた VPN 接続(1-1)] - 2つのクライアントをルータ単体で管理

[概要]

[構成図]

  -------------------+--------------- 10.1.1.0/24
                     | .1
                 +---+-----+
                 | RTX1500 |
                 +---+-----+
                     | .150
         ----+-------+--------------- 192.168.0.0/24
             | .253
         +---+----+
         | RT300i |
         +---+----+
             | .254
      -------+------+----+----------- 192.168.20.0/24
                    |    |
                    pc   pc2

[設定手順]

ip route 192.168.20.0/24 gateway 192.168.0.253
ip lan1 address 10.1.1.1/24
ip lan1 proxyarp on
ip lan2 address 192.168.0.150/24
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.150
  ipsec ike pre-shared-key 1 text PSKEY1
  ipsec ike remote address 1 any
  ipsec ike remote name 1 pc
  ipsec ike xauth request 1 on 11
  ipsec ike mode-cfg address 1 1
 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.150
  ipsec ike pre-shared-key 2 text PSKEY2
  ipsec ike remote address 2 any
  ipsec ike remote name 2 pc2
  ipsec ike xauth request 2 on 12
  ipsec ike mode-cfg address 2 1
 tunnel enable 2
ipsec ike mode-cfg address pool 1 10.1.1.100-10.1.1.101/32
auth user 1 USERNAME1 PASSWORD1
auth user 2 USERNAME2 PASSWORD2
auth user 3 USERNAME3 PASSWORD3
auth user 4 USERNAME4 PASSWORD4
auth user group 11 1 2
auth user group attribute 11 xauth=on
auth user group 12 3 4
auth user group attribute 12 xauth=on

[YMS-VPN1 の設定]

pc の設定
事前共有鍵: PSKEY1
このクライアントの名前: pc
接続先ゲートウェイ: 192.168.0.150
認証アルゴリズム: HMAC-SHA
暗号アルゴリズム: AES-CBC
接続先ネットワーク: 10.1.1.0/24
このクライアントの内部 IP アドレス: IKE 設定モードで指定
pc2 の設定(上記 pc の設定から、以下を変更する。)
事前共有鍵: PSKEY2
このクライアントの名前: pc2

[解説]

  1. ip route 192.168.20.0/24 gateway 192.168.0.253
    経路の設定を行います。
  2. ip lan1 address 10.1.1.1/24
    ip lan2 address 192.168.0.150/24
    lan1・lan2のアドレスを設定します。
  3. tunnel select 1
    1番のトンネルインタフェースを選択します。
  4. ipsec tunnel 1
    1番のトンネルインタフェースは、1番のSAポリシーを使用します。
  5. ipsec sa policy 1 1 esp aes-cbc sha-hmac
    1番のSAポリシーを設定します。
  6. ipsec ike encryption 1 aes-cbc
    ipsec ike group 1 modp1024
    ipsec ike pre-shared-key 1 text PSKEY1
    ipsec ike remote address 1 any
    ipsec ike remote name 1 pc
    IKEのパラメータを設定します。
  7. ipsec ike xauth request 1 on 11
    XAUTHによるユーザ認証をクライアントに要求します。
    11番のユーザグループに含まれるユーザを XAUTH 認証の対象にします。
  8. ipsec ike mode-cfg address 1 1
    1番のアドレスプールから、内部 IP アドレスを割り当て、クライアントに通知します。
  9. tunnel enable 1
    1番のトンネルインタフェースを有効にします。
  10. tunnel select 2 以下は省略
  11. ipsec ike mode-cfg address pool 1 10.1.1.100-10.1.1.101/32
    1番のアドレスプールを定義します。
  12. auth user 1 USERNAME1 PASSWORD1
    auth user 2 USERNAME2 PASSWORD2
    auth user 3 USERNAME3 PASSWORD3
    auth user 4 USERNAME4 PASSWORD4
    auth user group 11 1 2
    auth user group attribute 11 xauth=on
    auth user group 12 3 4
    auth user group attribute 12 xauth=on
    XAUTH 認証に使用するユーザとユーザグループを設定します。
    ユーザグループ 11 には USERNAME1 と USERNAME2 の2人のユーザが含まれます。

[YMS-VPN1 を用いた VPN 接続(1-2)] - tunnel template

[概要]

[構成図]

(1-1)と同じ

[設定手順]

ip route 192.168.20.0/24 gateway 192.168.0.253
ip lan1 address 10.1.1.1/24
ip lan1 proxyarp on
ip lan2 address 192.168.0.150/24
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.150
  ipsec ike pre-shared-key 1 text PSKEY1
  ipsec ike remote address 1 any
  ipsec ike remote name 1 pc
  ipsec ike xauth request 1 on 11
  ipsec ike mode-cfg address 1 1
 tunnel enable 1
tunnel select 2
  ipsec ike pre-shared-key 2 text PSKEY2
  ipsec ike xauth request 2 on 12
ipsec ike mode-cfg address pool 1 10.1.1.100-10.1.1.101/32
auth user 1 USERNAME1 PASSWORD1
auth user 2 USERNAME2 PASSWORD2
auth user 3 USERNAME3 PASSWORD3
auth user 4 USERNAME4 PASSWORD4
auth user group 11 1 2
auth user group attribute 11 xauth=on
auth user group 12 3 4
auth user group attribute 12 xauth=on

[YMS-VPN1 の設定]

(1-1)と同じ

[解説]

  1. ip route 192.168.20.0/24 gateway 192.168.0.253
    ip lan1 address 10.1.1.1/24
    ip lan2 address 192.168.0.150/24
    経路とIPアドレスを設定します。
  2. tunnel select 1
    1番のトンネルインタフェースを選択します。
  3. tunnel tepmlate 2
    1番のトンネルインタフェースの設定を、テンプレートとして2番のトンネルインタフェースにも適用します。
  4. 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 pre-shared-key 1 text PSKEY1
    ipsec ike remote address 1 any
    ipsec ike remote name 1 pc
    ipsec ike xauth request 1 on 11
    ipsec ike mode-cfg address 1 1
    tunnel enable 1
    1番のトンネルインタフェースの設定を行ないます。
    ポリシー番号(1)とセキュリティ・ゲートウェイの識別子(1)は、テンプレートとして2番のトンネルインタフェースに適用される際に、トンネルインタフェース番号(2)に置換されます。
  5. tunnel select 2
    ipsec ike pre-shared-key 2 text PSKEY2
    ipsec ike xauth request 2 on 12
    2番のトンネルインタフェースに固有の設定を記述します。
  6. ipsec ike mode-cfg address pool 1 10.1.1.100-10.1.1.101/32
    1番のアドレスプールを定義します。
  7. auth user 1 USERNAME1 PASSWORD1
    auth user 2 USERNAME2 PASSWORD2
    auth user 3 USERNAME3 PASSWORD3
    auth user 4 USERNAME4 PASSWORD4
    auth user group 11 1 2
    auth user group attribute 11 xauth=on
    auth user group 12 3 4
    auth user group attribute 12 xauth=on
    XAUTH 認証に使用するユーザとユーザグループを設定します。

[YMS-VPN1 を用いた VPN 接続(2)] - 複数のクライアントを RADIUS で認証

[概要]

[構成図]

      +---------------+
      | RADIUS サーバ |
      +-------+-------+
              | .2
  ------------+------+--------------- 10.1.1.0/24
                     | .1
                 +---+-----+
                 | RTX1500 |
                 +---+-----+
                     | .150
         ----+-------+--------------- 192.168.0.0/24
             | .253
         +---+----+
         | RT300i |
         +---+----+
             | .254
      -------+------+---+---+------+- 192.168.20.0/24
                    |   |   |      |
                    pc  pc2 pc3 .. pc100

[設定手順]

ip route 192.168.20.0/24 gateway 192.168.0.253
ip lan1 address 10.1.1.1/24
ip lan1 proxyarp on
ip lan2 address 192.168.0.150/24
radius auth on
radius auth server 10.1.1.2
radius auth port 1812
radius secret SECRET
tunnel select 1
 tunnel template 2-100
 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.150
  ipsec ike remote address 1 any
  ipsec ike remote name 1 pc
  ipsec ike xauth request 1 on
 tunnel enable 1
tunnel select 3
  ipsec sa policy 3 3 esp 3des-cbc md5-hmac

[YMS-VPN1 の設定]

(1-1)と同じ
事前共有鍵の設定は、RADIUS サーバの設定に合わせる

[RADIUS サーバの設定]

事前共有鍵の設定(FreeRADIUS の users ファイルに以下を記述する)
"pc"            Auth-Type := Local, User-Password == "yamaha"
                Tunnel-Password = "PSKEY1"

"pc2"           Auth-Type := Local, User-Password == "yamaha"
                Tunnel-Password = "PSKEY2"

"pc3"           Auth-Type := Local, User-Password == "yamaha"
                Tunnel-Password = "PSKEY3"
  :
"pc100"         Auth-Type := Local, User-Password == "yamaha"
                Tunnel-Password = "PSKEY100"
ユーザの設定(FreeRADIUS の users ファイルに以下を記述する)
"USERNAME1"     Auth-Type := Local, User-Password == "PASSWORD1"
                Reply-Message = "Hello, %u",
                Service-Type = Framed-User,
                Framed-Protocol = PPP,
                Tunnel-Client-Endpoint = "10.1.1.100"

"USERNAME2"     Auth-Type := Local, User-Password == "PASSWORD2"
                Reply-Message = "Hello, %u",
                Service-Type = Framed-User,
                Framed-Protocol = PPP,
                Tunnel-Client-Endpoint = "10.1.1.101"
     :
"USERNAME100"   Auth-Type := Local, User-Password == "PASSWORD100"
                Reply-Message = "Hello, %u",
                Service-Type = Framed-User,
                Framed-Protocol = PPP,
                Tunnel-Client-Endpoint = "10.1.1.199"

[解説]

  1. ip route 192.168.20.0/24 gateway 192.168.0.253
    ip lan1 address 10.1.1.1/24
    ip lan2 address 192.168.0.150/24
    経路とIPアドレスを設定します。
  2. radius auth on
    RADIUS によるユーザ認証を有効にします。
  3. radius auth server 10.1.1.2
    radius auth port 1812
    RADIUSサーバのIPアドレスとポート番号を設定します。
  4. radius secret SECRET
    RADIUSシークレットを設定します。
  5. tunnel select 1
    tunnel template 2-100
    ipsec tunnel 101
    ipsec sa policy 1 1 esp aes-cbc sha-hmac
    ipsec ike encryption 1 aes-cbc
    ipsec ike group 1 modp1024
    ipsec ike remote address 1 any
    ipsec ike remote name 1 pc
    ipsec ike xauth request 1 on
    tunnel enable 1
    1番のトンネルインタフェースを設定します。
    このトンネルインタフェースは、2-100番のトンネルインタフェースにもテンプレートとして適用されます。
    テンプレートとして適用される際、 101 が書かれているところは全て適用先のトンネルインタフェース番号に置換されます。
  6. tunnel select 3
    ipsec sa policy 3 3 esp 3des-cbc md5-hmac
    3番のトンネルインタフェース固有の設定を記述します。
    pc3 だけ異なる SA ポリシーを定義するのに使用しています。

[EOF]