CiscoルータでHSRPを設定する方法(GNS3ラボ付き)
On 1月 23, 2022 by adminHot Standby Routing ProtocolまたはHSRPは、特定のネットワークに対して単一のIPアドレスを表すために2台以上のルータが一緒に動作できるCisco専有プロトコルです。 HSRP は、VRRP (Virtual Route Redundancy Protocol) と同様に、高可用性ネットワーク サービスと見なされ、プライマリ インターフェイスが使用不能になったときに、セカンダリ インターフェイスにほぼ即座にフェイル オーバーすることを可能にします。 この記事では、GNS3 のラボを紹介しながら、HSRP の設定に関する基本的なポイントについて説明します。 FHRP については、この新しい記事で詳しく説明しています。
HSRP は非常にシンプルな概念で、HSRP グループ内の 1 つのルーターがプライマリ、またはアクティブ ルーターとして選択されることによって機能します。 そのプライマリはすべてのルーティング要求を処理し、HSRP グループ内の他のルータはスタンバイ状態で待機するだけです。 これらのスタンバイルーターは、プライマリルーターが使用不能になった場合に、すべてのトラフィック負荷を引き受ける準備ができている状態にあります。 このシナリオでは、HSRP は単一のルーターに依存せずに IP トラフィックをルーティングするので、高いネットワーク可用性を提供します。
HSRP の細部を詳しく調べるには、RFC 2281 でこの広く使われているプロトコルの内部動作の全詳細を確認してください。
Basic HSRP Configuration
より高度な HSRP の概念を説明する前に、これがどのように機能するかを知るために基本的な HSRP 構成を作成しましょう。 このシナリオでは、以下に示すトポロジーを使用します:
GNS3 トポロジー設定は、次のようになります:
192.168.1.0/24 network に対するデフォルトゲートウェイとして機能するわずか 2 つのルーター(R1 および R2)から構成されています。 これらのルーターのうち1台だけが、192.168.1.1の仮想IPアドレスで、特定の時間にアクティブになります。 192.168.1.0/24セグメント上のすべてのデバイス(PC1など)は、この仮想IPアドレスで構成されます。
注:これらのルータの一方または両方は、Cisco 6509や3750などのマルチレイヤスイッチでもあり得ることに留意してください。 しかし、この議論では、単にルータと呼びましょう。
- インタフェースに通常のIPアドレスを設定する(HSRP仮想IPと同じにはできない)
- インタフェースを立ち上げる(シャットダウンしない)
- スタンバイコマンドでHSRPグループと仮想IPアドレスを設定する
この例ではHSRPグループ「1」を設定しました。
show standbyコマンドでHSRPの設定状況を確認します。
R1#show standby
FastEthernet0/0 - Group 1
State is Active
2 state changes, last state change 00:23:53
Virtual IP address is 192.168.1.1
Active virtual MAC address is 0000.0c07.ac01
Local virtual MAC address is 0000.0c07.ac01 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.852 secs
Preemption disabled
Active router is local
Standby router is 192.168.1.12, priority 100 (expires in 7.452 sec)
Priority 100 (default 100)
Group name is "hsrp-Fa0/0-1" (default)
R1#R2#show standby
FastEthernet0/0 - Group 1
State is Standby
1 state change, last state change 00:23:59
Virtual IP address is 192.168.1.1
Active virtual MAC address is 0000.0c07.ac01
Local virtual MAC address is 0000.0c07.ac01 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.340 secs
Preemption disabled
Active router is 192.168.1.11, priority 100 (expires in 7.920 sec)
Standby router is local
Priority 100 (default 100)
Group name is "hsrp-Fa0/0-1" (default)
R1がアクティブルーターで、R2がスタンバイになっていることに注意してください。 理想的には、同じ優先順位で、最も高いIPアドレスを持つルーターがアクティブルーターに選出されることです。 しかし、R1を先に設定したため、R2が登場する前にR1がアクティブになってしまいました。 R2はR1と同じ優先順位なので、R2の方が高いIPアドレス(192.168.1.12 > 192.168.1.11)を持っていてもアクティブにはなりません。この記事の後半で、優先度と先取りについて説明します。
注意:トレースルートの返信では、仮想IPアドレスではなく物理インターフェイスのIPアドレスが使用されます。 詳細については、このリンクを確認してください。
R2(192.168.1.12)を介してトラフィックがどのように流れるかに注意してください。 show standby コマンドをもう一度確認すると、R2 がアクティブ ルーターになっていることがわかります。
R2#show standby
FastEthernet0/0 - Group 1
State is Active
2 state changes, last state change 00:04:33
Virtual IP address is 192.168.1.1
Active virtual MAC address is 0000.0c07.ac01
Local virtual MAC address is 0000.0c07.ac01 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.152 secs
Preemption disabled
Active router is local
Standby router is unknown
Priority 100 (default 100)
Group name is "hsrp-Fa0/0-1" (default)Routing with HSRP
少し回り道をして、HSRP が構成されているときのルーティングについてお話しすることにしました。
- ルートは HSRP ルータ間でレプリケートされません。 これは、R1 と R2 が、この例で使用されている 8.8.8.8 ネットワークに到達する方法を(個々に)知っている必要があることを意味します。 この例では、R1 と R2 の両方で 192.0.2.1 (EXT_RTR) へのデフォルトルートを設定することによってこれを実現します。
- PC1 から 8.8.8.8 へのトラフィックがアクティブ HSRP ルータを流れるとしても、戻るトラフィックが問題です。 ルーティングは宛先に基づいて行われるため (デフォルト)、EXT_RTR は 8.8.8.8 から PC1 (192.168.1.100) への応答をどのように転送するか、ルーティング テーブルを参照します。 この設定により、EXT_RTRは常にR1を使用するか、常にR2を使用するか、R1とR2の両方を使用するかが決まります。 このため、非対称ルーティングやトラフィックブラックホーリングが発生することがあります。 この問題を回避する1つの方法は、NATを設定することですが、これはこの記事の範囲外です。 この記事では、EXT_RTR に 192.168.1.0/24 ネットワークのスタティックルートを 2 つ設定しました。1 つは R1 を指し、もう 1 つは R2 を指します。 これは、EXT_RTRがR1とR2の間で負荷分散することを意味します。
HSRP Priority。 アクティブルーターの制御
ネットワークトラフィックを完全に制御するために、時々変更する必要がある HSRP 値がもっとあります。 例えば、R2 の代わりに R1 をアクティブルータにしたいとしたらどうでしょうか。 このような場合は、priority コマンドを使用して、特定のルーターをアクティブルーターにする必要があります。 優先順位が高いほど、どちらのルータがアクティブになるかが決定されます。 両方のルーターが同じ優先度に設定されている場合、最初に立ち上がるルーターがアクティブルーターになります。
注:R1の優先度を上げても、先取りが無効になっているのでスタンバイモードのままです。 次にプリエンプションについて説明します。
HSRP Preempt: フェイルバックを回避する
上記のシナリオでは、R1が故障した場合、R2がアクティブになることはおわかりいただけたと思います。 これは完璧です! しかし、R1 がバックアップしてサービスに戻った場合、R2 はアクティブな状態を維持し続けます。 これは好ましい動作ではないかもしれません。 HSRPグループ内でR1が常にアクティブな状態であってほしい場合もあるでしょう。 Cisco は preempt コマンドを使用して、これを制御する方法を提供しています。
Advanced HSRP Configuration – Load Balancing
さて、HSRPがいかに優れているか、そして単一のネットワークに対して複数のルータ間でいかに高可用性を実現できるかがお分かりいただけたと思います。 しかし、私たちのスタンバイ ルーターは何もせず、ただそこに座っているだけです! 注: 高可用性ペアのデバイスの 1 つに何かが起こった場合、もう 1 つのデバイスはネットワーク負荷を処理できる必要があることを念頭に置くことも重要です。 これは、単一の HSRP グループでは役に立ちませんが、複数の HSRP グループでは、負荷を分散し、各 HSRP グループを異なるルータでアクティブにすることができます。
単一のインタフェースで複数の HSRP グループを構成することにより、HSRP 負荷分散が達成されます。 説明のために、HSRPグループ1を「network-1」、HSRPグループ2を「network-two」と呼ぶことにします。 R1 はネットワーク1に対してアクティブになり、R2 はネットワーク2に対してアクティブになります。 これは、R1がネットワーク2に対してスタンバイになり、R2がネットワーク1に対してスタンバイになることを意味します。
R1のフル構成は次のとおりです:
interface FastEthernet0/0
ip address 192.168.1.11 255.255.255.0
standby 1 ip 192.168.1.1
standby 1 priority 200
standby 1 preempt
standby 1 name network-one
standby 2 ip 192.168.1.2
standby 2 name network-two
R2のフル構成は次のとおりです:interface FastEthernet0/0
ip address 192.168.1.12 255.255.255.0
standby 1 ip 192.168.1.1
standby 1 name network-one
standby 2 ip 192.168.1.2
standby 2 priority 200
standby 2 preempt
standby 2 name network-two
この構成によって、各ルーターが動作しパケット転送を行い、ネットワーク機器に対する我々の投資を最大限に活用します。 また、各 HSRP グループをよりよく説明するために、HSRP グループ名コマンドを追加しました。 これは、追跡する必要のある複数の HSRP グループがある場合の救世主となります。Notice that PC1 uses R1 while PC2 uses R2.これは、PC1がR1を使用しているのに対し、PC2がR2を使用していることに注目してください。 ロードバランシングが達成されました!
HSRP スタンバイグループに関する最後の注意点です。 必要なフェイルオーバー動作が同じであれば、同じスタンバイ グループ番号を使用して複数のインタフェースやネットワークを構成できます。
ただし、異なる動作、つまり異なる優先順位や先取りなどが必要な場合は、(上記の負荷分散のシナリオに見られるように)別のグループが必要です。 これは、HSRP のトラブルシューティングを行う際のチェックリストのような役割を果たすことができます。
- HSRP ルーターが同じネットワーク セグメント上にない。
- HSRP ルーターが同じサブネットからの IP アドレスで構成されていない。
- スタンバイ グループや仮想 IP が HSRP ルーターで一致していないなどの HSRP 構成に関する問題。
まとめ
この記事でカバーした以外にも、HSRP には次のような多くのことがあります:
- HSRP の仕組みに関する深い洞察
- インタフェース トラッキング
- 認証
とりあえず、Cisco ルータでの HSRP の設定について良い基礎を提供したかったのです。
コメントを残す