【Cisco】CiscoのTHE 冗長化機能「HSRP」を解説していきます!
とうとう6月になりましたが、5月下旬から暑さに負けてクーラー男のキムキムです。
最近やっとFF14を買いまして、すくすくと成長しております。
さて!本日はHSRPと呼ばれるCiscoの冗長の仕組みについて触れていきたいと思います。
冗長の仕組みは数多かれど、Cisco装置にて冗長化を行う場合大方は使われている機能なんじゃないでしょうか!(偏見かも)
私の個人的解釈も足しつつ解説していきたいと思います!
HSRPって何?
ずばり、「ゲートウェイの冗長化」になります。
「2つのRTを論理的に1つのRTに見せる」とも表現され、同グループの装置がHelloパケットと呼ばれるものをやり取りして
Active/Standbyと呼ばれる役割をお互いが担う事で、筐体/リンク障害時にも勝手に系切り替えをしてくれる機能です。
それでは、早速図を使って流れを説明していきます!
実際にHSRPを設定してみると
こちらの構成でRT-A,RT-Bを以下の手順で冗長化していきます。
手順は以下に書いていきます!(RT-CやRT-Dの設定は考慮していません)
RT-A#configure terminal
RT-A(config)#interface XXX(RT-X向けIF)
RT-A(config-if)#standby 1 ip 192.168.192.1
RT-A(config-if)#standby 1 priority 200
RT-A(config-if)#standby 1 preempt
RT-A(config-if)#standby 1 timer 1 3
RT-B#configure terminal
RT-B(config)#interface XXX(RT-X向けIF)
RT-B(config-if)#standby 1 ip 192.168.192.1
RT-B(config-if)#standby 1 priority 150
RT-B(config-if)#standby 1 preempt
RT-B(config-if)#standby 1 timer 1 3
こちらのコマンドを適用することで、RT-A,BがそれぞれSW-Aを介してHello Packetでやり取りを行い冗長の連携を取ります。
状況はどのように変わるでしょうか?見てみましょう。
冗長化を組むことが出来ましたね!!!
それでは、コマンドの意味やステータスについて説明していきます!
HSRPの設定コマンドについて
サラっと行っていたHSRPの設定コマンドについて、赤字の部分を注釈する形で詳しく説明していきます。
RT-A(config-if)#standby 1 ip 192.168.192.1
RT-A(config-if)#standby 1 priority 200
RT-A(config-if)#standby 1 preempt
RT-A(config-if)#standby 1 timer 1 3
・standby 1 ip 192.168.192.1
→HSRPのGroupIDに設定しています。冗長化を組みたい装置でこの番号を合わせる必要があり、この番号で管理されています。
・standby 1 ip 192.168.192.1
→仮想IPを「192.168.192.1」に設定しています。こちらもGroupID同様、冗長化を組みたい装置で合わせる必要があります。
・standby 1 priority 200
→プライオリティを「200」に設定しています。(デフォルト値は100)
・standby 1 preempt
→こちらは必須ではないですが、preemptを設定することで後述で説明するActiveの装置がDownし
他装置からHoldTimeによるDown検知をされた場合、Standbyの装置がActiveに成り上がる為の設定です。
preemptのみであれば検知次第直ぐ、preempt delayであれば検知してから指定した秒数待ってからStandby→Activeへ遷移します。
・standby 1 timer 1 3
→Helloパケットの送信間隔を「1秒」Holdtimeを「3秒」に設定しています。(デフォルト値はtimer 3 10)
Helloパケットと呼ばれる生存確認パケットを1秒毎に送信し、同じGroupのRTを生存確認していますが
最後に送ったパケットから「3秒」応答が無ければ、その装置は「Downした」と見なす検知システムです。
HSRPステータスについて
大きく以下の6つに分かれます。他のサイトでもいくつか解説されていますが、備忘録がてら纏めます。
・Initial
→HSRP設定した初期状態であり、Linkdownや装置起動後直ぐの時によくみられるStatusです。
・Learn
→仮想IPが設定されておらず、Helloパケット待ちの状態です。
・Listen
→仮想IPが設定されてはいるが、Helloパケットを待っている状態です。
・Speak
→他の装置とHelloパケットを送受信し合い、Active/Standbyの選定に参加します。
・Standby
→もれなくサブ機、スタンバイです。SbyやStb等略される事もある様です。
こちらのステータスのRTは仮想IPを保持していませんが、ActiveのDownを検知した場合は
直ぐに仮想IPを受け継ぐ為のベンチ君です。
・Active
→HSRP一軍のアクティブです。Actの略称以外はまだ見たことが無いです。
こちらのステータスのRTは仮想IPを保持し、メインで通信をやり取りする装置となります。
選定される基準としてはPriorityの高い順となります。
priorityが同率であればIPアドレスの大きさで選定されることになります。
以上の説明を経てもう一度先程の図を見てみましょう。
RT-AがActiveであり、RT-BがStandby、192.168.192.1/24のIPアドレスはRT-Aが保持している事が分かりますね!
これでRT-XはNext-hopを「192.168.192.1」に設定することで、冗長構成の取れたルーティングを行うことが出来ます!!
おわりに
長くなりましたがHSRPについて纏めてみました!
しばらく使ってなかった機能なので、私も思い返しつつ、勉強しつつ纏めてみたので
皆様も普段使ってない機能についても思い出して触れてみることが脳の活性化に繋がるやもしれません。
シミュレータの記事なども書いているので「自宅に試す環境が無いよ~」って方は良かったら見ていってください。
CiscoPacketTracerを使ってみる②機器の配置と疎通
これから梅雨なので、憂鬱になりますが頑張って乗り越えていきましょう!
それでは!