Security Gateway and IPsec


セキュリティ・ゲートウェイ機能利用の概要


作成日1998/Jun/09
最終変更日2022/Dec/28
文書サイズ 11KB


このドキュメントでは、これまでのファームウェアを利用されて いる方を対象に、セキュリティ・ゲートウェイ機能の特徴や設定 例を紹介します。VPNについての多少の知識を前提として説明します。

  1. 主な特徴
  2. 設定の方針と流れ
  3. トンネルの入口と出口を決める
  4. UDPの500番ポートを開けてお
  5. トンネル用のインタフェースを定義する
  6. 鍵交換用の経路は別に用意する
  7. 暗号化の方針を決める
  8. 鍵を生成する


主な特徴
設定の方針と流れ

ここでは、基本的な利用法であるVPN構築を例に取り、 次のような簡単なネットワーク構成について、 設定の方針や流れを見ていきます。

       ----------+-------------------- 192.168.0.0/24
                 |
                 | 192.168.0.1 →→→*     
            +----+----+              *
            | RT140i  |              *
            +----+----+              *
                 :                   *
           (Unnumbered)           トンネル
                 :                   *
            +----+----+              *
            | RT100i  |              *
            +----+----+              *
                 | 192.168.1.1 ←←←*
                 |
       ----------+-------------------- 192.168.1.0/24


トンネルの入口と出口を決める

トンネルの入口と出口は、それぞれIPアドレスで指定します。 上の例では、192.168.0.1を入口、192.168.1.1を出口と考える ことにしましょう。

なお、暗号化に利用される鍵は、この2つのアドレスの間で 管理されることになります。すなわち、鍵交換プロトコルが 働くときには、192.168.0.1と192.168.1.1の間で、メッセージが 飛び交います。

          *************** トンネル ****************
          *                                       *
          *                                       *
     192.168.0.1  ←-- メッセージを交換 --→ 192.168.1.1
                         (鍵を共有)


UDPの500番ポートを開けておく

鍵交換プロトコルはUDPの500番を利用しますので、フィルタリングの 対象外にしておきます。IP マスカレードの利用時も注意を払う 必要があります。


トンネル用のインタフェースを定義する

Rev.3.00では、新しく「トンネル(TUNNEL)」という名前の インタフェースが定義できます。 パケットをトンネルに送り込む場合、そのパケットがトンネル インタフェースに流れるように経路を設定します。

トンネルインタフェースの設定は、PPインタフェースの設定と 類似のコマンドで記述できます。

ip lan address 192.168.0.1/24

tunnel select 1
ip tunnel route add net 192.168.1.0/24 2
ipsec tunnel 101
tunnel enable 1

2行目の設定は、ip pp route addと相似なコマンドであり、 宛先が192.168.1.0/24のパケットを、トンネルインタ フェースに向けて経路付けることを意味します。

3行目の設定は、具体的にどのような方針でパケットを暗号化するかを 指定するコマンドです。ここでは、101という引数をとっていますが、 これは別のコマンドで指定された101番の方針を参照するという ことです。(このコマンドについては後述します。)


鍵交換用の経路は別に用意する

鍵交換プロトコルでは、鍵を作るためにメッセージを交換 しますが、このメッセージがトンネルインタフェースに流れない ようにしなければなりません。なぜならば、トンネルインタフェースは 鍵が生成されてからしか機能しないので、 鍵交換プロトコルのメッセージがトンネルインタフェースに 流れる限り、いつまで経っても 鍵が生成されないからです。

そこで、鍵交換プロトコルのための経路を別に設定しておきます。

ip lan address 192.168.0.1/24

pp select 1
ip pp route add host 192.168.1.1 2 (鍵交換のための経路)
pp enable 1

tunnel select 1
ip tunnel route add net 192.168.1.0/24 2
ipsec tunnel 101
tunnel enable 1

これらの設定により、192.168.0.1から192.168.1.1へ 送信されるパケットは、トンネルインタフェースに流れなく なります。

なお、ネットワークによっては、このような配慮が必要でない 場合もあります。例えば、WAN側をNumberedで接続し、 PPのアドレスをトンネルの入口と出口にしたらどうでしょうか。


暗号化の方針を決める

暗号化の方針を決めるためには、次のように設定します。

#ipsec sa policy 101 192.168.1.1 esp des-cbc
[引数の説明]
101...暗号化の方針を管理するためのID
192.168.1.1...鍵交換の相手アドレス
esp...ESP(暗号ペイロード)を付加することを示す
des-cbc...用いる暗号アルゴリズム

ここでは、コマンドの詳細は省略します。詳しくは、コマンドリファレンス 等をご覧ください。


鍵を生成する

鍵交換プロトコルを促して 鍵を生成させるには、

#ipsec auto refresh on

と入力します。以後、鍵は一定時間間隔で自動的に更新されます。 また、鍵が生成された瞬間から、トンネルが機能し、パケットが 流れるようになります。


そのほかの注意事項

[ VPN開通の確認作業手順例 ]

  1. 設定直後は、VPNは開通していない。
  2. 設定直後は、「show ipsec sa」を実行しても、鍵情報は表示されない。
  3. 両方のRTで「ipsec refresh sa」 を実行する。
  4. 「show ipsec sa」 を実行する。...と鍵情報が表示される。
  5. 鍵情報が表示されなければ、設定を見直す。
  6. pingやtelnetなどの通信ソフトウェアを使って、VPNの開通を確認する。
  7. 問題なければ、両方のRTで「ipsec auto refresh on」を設定して保存する。

[ VPNの通信状態の確認方法例 ]