ネットワークバックアップ機能では、 ICMP Echoによりネットワークの状態をリアルタイムに監視し、 何らかの障害が発生したときに、そのネットワークに 対する経路を自動的に切り替えて障害を迂回します。また、障害が解消したと きには自動的に経路を元に戻します。
ネットワークバックアップ機能を使うと、 動的経路制御プロトコルを使わずに障害経路を迂回する構成を作ることができます。 したがって、拠点の数が多く、 動的経路制御プロトコルの処理に必要な CPU負荷やネットワーク帯域を確保できないときでも、 ネットワークのバックアップソリューションを提供できます。
また、従来のバックアップ機能では障害を回線ごとに識別していましたが、 ネットワークバックアップ機能では障害をネットワークごとに識別するため、 IP-VPNや広域イーサネットのバックアップソリューションにおいて、 障害のない拠点の通信に影響を与えることなく、 障害の発生した経路だけを切り替えることができるようになります。
特定の端末やルータに対する到達性を確認することができます。 この機能を使うためには、 ip keepaliveコマンドを設定します。 このコマンドの書式は次のようになっています。
形式 | 値 | 説明 |
---|---|---|
IPアドレス | xxx.xxx.xxx.xxx | 送信先IPアドレス (xxxは十進数) |
dhcp interface | dhcp インターフェース名 | DHCP クライアントとして動作する LAN インタフェース名または WAN インタフェース名 |
種類 | 値 | 説明 |
---|---|---|
log | 'on' / 'off' | syslogを出力するかどうか |
upwait | 1..1000000[秒] | 到達性があると判断するまでの待機時間 |
downwait | 1..1000000[秒] | 到達性がないと判断するまでの待機時間 |
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個までが有効になります。
(※) RTX2000では500個まで設定でき、全体で500個までが有効になります。
回線が不安定な状態では到達性が頻繁に変化するケースがあるため、 判定を急がずに様子を見ることが可能になっています。 このような「様子を見る」時間を待機時間とよんでいます。
待機時間の効果を図で表現すると次のようになります。
(※) 到達性のある状態を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オプションによる動作の違いは次のようになります。
[設定例1]
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を使う
例として下図の構成によるバックアップの設定方法を説明します。 RTX2000ではネットワークバックアップ機能を使用しませんので、 RTX1000の設定についてのみ説明します。
-----+----- 192.168.1.0/24 | | 192.168.1.1 RTX2000 [センター] | (ISP) ........................ : : : インターネット : : : ........................ (ISP) (ISP) | | ADSL | | ISDN +----+ +----+ | | LAN2 | | BRI1 RTX1000 [拠点] | LAN1 | 192.168.0.1 | -------+------- 192.168.0.0/24
まず、LAN1、LAN2の両インタフェースを設定します。 RTX1000の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での接続の正常性は、 ADSL経由でセンターのルータに対する到達性があるかどうかという点で判断します。
以上の条件に対応する設定は以下のようになります。
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 | RTX1000(C) WWW 192.168.10.2 LAN2 | | BRI1 IPアドレスA | | IPアドレスB | +--------------------------+ FTTH | | ISDN ................................. ....................... : : : : : IP-VPN : : インターネット : : : : : ................................. ....................... | | | | | | | +-------|----------------|--------------+ | ・・・| | | | +--------------|----------------+ | | | | | | +----------------------+ | | | | | | IPアドレス1 | | | | ・・・・ | | RTX1000(1) RTX1000(2) RTX1000(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を使う必要がありましたが、 ネットワークバックアップ機能を使用すると、 静的な経路を設定するだけで運用することができるようになります。
[RTX1000(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
[RTX1000(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
※RTX1000(2)からRTX1000(8)の設定も同様です。
[注釈の説明]