Object Trackingはルーティングテーブルの状態やIP SLAの結果を追跡する機能です。Object Trackingとは、IP SLAやルーティングテーブルの状態を追跡する仕組みです。このようなTrackをもとに、HSRPやルーティングテーブルを定義する事ができます。
コマンド一覧
このシナリオで重要なコマンド一覧は以下の通りです。
Router(config)# track <num> interface <interface> [ line-protocol | ip routing ] Router(config-track)# delay { down | up } <sec> Router(config)# track <num> ip route <route> [ reachability | metric threshold ] Router(config-track)# threshold metric up <met> down <met> Router(config-track)# Router(config)# track <num> rtr <rtr_num> [ reachability | state ] Router(config)# track <num> list boolean [ and | or ] Router(config-track)# object <num>
構成図
以下の環境で動作確認を行います。
e0/0 e0/1 .2+--------+.2 ┌----+ R2 +--┐ e0/0 │ +--------+ │ +--------+.1 │ │ | R1 +----┤ │ +--------+ │ │ │ +--------+ │ └----+ R3 +--┘ .3+--------+.3 e0/0 e0/1 192.168.123.0/24 192.168.23.0/24 R1 Loopback0 R2 Loopback0 R2 Loopback0 10.1.1.1/32 10.2.2.2/32 10.3.3.3/32
[R1] router ospf 1 network 0.0.0.0 255.255.255.255 area 0 [R2] router ospf 1 network 0.0.0.0 255.255.255.255 area 0 [R3] router ospf 1 network 0.0.0.0 255.255.255.255 area 0
設定全文は下記ファイルです。ルーティングなどの詳細設定は下記を参照ください。
interface tracking
仕様説明
interfaceの状態を追跡したい場合は、以下のような設定を投入します。”line-protocol”を指定すると、Layer 2の状態を追跡できます。ip routingを指定したすると、Layer 2の状態に加えIPアドレスが割り当てられているかどうかも含め追跡できます。DHCPやPPP IPCPによるアドレス割り当てができているかどうかを追跡したい場合はこのオプションを指定すると良いでしょう。
また、追跡した結果がすぐに反映しないようdelayの指定も可能です。フラッピングによる影響を軽減したい場合は、この設定を使用すると効果的です。
Router(config)# track <num> interface <interface> [ line-protocol | ip routing ] Router(config-track)# delay { down | up } <sec>
動作確認
以下Object Trackingを定義します。
[R1] track 1 interface Loopback 0 line-protocol
interfaceの状態に応じて、trackの状態も変わった事を確認します。
[R1] R1(config)#int lo0 R1(config-if)#shut R1(config-if)# *Mar 1 00:21:14.011: %TRACKING-5-STATE: 1 interface Lo0 line-protocol Up->Down *Mar 1 00:21:16.011: %LINK-5-CHANGED: Interface Loopback0, changed state to administratively down *Mar 1 00:21:17.011: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to down R1(config-if)#^Z R1# *Mar 1 00:21:21.199: %SYS-5-CONFIG_I: Configured from console by console R1# R1# R1#show track Track 1 Interface Loopback0 line-protocol Line protocol is Down (hw admin-down) 2 changes, last change 00:00:13 R1#
routing tracking
仕様説明
ルーティングテーブルを追跡する場合は以下のような設定になります。”reachability”を指定した場合はルーティングテーブルに存在するかどうかのみを追跡し、”metric threshold”を指定した場合はmetricに応じてup/downが変わります。
[R1] Router(config)# track <num> ip route <route> [ reachability | metric threshold ] Router(config-track)# threshold metric up <met> down <met> Router(config-track)#
動作確認
以下Object Trackingを定義します。R3 lo0(10.3.3.3/32)へのmetricが20以下かどうかを追跡します。
[R1] track 2 ip route 10.3.3.3/32 metric threshold threshold metric up 20 down 21
R3 e0/0をshutさせます。
[R3] R3(config)#int e0/0 R3(config-if)#shut R3(config-if)# *Mar 1 00:06:42.907: %OSPF-5-ADJCHG: Process 1, Nbr 10.2.2.2 on Ethernet0/0 from FULL to DOWN, Neighbor Down: Interface down or detached *Mar 1 00:06:42.911: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.123.1 on Ethernet0/0 from FULL to DOWN, Neighbor Down: Interface down or detached *Mar 1 00:06:44.895: %LINK-5-CHANGED: Interface Ethernet0/0, changed state to administratively down *Mar 1 00:06:45.895: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed state to down R3(config-if)#
R3 lo0(10.3.3.3/32)へのmeticが11から21に増え、trackの状態が変わった事を確認します。
[R1] R1# *Mar 1 00:07:45.655: %TRACKING-5-STATE: 2 ip route 10.3.3.3/32 metric threshold Up->Down *Mar 1 00:08:03.703: %OSPF-5-ADJCHG: Process 1, Nbr 10.3.3.3 on Ethernet0/0 from FULL to DOWN, Neighbor Down: Dead timer expired R1# R1#show ip route | i 10\\.3 O 10.3.3.3 [110/21] via 192.168.123.2, 00:00:27, Ethernet0/0 R1# R1# R1#show track 2 Track 2 IP route 10.3.3.3 255.255.255.255 metric threshold Metric threshold is Down (OSPF/21/21) 2 changes, last change 00:00:32 Metric threshold down 21 up 20 First-hop interface is Ethernet0/0 R1#
ip sla tracking
仕様説明
以下のコマンドでIP SLAの状態を追跡できます。”reachability”, “state”の違いは、”Over threshold”の取り扱い方です。
reachability | state | |
---|---|---|
OK | Up | Up |
Over threshold | Up | Down |
NG | Down | Down |
[R1] Router(config)# track <num> rtr <rtr_num> [ reachability | state ]
動作確認
以下のIP SLAとObject Trackingを定義します。R2 lo0(10.2,2,2/32)へping応答がthreshold(10msec)以内に返ってくるかを追跡します。
[R1] ip sla monitor 3 type echo protocol ipIcmpEcho 10.2.2.2 timeout 500 threshold 10 frequency 10 ip sla monitor schedule 3 life forever start-time now ! track 3 rtr 3 state
10msec以内かどうかに応じて、trackの状態が変わる事を確認します。
[R1] R1#show ip sla monitor statistics 3 Round trip time (RTT) Index 3 Latest RTT: 20 ms Latest operation start time: *00:03:06.711 UTC Fri Mar 1 2002 Latest operation return code: Over threshold Number of successes: 6 Number of failures: 0 Operation time to live: Forever R1# R1#show track 3 Track 3 Response Time Reporter 3 state State is Down 1 change, last change 00:00:28 Latest operation return code: Over threshold Latest RTT (millisecs) 20 R1#
tracking list
仕様説明
以下のコマンドで、複数のtrackを追跡できます。
[R1] Router(config)# track <num> list boolean [ and | or ] Router(config-track)# object <num>
動作確認
以下Object Trackingを定義します。
track 2, track 3のいずれかがupであるかどうかを追跡します。
[R1] track 4 list boolean or object 2 object 3
複数のtrackの状態を追跡している事を確認します。
R1#show track 4 Track 4 List boolean or Boolean OR is Up 2 changes, last change 00:00:08 object 2 Up object 3 Down R1#