ネットワークバックアップ機能

概要

ネットワークバックアップ機能では、ICMP Echoによりネットワークの状態をリアルタイムに監視し、何らかの障害が発生したときに、そのネットワークに対する経路を自動的に切り替えて障害を迂回します。また、障害が解消したときには自動的に経路を元に戻します。

ネットワークバックアップ機能を使うと、動的経路制御プロトコルを使わずに障害経路を迂回する構成を作ることができます。したがって、拠点の数が多く、動的経路制御プロトコルの処理に必要なCPU負荷やネットワーク帯域を確保できないときでも、ネットワークのバックアップソリューションを提供できます。

また、従来のバックアップ機能では障害を回線ごとに識別していましたが、ネットワークバックアップ機能では障害をネットワークごとに識別するため、IP-VPNや広域イーサネットのバックアップソリューションにおいて、障害のない拠点の通信に影響を与えることなく、障害の発生した経路だけを切り替えることができるようになります。

到達性の検出

特定の端末やルータに対する到達性を確認することができます。この機能を使うためには、ip keepaliveコマンドを設定します。このコマンドの書式は次のようになっています。

ip keepaliveコマンド... ネットワーク監視機能の設定

[入力形式]
ip keepalive 番号 種別 送信間隔 送信回数 IPアドレス[IPアドレス ... ] [オプション ... ]
no ip keepalive 番号
[パラメータ]
  • 番号 ... このコマンドの識別番号
    • 1..100
  • 種別 ... 監視の方式 (現状では1種類のみ設定できる)
    • icmp-echo ... ICMP Echoを使用する
  • 送信間隔 ... 送信の回数
    • 1..65535
  • 送信回数 ... 到達性がないと判断するまでに送信する回数
    • 3..100
  • IPアドレス ... 送信先のIPアドレス
    • オプション (種類=値)
      種類 説明
      log 'on' / 'off' syslogを出力するかどうか
      upwait 1..1000000[秒] 到達性があると判断するまでの待機時間
      downwait 1..1000000[秒] 到達性がないと判断するまでの待機時間
[説明]

指定したIPアドレスに対してICMP Echoを送信し、その返事を受信できるかどうかを判定する。

[デフォルト値]
log ... off
upwait ... 5[秒]
downwait ... 5[秒]

指定されたIPアドレスに対してICMP Echoを送信し、指定された送信間隔の間に返事(ICMP Echo Reply)を受信できれば「成功」と考え、受信できなければ「失敗」と考えます。
そして「失敗」が送信回数で指定した回数だけ連続したら、このIPアドレスに対して到達性がなくなったものとみなします。
逆に、1回でも成功したときには、このIPアドレスに対する到達性があるものとみなします。

1つのコマンドで複数のIPアドレスを設定することができます。
複数のIPアドレスを設定したときには、それぞれのIPアドレスについて到達性を調べ、1つ以上の到達性がないときに、全体として到達性がなくなったものと判定します。
一般に、複数のIPアドレスを設定すると、障害を検出する条件が厳しくなります。

1つのコマンドには最大10個のIPアドレスを設定でき、コマンドは100個(※)まで設定できます。
したがって、最大限に設定すれば1000個のIPアドレスを設定できることになります。
しかし、同時に監視できるIPアドレスは100個までに制限されています。
これ以上のIPアドレスを設定したときには、show configコマンドで表示される順番で、100個までが有効になります。

回線が不安定な状態では到達性が頻繁に変化するケースがあるため、判定を急がずに様子を見ることが可能になっています。
このような「様子を見る」時間を待機時間とよんでいます。

待機時間の効果を図で表現すると次のようになります。

(※) 到達性のある状態をup、到達性のない状態をdownと表現しています。

[待機時間を設定しないとき]
upとdownが頻繁に変化します。

up   -------------+  +-------+             +--+      +--------
                  |  |       |             |  |      |
down              +--+       +-------------+  +------+
[待機時間を設定したとき]
upとdownがあまり頻繁に変化しなくなります。

                   *1          *2           *3         *4
                  --->       ------>       --->      ------>
up  -------------------------------+                       +---
                                   |                       |
down                               +-----------------------+

*1: 待機時間が終わる前にupしたのでdownにせずupのまま
*2: 待機時間が終わってもupしなかったのでdownと判定する
*3: 待機時間が終わる前にdownしたのでupにせずdownのまま
*4: 待機時間が終わってもdownしなかったのでupと判定する

待機時間を設定するためには、downwaitとupwaitの両オプションを設定します。downwaitは到達性がなくなったとき、upwaitは到達性が復帰したときにカウントする待機時間です。

到達性の確認

到達性の状態を確認するためには、show status ip keepaliveコマンドを実行します。

[表示例]
# show status ip keepalive

 ID  STATE TARGET                                  REACH TIMER COUNT
------------------------------------------------------------------------
   1   up  172.16.0.1                                yes     2     4
           172.16.0.2                                yes     4     4
           10.0.0.254                                yes     3     4

この例では3個のIPアドレスを監視しています。左から順に「ip keepaliveコマンドの番号」「到達性の状態」「監視するIPアドレス」「IPアドレスの到達性」「次のICMP Echoを送信するまでの時間」「到達性がないと判定するまでに送信するICMP Echoの数」を表示しています。

到達性の状態に相当するものが2つ表示されます。右の「yes」という表示は3つのIPアドレスの個々の到達性で、左の「up」という表示はそれらを総合した判断を示しています。

もし、10.0.0.254の到達性だけがなくなったとすると、次のような表示になります。

# show status ip keepalive

 ID  STATE TARGET                                  REACH TIMER COUNT
------------------------------------------------------------------------
   1 down? 172.16.0.1                                yes     5     5
           172.16.0.2                                yes     3     5
           10.0.0.254                                 no     3     -

「down?」という表示は、待機状態であることを示します。この段階では、まだ、到達性がなくなったという判定はしていません。やがて、待機状態が過ぎて、その間に到達性が回復しない場合には、到達性がなくなったものと判定します。このとき、表示は「down」となります。

# show status ip keepalive

 ID  STATE TARGET                                  REACH TIMER COUNT
------------------------------------------------------------------------
   1 down  172.16.0.1                                yes     1     5
           172.16.0.2                                yes     4     5
           10.0.0.254                                 no     4     -

回復する場合も同様で、まず、待機状態に移ります。待機状態では「up?」という表示になります。この段階ではまだ到達性があるとは判断していません。

# show status ip keepalive

 ID  STATE TARGET                                  REACH TIMER COUNT
------------------------------------------------------------------------
   1   up? 172.16.0.1                                yes     2     5
           172.16.0.2                                yes     5     5
           10.0.0.254                                yes     5     5

やがて待機状態を過ぎて、その間、到達性が維持されていれば、正式に到達性があるものと判断します。このときの表示は「up」となります。

# show status ip keepalive

 ID  STATE TARGET                                  REACH TIMER COUNT
------------------------------------------------------------------------
   1   up  172.16.0.1                                yes     1     5
           172.16.0.2                                yes     4     5
           10.0.0.254                                yes     4     5

なお、起動直後やip keepaliveコマンドを設定した直後では、TIMERの値が設定した送信間隔を超えることがあります。これは、pingを送信するタイミングを分散させるために、送信間隔の2倍程度の範囲で値を増加させているためです。最初のpingを送信した後では、設定した送信間隔の値を超えることはありません。

バックアップの実現

ip keepaliveコマンドで確認した到達性の情報をルーティングに反映して、障害が発生したときに予備の回線にバックアップすることができます。このためには、ip routeコマンドでkeepaliveオプションを設定します。たとえば、次のような設定が可能になります。

[設定例]
ip route 172.16.0.0/24 gateway pp 10 keepalive 1 gateway pp 11
ip keepalive 1 icmp-echo 5 5 172.16.0.1

keepaliveオプションを設定すると、その直前に設定されたゲートウェイは到達性のあるときにだけ有効となります。この例では、pp 10というゲートウェイは、172.16.0.1に対する到達性があるときにだけ有効になります。

(※) 到達性を判定するためにICMP Echoを送信していますが、このICMPパケットは、ゲートウェイが無効になったときでも、元のゲートウェイに送信されます。つまり、特別な経路を設定する必要はありません。

[注意]ip routeコマンドで複数のゲートウェイが設定されているときには、ip keepaliveコマンドで送信するICMP Echoパケットは、必ずip routeコマンドの最初のゲートウェイに送信されます。例えば、次のような設定では、ICMP Echoパケットは必ずPP1インターフェイスに送信されます。

ip route 10.0.0.0/24 gateway pp 1 gateway pp 2
ip keepalive 1 icmp-echo 5 5 10.0.0.1

ところで、従来の実装では、複数のゲートウェイがあるとロードバランスの機能が働いてしまい、単純なバックアップの動作にはなりません。そこで、weightオプション0を設定できるようにします。weightオプションが0のゲートウェイは、それよりも前に定義されたゲートウェイが無効にならない限り、動作しません。

weightオプションによる動作の違いは次のようになります。

[設定例]
ip route 172.16.0.0/24 gateway pp 10 keepalive 1 gateway pp 11
ip keepalive 1 icmp-echo 5 5 172.16.0.1

正常時: PP 10とPP 11でロードバランス
異常時: PP 11を使う

[設定例2]
ip route 172.16.0.0/24 gateway pp 10 keepalive 1 gateway pp 11 weight 0
ip keepalive 1 icmp-echo 5 5 172.16.0.1

正常時: PP 10を使う
異常時: PP 11を使う

設定の方法

例として下図の構成によるバックアップの設定方法を説明します。RTX5000ではネットワークバックアップ機能を使用しませんので、RTX1200の設定についてのみ説明します。

                  -----+----- 192.168.1.0/24
                       |
                       | 192.168.1.1
                    RTX5000              [センター]
                       |
                     (ISP)
           ........................
          :                        :
          :     インターネット     :
          :                        :
           ........................
              (ISP)         (ISP)
                |             |
           ADSL |             | ISDN
                +----+   +----+
                     |   |
                LAN2 |   | BRI1
                    RTX1200              [拠点]
                       | LAN1
                       | 192.168.0.1
                       |
                -------+------- 192.168.0.0/24

まず、LAN1、LAN2の両インターフェイスを設定します。RTX1200のLAN1インターフェイスはLANに接続し、LAN2インターフェイスはADSLでISPに接続しています。この条件に対応する設定は以下のようになります。

ip lan1 address 192.168.0.1/24
pp select 1
pp always-on on
pppoe use lan2
pp auth accept pap chap
pp auth myname "PPPoEのID" "PPPoEのパスワード"
ppp ipcp ipaddress on
ip pp nat descriptor 1
pp enable 1

nat descriptor type 1 masquerade
nat descriptor address outer 1 ipcp
nat descriptor address inner 1 auto

次にバックアップで使用するISDN回線の接続を設定します。

pp select 2
pp bind bri1
isdn remote address call "ISPのアクセスポイントの電話番号"
pp auth accept pap chap
pp auth myname "ダイアルアップ接続のID" "ダイアルアップ接続のパスワード"
ppp ipcp ipaddress on
ip pp nat descriptor 1
pp enable 2

拠点とセンターの間ではIPsec VPNを経由して通信するため、IPsecの設定を追加します。

ipsec auto refresh on
ipsec ike always-on 1 on
ipsec ike keepalive use 1 on icmp-echo 192.168.1.1 5 4
ipsec ike local name 1 rtx@yamaha user-fqdn
ipsec ike pre-shared-key 1 text router
ipsec ike remote address 1 "SGW-IPアドレス"
ipsec sa policy 101 1 esp 3des-cbc sha-hmac

tunnel select 1
ipsec tunnel 101
tunnel enable 1
ip route 192.168.1.0/24 gateway tunnel 1

nat descriptor masquerade static 1 1 192.168.0.1 esp
nat descriptor masquerade static 1 2 192.168.0.1 udp 500

ここまでの設定で基本的な接続ができるようになります。続いて、バックアップの動作を設定します。2本の回線の使い分けは次のようになります。

  • 通常はADSLを使用する (PP1インターフェイスを使用する)
  • 障害時にはISDNを使用する (PP2インターフェイスを使用する)

ADSLでの接続の正常性は、ADSL経由でセンターのルータに対する到達性があるかどうかという点で判断します。

  • センターのルータに対するICMP Echoに応答があるかどうかを監視する

以上の条件に対応する設定は以下のようになります。

ip keepalive 1 icmp-echo 10 3 192.168.1.1
ip route default gateway pp 1 keepalive 1 gateway pp 2 weight 0

この設定では、ICMP Echoによる監視を10秒間隔で実施し、連続して3回の応答がないときに異常と判断します。間隔や回数はそれぞれの環境にあわせて設定します。

設定例

下図のネットワーク構成での設定例を説明します。


             192.168.0.0/24                              [センター]
         LAN -------------+-----
                          |         192.168.10.0/24
                          |  --+-------------+----- DMZ
                     LAN1 |    | LAN3        |
                         RTX1200(C)            WWW 192.168.10.2
                     LAN2 |    | BRI1
              IPアドレスA |    | IPアドレスB
                          |    +--------------------------+
                     FTTH |                               | ISDN
          .................................     .......................
         :                                 :   :                       :
         :             IP-VPN              :   :     インターネット    :
         :                                 :   :                       :
          .................................     .......................
            |         |                |              | |       |
            | +-------|----------------|--------------+ | ・・・|
            | |       | +--------------|----------------+       |
            | |       | |              | +----------------------+
            | |       | |              | |
IPアドレス1 | |       | |   ・・・・   | |
        RTX1200(1) RTX1200(2)       RTX1200(8)        ※拠点側のアクセス回線
             |.1       |.1              |.1             主系: ADSL
             |         |                |               従系: ISDN
         ----+----  ---+-----        ---+------
    192.168.1.0/24  192.168.2.0/24    192.168.8.0/24

     [拠点1]        [拠点2]  ・・・・  [拠点8]

この構成では、通常はIP-VPNを使ってセンターと拠点の間を接続し、障害が発生したときにはインターネットを経由したIPsec VPNで接続します。従来のファームウェアではBGPを使う必要がありましたが、ネットワークバックアップ機能を使用すると、静的な経路を設定するだけで運用することができるようになります。

[RTX1200(C)の設定例]
#
# LANのインターフェイスの設定
#
ip lan1 address 192.168.0.1/24

#
# DMZのインターフェイスの設定
#
ip lan3 address 192.168.10.1/24

#
# WAN(IP-VPN)のインターフェイスの設定
#
pp select 1
pp always-on on
pppoe use lan2
pp auth accept pap chap
pp auth myname (ID) (パスワード)
ppp lcp mru on 1454
ppp ipcp msext on
ip pp address (IPアドレスA)
ip pp mtu 1454
pp enable 1
ip route 192.168.0.0/16 gateway pp 1 # 注釈7

#
# WAN(インターネット)のインターフェイスの設定
#
pp select 2
pp bind bri1
isdn remote address call (アクセスポイントの回線番号)
pp auth accept pap chap
pp auth myname (ID) (パスワード)
ppp ipcp msext on
ip pp address (IPアドレスB)
ip pp nat descriptor 1
pp enable 2
ip route default gateway pp 2

#
# ネットワークバックアップ機能の設定
#
ip keepalive 1 icmp-echo 5 5 192.168.1.1
ip keepalive 2 icmp-echo 5 5 192.168.2.1
ip keepalive 3 icmp-echo 5 5 192.168.3.1
ip keepalive 4 icmp-echo 5 5 192.168.4.1
ip keepalive 5 icmp-echo 5 5 192.168.5.1
ip keepalive 6 icmp-echo 5 5 192.168.6.1
ip keepalive 7 icmp-echo 5 5 192.168.7.1
ip keepalive 8 icmp-echo 5 5 192.168.8.1
ip route 192.168.1.0/24 gateway pp 1 keepalive 1 gateway tunnel 1 weight 0 # 注釈1
ip route 192.168.2.0/24 gateway pp 1 keepalive 2 gateway tunnel 2 weight 0
ip route 192.168.3.0/24 gateway pp 1 keepalive 3 gateway tunnel 3 weight 0
ip route 192.168.4.0/24 gateway pp 1 keepalive 4 gateway tunnel 4 weight 0
ip route 192.168.5.0/24 gateway pp 1 keepalive 5 gateway tunnel 5 weight 0
ip route 192.168.6.0/24 gateway pp 1 keepalive 6 gateway tunnel 6 weight 0
ip route 192.168.7.0/24 gateway pp 1 keepalive 7 gateway tunnel 7 weight 0
ip route 192.168.8.0/24 gateway pp 1 keepalive 8 gateway tunnel 8 weight 0

#
# NATの設定
#
nat descriptor type 1 masquerade
nat descriptor masquerade static 1 1 192.168.0.1 udp 500
nat descriptor masquerade static 1 2 192.168.0.1 esp
nat descriptor masquerade static 1 3 192.168.10.2 tcp www # 注釈2

#
# VPN(IPsec)の設定 (共通の項目)
#
ipsec auto refresh on

#
# VPN(IPsec)の設定 (拠点1)
#
ipsec ike keepalive use 1 on
ipsec ike local address 1 192.168.0.1
ipsec ike pre-shared-key 1 text (パスワード)
ipsec ike remote address 1 any
ipsec ike remote name 1 kyoten1
ipsec sa policy 101 1 esp 3des-cbc md5-hmac
tunnel select 1
ipsec tunnel 101
tunnel enable 1

#
# VPN(IPsec)の設定 (拠点2)
#
ipsec ike keepalive use 2 on
ipsec ike local address 2 192.168.0.1
ipsec ike pre-shared-key 2 text (パスワード)
ipsec ike remote address 2 any
ipsec ike remote name 2 kyoten2
ipsec sa policy 102 2 esp 3des-cbc md5-hmac
tunnel select 2
ipsec tunnel 102
tunnel enable 2

# (注) 同様に拠点3から拠点8のトンネルを設定します。

#
# DHCPの設定
#
dhcp scope 1 192.168.0.2-192.168.0.100/24
dhcp service server

#
# DNSの設定
#
dns server (ISPより指定されたDNSサーバのIPアドレス)
dns private address spoof on

#
# フィルタの設定
#
ip filter source-route on
ip filter directed-broadcast on
ip filter 1001 reject 192.168.0.0/24 *
ip filter 1002 pass * 192.168.0.0/24 icmp
ip filter 1003 pass * 192.168.10.2 tcpflag=0x0002/0x0fff * www # 注釈4
ip filter 1010 reject * * udp,tcp 135 *
ip filter 1011 reject * * udp,tcp * 135
ip filter 1012 reject * * udp,tcp netbios_ns-netbios_ssn *
ip filter 1013 reject * * udp,tcp * netbios_ns-netbios_ssn
ip filter 1014 reject * * udp,tcp 445 *
ip filter 1015 reject * * udp,tcp * 445
ip filter 1016 pass * 192.168.0.1 udp * 500
ip filter 1017 pass * 192.168.0.1 esp
ip filter 2000 reject * *
ip filter 3000 pass * *
ip filter dynamic 100 * * ftp
ip filter dynamic 101 * * www
ip filter dynamic 102 * * domain
ip filter dynamic 103 * * smtp
ip filter dynamic 104 * * pop3
ip filter dynamic 105 * * tcp
ip filter dynamic 106 * * udp
ip filter dynamic 200 192.168.0.0/24 * telnet # 注釈5
ip filter dynamic 201 * 192.168.10.2 www # 注釈6

ip lan3 secure filter in 2000
ip lan3 secure filter out 3000 dynamic 101 200
pp select 2
ip pp secure filter in 1001 1002 1003 1016 1017 2000 dynamic 201
ip pp secure filter out 1010 1011 1012 1013 1014 1015 3000 dynamic 100 101 102 103 104 105 106
pp enable 2
[RTX1200(1)の設定例]
#
# LANのインターフェイスの設定
#
ip lan1 address 192.168.1.1/24

#
# WAN(IP-VPN)のインターフェイスの設定
#
pp select 1
pp always-on on
pppoe use lan1.2
pp auth accept pap chap
pp auth myname (ID) (パスワード)
ppp lcp mru on 1454
ppp ipcp msext on
ip pp address (IPアドレス1)
ip pp mtu 1454
pp enable 1

#
# WAN(インターネット)のインターフェイスの設定
#
pp select 2
pp bind bri1
isdn remote address call (アクセスポイントの回線番号)
pp auth accept pap chap
pp auth myname (ID) (パスワード)
ppp ipcp ipaddress on
ppp ipcp msext on
ip pp nat descriptor 1
pp enable 2
ip route default gateway pp 2 # 注釈3

#
# ネットワークバックアップの設定
#
ip keepalive 1 icmp-echo 5 5 192.168.0.1
ip route 192.168.0.0/16 gateway pp 1 keepalive 1 gateway tunnel 1 weight 0 # 注釈3

#
# NATの設定
#
nat descriptor type 1 masquerade
nat descriptor masquerade static 1 1 192.168.1.1 udp 500
nat descriptor masquerade static 1 2 192.168.1.1 esp

#
# VPN(IPsec)の設定
#
ipsec auto refresh on
ipsec ike keepalive use 1 on
ipsec ike local address 1 192.168.1.1
ipsec ike local name 1 kyoten1
ipsec ike pre-shared-key 1 text (パスワード)
ipsec ike remote address 1 (IPアドレスB)
ipsec sa policy 101 1 esp 3des-cbc md5-hmac
tunnel select 1
ipsec tunnel 101
tunnel enable 1

#
# DNSの設定
#
dns server (ISPより指定されたDNSサーバのIPアドレス)
dns private address spoof on

#
# フィルタの設定
#
ip filter source-route on
ip filter directed-broadcast on
ip filter 1001 reject 192.168.1.0/24 *
ip filter 1002 pass * 192.168.1.0/24 icmp
ip filter 1010 reject * * udp,tcp 135 *
ip filter 1011 reject * * udp,tcp * 135
ip filter 1012 reject * * udp,tcp netbios_ns-netbios_ssn *
ip filter 1013 reject * * udp,tcp * netbios_ns-netbios_ssn
ip filter 1014 reject * * udp,tcp 445 *
ip filter 1015 reject * * udp,tcp * 445
ip filter 1020 pass (IPアドレスB) 192.168.1.1 udp * 500
ip filter 1021 pass (IPアドレスB) 192.168.1.1 esp
ip filter 2000 reject * *
ip filter 3000 pass * *
ip filter dynamic 100 * * ftp
ip filter dynamic 101 * * www
ip filter dynamic 102 * * domain
ip filter dynamic 103 * * smtp
ip filter dynamic 104 * * pop3
ip filter dynamic 105 * * tcp
ip filter dynamic 106 * * udp

pp select 2
ip pp secure filter in 1001 1002 1020 1021 2000
ip pp secure filter out 1010 1011 1012 1013 1014 1015 3000 dynamic 100 101 102 103 104 105 106
pp enable 2

※RTX1200(2)からRTX1200(8)の設定も同様です。

[注釈の説明]

注釈1
ip keepaliveコマンドの1番の設定で障害を検出したら、192.168.1.0/24に対する経路をIP-VPNからインターネットへ切り替えます。

注釈2
NATの影響で外側からのアクセスができなくなるので、WWWサーバへアクセスできるように穴を開けます。

注釈3
ip keepaliveコマンドの設定で障害を検出したら、192.168.0.0/16に対する経路をIP-VPNからインターネットへ切り替えます。

注釈4、注釈6
WWWサーバへのアクセスのうち、最初のパケット(SYN)だけを通すフィルタです。その後に引き続く通信は、注釈6の動的フィルタで通します。

注釈5
WWWサーバをメンテナンスするために使うTELNETの通信を通すフィルタです。

注釈7
拠点のWANインターフェイスに割り当てられるアドレスに対する経路です。割り当てられるアドレスに応じて変更してください。

ページトップへ戻る