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からの接続性を確保できることがわかります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA