UCARP(VRRP)を使用するKEMPロードバランサー-マルチキャストMACアドレスが取得されない


10

了解しました-少なくとも20時間連続してこれと戦いました。これが長い怒りのようであるか、ブログの投稿のようでしたら申し訳ありません。

だから、ここに契約があります。私たちは、HAハートビートと永続状態にUCARP(VRRPクローンであるCARPのLinuxクローン)を利用するKEMPロードバランサーを使用しています。データセンター全体のフラッディングを防ぐために、環境でIGMPを利用したいと考えています。

トップラックとして機能するSW 5.1.1.7を実行する2つのDell PowerConnect 8124Fスイッチがあります。これら2つは、当社のコアであるCisco 3750-Xのスタックペアに接続されています。

この問題は、PowerConnect 5.1.xにアップグレードしたときに始まりました。特に断りのない限り、デフォルトではIGMPスヌーピングをオンのままにしていたようです。そして見よ-私たちのロードバランサーはスプリットブレインになり、あらゆる種類の暖かいファジーな楽しみを引き起こしました。

  • ロードバランサーがマルチキャストを実行するVLANでIGMPスヌーピングを無効にしても何も起こらない場合でも、マルチキャストは停止します
  • コアにIP PIMを設定した場合、PowerConnectスイッチは同じVLANでそれを認識しますが、マルチキャストトラフィックはありません
  • 未登録のマルチキャストトラフィックすべてのフラッディングを有効にしても、何も起こりません。
  • PowerConnectスイッチでIGMPスヌーピングをグローバルに無効にすると、すべてのマルチキャストトラフィックが機能します。これは非常に機能するため、同じVLANがタグ付けされているすべての単一ポートにマルチキャストトラフィックがフラッディングされます。素晴らしい。

コアのVLANに奇妙なMACアドレスエントリがいくつかあることに気付きました。

coresw#sh mac address-table vlan 367 | include 5e00
 367    0000.5e00.0101    DYNAMIC     Po13   seq_no:0

そして、私は思います..それはマルチキャストアドレスではありませんか?これが「sh macアドレステーブルマルチキャスト」にないのはなぜですか?

coresw#sh mac address-table multicast vlan 367
Vlan    Mac Address       Type        Ports
----    -----------       ----        -----
coresw#

次に、PowerConnect CLIガイドでこれを読みました。

マルチキャストトラフィックは、ホストグループを宛先とするトラフィックです。ホストグループは宛先MACアドレスで識別されます。つまり、IPv4マルチキャストトラフィックの場合は01:00:5e:00:00:00-01:00:5e:7f:ff:ff:ffの範囲、または33:33:xx:xx :xx:xx(IPv6マルチキャストトラフィックの場合)。

MACアドレスの先頭に「01」がないようですが、違いますか?上記の動的MACエントリは「00」で始まります。この時点で、私はKEMPを呼び出し、彼らの製品がひどく誤って構成されていることを彼らに知らせることを考えています。しかし、私はVRRPのRFCを読みます -そして見よ:

仮想ルーターに関連付けられた仮想ルーターのMACアドレスは、次の形式のIEEE 802 MACアドレスです。

IPv4ケース:00-00-5E-00-01- {VRID}(16進数、インターネット標準のビット順)

承知しました。スイッチは通常、VRRPのマルチキャストMACアドレス範囲を取得しません。では、Dellスイッチで静的ホストグループを構成しましょう。いいえ。

無効な入力:マルチキャストMACアドレスは01XX:XXXX:XXXXの形式である必要があります

OK ..次のステップでは、静的MACエントリを追加してみます。

osl-sys-swrack03(config)#mac address-table multicast ?

forbidden                forbid adding specific multicast addresses to
                         specific ports.

osl-sys-swrack03(config)#

したがって、静的マルチキャストMACエントリを構成する方法はありません。通常の静的MACエントリで同じことを行おうとすると、1つのポートにしかバインドできません。この負荷分散クラスターは、4つの異なる10ギガポートで実行されます。

更新:MACアドレスに関していくつかの混乱があるようです。172.30.1.0/24は、前向きロードバランサーネットワークです。172.30.1.6はクラスターのデフォルトの共有VIP、.7は最初のロードバランサーの管理IP、.8は2番目のロードバランサーの管理IPです。他のすべてのアドレス(30、40、70、80など)はすべて、VIPであり、それらのサービスは異なります。フェイルオーバーが発生すると、すべてのVIPがMACアドレスを2番目のLBの物理MACアドレスに変更します。下の表のマルチキャストアドレス変更されませ

coresw#sh ip arp vlan 367
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  172.30.1.6             78   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.40           204   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.80           167   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.70            38   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.66            12   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.35           185   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.60            97   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.30            80   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.61            33   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.7             27   0050.56b4.5004  ARPA   Vlan367    <- Management - Loadbalancer1 physical MAC
Internet  172.30.1.8             21   0050.56b4.08c2  ARPA   Vlan367    <- Management - Loadbalancer2 physical MAC

osl-sys-coresw#sh mac address-table dynamic vlan 367
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
 367    0000.5e00.0101    DYNAMIC     Po13   seq_no:0   <- multicast HA mac (UCARP)
 367    0050.56b4.08c2    DYNAMIC     Po13   seq_no:0   <- Loadbalancer1 physical MAC
 367    0050.56b4.5004    DYNAMIC     Po13   seq_no:0   <- Loadbalancer2 physical MAC

そして、それは物語です。これで一体何をするつもりなの?


What on earth am I going to do with this?<-テキーラ。たくさん。
voretaq7 2013年

「仮想ルーター」間で使用されるマルチキャストアドレス(そこに誰がいて誰がマスターであるかを知るため)と、仮想ルーター自体に使用されるユニキャストアドレス(つまり、仮想IPのMAC)を混同している
Ricky Beam

@RickyBeamもう少し具体的に教えてください。上記のリストに2つのMACアドレスが(あった)理由は、2つのペアのロードバランサーがあり、それぞれに独自のID(最後に01と02)があるためです。
pauska 2013年

1
いいえ、仮想ルーターIPに関連付けられたユニキャストMACについてはまだ混乱しています。これは、負荷分散されたサービスと通信するために使用するMACホストです。マルチキャストアドレスは、ロードバランサーが担当者を知るために使用するアドレスです。(セクション5.1.1を参照)
リッキービーム

@RickyBeam申し訳ありませんが、私には意味がありません。各ロードバランサー(00:56、vmware)のユニキャストMACアドレスは、IGMPスヌーピングを無効にしたときに表示される0000.5e00.0101とはまったく異なります。
pauska 2013年

回答:


5

私は問題を解決することができました。Kemp(HAペア付き)では、「仮想MACアドレス」を使用するオプションがあります。このボックスがチェックされていない場合、ロードバランサーVIPのMACは、アクティブなKempユニットの物理インターフェイスのMACです。このボックスがオンの場合、VIPのMACアドレスはVRRP MACです。上で述べたように、VRRP RFCは、MACが「00:00」{blah}であり、最後のオクテットがルーターIDであると述べています。デフォルトのKemp HA [ルーター] IDは01です。ファームウェア5.1.xxを使用しているPowerconnectsでは、VRRPを使用していませんが、トレースを実行し、ルーターIDがそれ自体と同じ場合、PowerconnectがVRRPフレームをドロップすることを確認しました。VRRPが設定されておらず、そのモードではデフォルトで01になっている場合でも、これらは実行されます。したがって、Kemp HAルーターIDを22(0x16)などに変更すると、すべてが機能します。


あなたは私のヒーローです。最後にこれを理解していただきありがとうございます!KEMPの部分の非常に貧弱な表現-これは、これがVRRPルーターIDに変換されることを実際に伝える説明を提供するはずです。
pauska

2

探しているマルチキャストアドレスは224.0.0.18 [mac:01005e.000012]です。これは、すべてのVRRPノードの制御チャネルです。[編集] KEMPがコードを変更しない限り、CARP(UCARP)はVRRPユニキャストMAC [00005e.0001xx]を使用してトラフィックを発信します。スイッチが自然に学習する場所です。

ネットワーク上(おそらくすべてのセグメントに)にクエリアがない場合、スイッチは最終的にどのグループがどこにあるかを忘れます-ホストは、要求されない限り定期的なメンバーシップを送信しません。[編集:構成によっては、フラッディングではなく、不明なマルチキャストをスイッチがドロップする可能性があります。]それは専用のクエリア(パケットを送信し、回答を気にしない)、またはより一般的にはインフラストラクチャ内のマルチキャストルーターになる可能性があります。 。この単純なケースでは、VRRPメッセージがいずれにせよセグメントを横断することが禁止されているため、必要なのはクエリアだけです。

デルのスイッチに慣れていないので、必要なCLIコマンドがわかりません。

[更新]

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
367    0000.5e00.0101    DYNAMIC     Po13   seq_no:0   <- multicast HA mac (UCARP)

それはマルチキャストMACではありません。それはMACユニキャストだソースマルチキャストトラフィックの。マルチキャストMACは、MACアドレステーブルに表示されません。マルチキャストグループテーブルにあります。Cisco IOSには、show mac-address-table multicast(ルータに何も表示されない)とshow ip igmp groups(3つのグループが表示される)があります。そのルーターはpim sparse-modeに設定されています。nortelおよびciscoスイッチは、それをクエリアとして認識します。

また、KEMP方式には、仮想アドレスにホストNIC MACを使用することで、大きな欠陥があります。あなたの場合、5004はNICに属しています。5004が消えても、全員のテーブルに「IP:6 == MAC:5004」が含まれます。それらは、そのエントリが置き換えられるまで、死んだホストとの会話を試み続けます。KEMPは明らかに、ネットワーク内のすべてのオブジェクトによって尊敬されているgratuitous-arpに賭けています。HSRP、VRRP、および OpenBSDで設計されたCARPはすべて、まさにこの理由で仮想MACを使用します。(マルチキャストトラフィックの送信時に、VRRP仮想MACではなくNIC MACを使用するためにUCARPをハッキングできなかったようです。)

彼らがUCARPをハッカーしていることを考えると、それがマルチキャストを使用していることを確信していますか?


同じVLANのコアにPIMルーターを既に設定しています-クエリアの必要性をなくすことはできませんか?
pauska 2013年

1
理論的には、はい。スイッチがクエリアを認識していることを確認します。(show ip igmp snooping querier vlan 367シスコ向け)
Ricky Beam

クエリアは表示されませんが、mrouter(sh ip igmp snooping mrouter)は表示されます。クエリアとムラータがあるはずですか?私は後者が最初のものに取って代わると思った..
pauska

1
デルがそれを扱っていることを知りません。私のcisco、hp、およびadtranスイッチは、PIM mrouterをクエリアとして表示しますが、PIMサポート自体が不足しています(または構成されていません)。
リッキービーム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.