CiscoルータでのISDNによるダイアルバックアップの方法 ~フローティングスタティック~
目次
フローティングスタティックの仕組み
フローティングスタティックによるダイアルバックアップは、フローティングスタティックルートを設定します。フローティングスタティックルートとは、アドミニストレイティブディスタンスを高く設定したスタティックルートです。また、フローティングスタティックルートは、ネクストホップアドレスとしてバックアップのISDNネットワークのIPアドレスを設定しています。
プライマリ回線が正常なときは、ダイナミックルーティングプロトコルで学習したルートが優先されます。フローティングスタティックルートはルーティングテーブルに載せられません。一方、プライマリ回線がダウンすると、プライマリ回線経由で学習したダイナミックルーティングプロトコルによるルートがなくなります。その結果、フローティングスタティックルートがルーティングテーブルに浮かび上がってきます。ルーティングテーブルに表れたフローティングスタティックルートによって、パケットをISDN経由でルーティングできるようになります。
以上の仕組みより、『CiscoルータでのISDNによるダイアルバックアップの方法』で述べた2つのポイントについて考えます。
1つ目のポイントについて、プライマリ回線障害時のルーティングテーブルは、あらかじめ設定しているフローティングスタティックルートによって再構成されます。このことから、フローティングスタティックによるダイアルバックアップでは、ISDN上でルーティングプロトコルを動作させる必要がないことがわかります。
ルーティングテーブル上のフローティングスタティックルートは、ISDN経由でパケットを転送します。そのため、通常のパケットをルーティングするときに、そのパケットがインタレスティングパケットであれば、発呼することになります。つまり、ダイアルするトリガーはインタレスティングパケットであるデータパケットということになります。
また、フローティングスタティックによるダイアルバックアップでは次のことに注意してください。
- 双方向でのフローティングスタティックルートの設定が必要
- ISDN網に接続されていないルータにルートをアドバタイズするための再配送の設定が必要
通常、スタティックルートによるルーティングを行う際には、戻りのパケットのルートが必要なので、双方向でスタティックルートを設定しなければなりません。フローティングスタティックにおいても同様です。ISDN網に接続しているルータでプライマリ回線が障害時にIP接続性が必要なすべてのネットワークにたいしてのフローティングスタティックルートを設定します。
また、ISDN網に接続していない他のルータが存在する場合、そのルータにフローティングスタティックルートをアドバタイズするために再配送の設定が必要です。再配送しなければ、ISDN網に接続していないルータからはIP接続性を確保できなくなってしまいます。
フローティングスタティックの設定
フローティングスタティックルートの設定は、難しくありません。通常のスタティックルートの設定の最後でアドミニストレイティブディスタンスを変更するだけです。コマンドは次のようになります。
(config)#ip route {network-address} {subnetmask} {next-hop} [A.D]
サンプルネットワークにおけるR2のフローティングスタティックルートの設定は次のようになります。EIGRPのアドミニストレイティブディスタンスが90であることから、フローティングスタティックルートのアドミニストレイティブディスタンスを150としています。
R2(config)#ip route 192.168.13.0 255.255.255.0 192.168.21.1 150 R2(config)#ip route 192.168.33.0 255.255.255.0 192.168.21.1 150
R2ではプライマリ回線を経由して到達する必要があるネットワークすべてに対してフローティングスタティックルートを設定します。
ISDN網に接続しているR1でも戻りのパケット用にR2配下の192.168.2.0/24に対するフローティングスタティックルートを次のように設定します。
R1(config)#ip route 192.168.2.0 255.255.255.0 192.168.21.2 150
また、この192.168.2.0/24はこのままではプライマリ回線がダウンしているときに、R3には伝わっていきません。プライマリ回線がダウンしているときでも、R1とR3はEIGRPによってルート情報を交換しています。しかし、スタティックルートは自動的にEIGRPでアドバタイズされないからです。プライマリ回線がダウンしてもR3がR2配下のルートを学習することができるようにします。そのために、R1でスタティックルートをEIGRPに再配送しなければいけません。
R1(config)#router eigrp 1 R1(config-router)#redistribute static metric 100000 10 255 1 1500
フローティングスタティックの動作
では、実際にサンプルネットワークでフローティングスタティックによるダイアルバックアップの動作を確認します。まず、プライマリ回線が正常な状態の各ルータのルーティングテーブルは次のようになります。
R1のルーティングテーブル R1#sh ip route ~省略~ Gateway of last resort is not set C 192.168.12.0/24 is directly connected, Serial1 C 192.168.13.0/24 is directly connected, Ethernet0 C 192.168.21.0/24 is directly connected, BRI0 D 192.168.2.0/24 [90/2195456] via 192.168.12.2, 00:04:26, Serial1 D 192.168.3.0/24 [90/409600] via 192.168.13.3, 00:01:02, Ethernet0 R2のルーティングテーブル R2#sh ip route ~省略~ Gateway of last resort is not set C 192.168.12.0/24 is directly connected, Serial1 D 192.168.13.0/24 [90/2195456] via 192.168.12.1, 00:10:07, Serial1 C 192.168.21.0/24 is directly connected, BRI0 C 192.168.2.0/24 is directly connected, Ethernet0 D 192.168.3.0/24 [90/2323456] via 192.168.12.1, 00:06:43, Serial1 R3のルーティングテーブル R3#sh ip route ~省略~ Gateway of last resort is not set D 192.168.12.0/24 [90/2195456] via 192.168.13.1, 00:07:11, Ethernet0 C 192.168.13.0/24 is directly connected, Ethernet0 D 192.168.2.0/24 [90/2221056] via 192.168.13.1, 00:07:11, Ethernet0 C 192.168.3.0/24 is directly connected, Loopback0
R1、R2ではプライマリ回線を経由してEIGRPによってルートを学習していることがわかります。
次に、プライマリ回線に障害が発生したものとしてR2のSerialインタフェースをシャットダウンします。
R2(config)#interface Serial 1 R2(config-if)#shutdown
プライマリ回線がダウンしている状態で、R1とR2のルーティングテーブルを確認します。
R1のルーティングテーブル R1#sh ip route ~省略~ Gateway of last resort is not set C 192.168.12.0/24 is directly connected, Serial1 C 192.168.13.0/24 is directly connected, Ethernet0 C 192.168.21.0/24 is directly connected, BRI0 S 192.168.2.0/24 [150/0] via 192.168.21.2 D 192.168.3.0/24 [90/409600] via 192.168.13.3, 00:01:45, Ethernet0 R2のルーティングテーブル R2#sh ip route ~省略~ Gateway of last resort is not set S 192.168.13.0/24 [150/0] via 192.168.21.1 C 192.168.21.0/24 is directly connected, BRI0 C 192.168.2.0/24 is directly connected, Ethernet0 S 192.168.3.0/24 [150/0] via 192.168.21.1
R1、R2にはあらかじめ設定していたフローティングスタティックルートがルーティングテーブルに表れることがわかります。
そして、ISDN網に接続されていないR3のルーティングテーブルは次のようになります。
R3のルーティングテーブル R3#sho ip route ~省略~ Gateway of last resort is not set D 192.168.12.0/24 [90/2195456] via 192.168.13.1, 00:15:23, Ethernet0 C 192.168.13.0/24 is directly connected, Ethernet0 D EX 192.168.2.0/24 [170/284160] via 192.168.13.1, 00:01:32, Ethernet0 C 192.168.3.0/24 is directly connected, Loopback0
R1で設定しているフローティングスタティックルートがEIGRPに再配送されているため、R3ではEIGRP外部ルートとしてR2の192.168.2.0/24のネットワークアドレスがルーティングテーブル上に存在します。もしR1でEIGRPへの再配送の設定がなければ、R3から192.168.2.0/24には到達できないことがわかります。
以上のように、あらかじめ設定していたフローティングスタティックルートによりプライマリ回線がダウンした状態で、ISDN経由でルーティングテーブルを再構成することができました。実際にパケットを送信して通信できることを確認します。R2から次のように拡張PingでEthernetインタフェースのIPアドレスを送信元として192.168.13.3にPingを確認します。この際、R2でdebug dialerによりダイアルの様子をデバッグしてみます。
R2の拡張Pingとdebug dialer R2#debug dialer Dial on demand events debugging is on R2#ping Protocol [ip]: Target IP address: 192.168.13.3 Repeat count [5]: Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: y Source address or interface: 192.168.2.2 Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose[none]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.13.3, timeout is 2 seconds: 1d20h: BR0 DDR: Dialing cause ip (s=192.168.2.2, d=192.168.13.3) 1d20h: BR0 DDR: Attempting to dial 1111 1d20h: %LINK-3-UPDOWN: Interface BRI0:1, changed state to up.!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 32/34/36 ms R2# 1d20h: BR0:1 DDR: dialer protocol up 1d20h: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0:1, changed state to up 1d20h: %ISDN-6-CONNECT: Interface BRI0:1 is now connected to 1111
このように、バックアップ回線であるISDN経由で通信可能なことを確認することができました。また、R2でshow dialerによってダイアル情報を確認します。
R2のshow dialer R2#sh dialer BRI0 - dialer type = ISDN Dial String Successes Failures Last DNIS Last status 1111 4 3 00:00:12 successful Default 0 incoming call(s) have been screened. 0 incoming call(s) rejected for callback. BRI0:1 - dialer type = ISDN Idle timer (120 secs), Fast idle timer (20 secs) Wait for carrier (30 secs), Re-enable (15 secs) Dialer state is data link layer up Dial reason: ip (s=192.168.2.2, d=192.168.13.3) Time until disconnect 109 secs Current call connected 00:00:12 Connected to 1111 BRI0:2 - dialer type = ISDN Idle timer (120 secs), Fast idle timer (20 secs) Wait for carrier (30 secs), Re-enable (15 secs) Dialer state is idle
ダイアルするトリガーが通常のパケット(この場合はPing)であることがわかります。
なお、このままではR3からISDNネットワーク(192.168.21.0/24)への接続性はありません。もし、R3からISDNネットワークへの接続性が必要であれば、R1でEIGRPによってアドバタイズするか、ConnectedをEIGRPに再配送します。