CiscoルータでのISDNによるダイアルバックアップの方法 ~ダイアラーウォッチ~
目次
ダイアラーウォッチの仕組み
ダイアラーウォッチは、ルーティングテーブルの特定のルートを監視して、そのルートが消えるとダイアルするバックアップ手法です。
やはり、『CiscoルータでのISDNによるダイアルバックアップの方法』の2つのポイントを考えます。まず1つ目です。ダイアラーウォッチでは、プライマリ回線がダウンしたときにルーティングプロトコルによって、ルーティングテーブルを再構成します。したがって、ダイアラーウォッチでは、ISDN回線上でルーティングプロトコルを動作させます。
しかし、バックアップインタフェースとは違ってルーティングプロトコルをインタレスティングパケットに含めてはいけません。ルーティングプロトコルをインタレスティングパケットに含めると、プライマリ回線がアップのときでも、バックアップ回線が常時接続されてしまいます。
次に2つ目のポイントです。バックアップインタフェースでは、ルーティングプロトコルのパケットがダイアルするトリガーでした。一方、ダイアラーウォッチは、ダイアラーウォッチ自体の機能がトリガーとなってダイアルすることができます。そのため、ルーティングプロトコルをインタレスティングパケットに含める必要がないのです。
ダイアラーウォッチの仕組みをまとめると、
監視しているルートが消える
↓
ダイアラーウォッチがダイアル
↓
ISDN回線上でルーティングプロトコルによりルーティングテーブルを再構成
↓
パケットをISDN回線上にルーティング
という流れになります。
なお、ダイアラーウォッチは引き続きルーティングテーブルを監視し、再度プライマリ回線経由でルートを学習すると、ISDNの接続を切断します。
ダイアラーウォッチの設定
ダイアラーウォッチの設定は、まず監視するルートをdialer watch-listコマンドによって指定します。
(config)#dialer watch-list [list-num] ip [ip-address] [subnet-mask]
ルーティングテーブルに載せられているルートと同じネットワークアドレス、サブネットマスクを指定します。複数のルートを指定することもできます。複数のルートを監視しているときは、監視しているすべてのルートがダウンしたらダイアラーウォッチによるダイアルを行います。
次にインタフェースにdialer watch-listを関連付けます。そのために、ダイアルするインタフェースにおいて次のコマンドを入力します。
(config-if)#dialer watch-group [watch-list-number]
レガシーDDRの設定の際には、監視しているルートに対してのdialer mapコマンドが必要です。これにより、ダイアルするときのダイアル先を指定しています。ダイアラーインタフェースでは、ダイアル先は決まっているのでdialer mapコマンドは必要ありません。
サンプルネットワークのR2で、プライマリ回線を通じて学習しているルート192.168.13.0/24を監視するとすれば、次のような設定になります。
R2(config)#dialer watch-list 1 ip 192.168.13.0 255.255.255.0 R2(config)#interface bri 0 R2(config-if)#dialer watch-group 1 R2(config-if)#dialer map ip 192.168.13.0 name R1 1111 broadcast R2(config-if)#dialer-group 1 R2(config-if)#exit R2(config)#dialer-list 1 permit ip list 100 R2(config)#access-list 100 deny eigrp any any R2(config)#access-list 100 permit ip any any
※R1でもISDN上でEIGRPを動作させます。
※R1でもインタレスティングパケットにEIGRPを含めない設定が必要です。
ダイアラーウォッチの動作
では、実際にサンプルネットワークでダイアラーウォッチによるダイアルバックアップの動作を確認します。まず、プライマリ回線が正常な状態の各ルータのルーティングテーブルは次のようになります。
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:00:03, Serial1 D 192.168.3.0/24 [90/409600] via 192.168.13.3, 00:18:58, 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:02:28, 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:02:28, 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:35:12, Ethernet0 C 192.168.13.0/24 is directly connected, Ethernet0 D 192.168.21.0/24 [90/40537600] via 192.168.13.1, 00:08:38, Ethernet0 D 192.168.2.0/24 [90/2221056] via 192.168.13.1, 00:03:25, Ethernet0 C 192.168.3.0/24 is directly connected, Loopback0
R1、R2ではプライマリ回線を経由してEIGRPによってルートを学習していることがわかります。
ダイアラーウォッチは、R2のルーティングテーブルから192.168.13.0/24が消えると動作します。そのために、R2のSerialインタフェースを無効化します。このとき、R2でdebug dialerを入力しておくと、次のようになります。
R2のdebug dialer R2#debug dialer Dial on demand events debugging is on R2#conf t Enter configuration commands, one per line. End with CNTL/Z. R2(config)#interface serial 1 R2(config-if)#shutdown R2(config-if)# 1d21h: DDR: Dialer Watch: watch-group = 1 1d21h: DDR: network 192.168.13.0/255.255.255.0 DOWN, 1d21h: DDR: primary DOWN 1d21h: DDR: Dialer Watch: Dial Reason: Primary of group 1 DOWN 1d21h: DDR: Dialer Watch: watch-group = 1, 1d21h: DDR: dialing secondary by dialer map 192.168.13.0 on BR0 1d21h: BR0 DDR: Attempting to dial 1111 1d21h: DDR: Dialer Watch: watch-group = 1 1d21h: DDR: network 192.168.13.0/255.255.255.0 DOWN, 1d21h: DDR: primary DOWN 1d21h: DDR: Dialer Watch: Dial Reason: Primary of group 1 DOWN 1d21h: DDR: Dialer Watch: watch-group = 1, 1d21h: %LINK-3-UPDOWN: Interface BRI0:1, changed state to up 1d21h: BR0:1 DDR: Dialer Watch: resetting call in progress 1d21h: BR0:1 DDR: dialer protocol up 1d21h: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0:1, changed state to up 1d21h: %LINK-5-CHANGED: Interface Serial1, changed state to administratively down 1d21h: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial1, changed state to down 1d21h: %ISDN-6-CONNECT: Interface BRI0:1 is now connected to 1111 R1
ダイアラーウォッチによってダイアルしていることがわかります。このことは、show dialerコマンドでも確認できます。
R2のshow dialer R2#sh dialer BRI0 - dialer type = ISDN Dial String Successes Failures Last DNIS Last status 1111 2 2 00:00:28 successful 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: Dialing on watched route loss Time until disconnect 91 secs Connected to 1111 (R1) ~省略~
さらに、ルーティングテーブルを確認するとISDN経由でルーティングテーブルが再構成されていることがわかります。
R1のshow ip route 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/40537600] via 192.168.21.2, 00:01:04, BRI0 D 192.168.3.0/24 [90/409600] via 192.168.13.3, 00:08:40, Ethernet0 R2のshow ip route R2#show ip route ~省略~ Gateway of last resort is not set D 192.168.12.0/24 [90/41024000] via 192.168.21.1, 00:01:24, BRI0 D 192.168.13.0/24 [90/40537600] via 192.168.21.1, 00:01:24, BRI0 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/40665600] via 192.168.21.1, 00:01:24, BRI0 R3のshow ip route R3#show ip route ~省略~ Gateway of last resort is not set D 192.168.12.0/24 [90/2195456] via 192.168.13.1, 01:04:52, Ethernet0 C 192.168.13.0/24 is directly connected, Ethernet0 D 192.168.21.0/24 [90/40537600] via 192.168.13.1, 00:38:18, Ethernet0 D 192.168.2.0/24 [90/40563200] via 192.168.13.1, 00:00:07, Ethernet0 C 192.168.3.0/24 is directly connected, Loopback0
R2から次のように拡張PingでEthernetインタフェースのIPアドレスを送信元として192.168.13.3にPingを確認します。
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: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 36/37/44 ms
プライマリ回線障害時でも、192.168.2.0/24からの接続性を確保できることがわかります。