blog

openstackでインスタンスのIP制限を解除する

最近、会社はopenstackの仮想マシンでいくつかの重要なビジネスを実行しており、いくつかの仮想マシンをロードバランシングと高可用性クラスタにしたいと考えています。...

Aug 29, 2013 · 9 min. read
シェア

最近、会社はopenstackの仮想マシンでいくつかの重要なビジネスを実行しており、いくつかの仮想マシンをロードバランシングと高可用性クラスタにしたいと考えています。

ロードバランシングのために、Gバージョンはhaproxyプラグインを統合しました。これは、haproxy設定のカプセル化レイヤーを提供し、量子を通してロードバランシングプールを簡単に作成し、同じホストまたは異なるホスト上の仮想マシンにロードバランシング機能を提供します。

このモードでは、ホスト上で haproxy が実行されています。

残念ながら、openstack 経由で haproxy を高可用性にすることはまだできません。

高可用性を実現するには、VMのVIPをフロートさせる必要があります。

ただし、仮想マシンの作成後、この仮想マシンインスタンスで使用できるのは指定したIPのみです。

このため、高可用性のデフローティングVIPをVMに展開することは不可能です。

当然のことながら、パブリッククラウド環境では、ユーザーが仮想マシンに追加のアドレスを設定して回ることはできません。

しかし、プライベートクラウド環境では、このルールは厄介です。

openstackでVMを作成し、nova bootの--nicオプションでNICとIPアドレスを指定します:

--nic net-id=${NETWORK_ID},v4-fixed-ip=${Host_IP}

ずっとiptablesのルールが原因だと思っていました。そこで、ホストマシンのiptablesルールを調べてみました。

これらの openstack が自動生成したルールを分析すると、入力、フォワード、出力の各チェーンはデフォルトで accept 状態になっていることがわかります。各チェーンのパケットのホッピングとフィルタリングを分析すると、新しいアドレスが VM に設定されている場合、それはフィルタリングされません。

何度も翻弄された挙句、結局、IP制限の原因は職場のebtablesにあることが判明しました

ebtablesは、レイヤ2データリンク層のフィルタリングに特化したLinuxです。

nova経由でVMを作成すると、libvirt用のxml設定ファイルが生成されます。

パスの指定: /etc/libvirt/nwfilter/nova-base.xml

内部では、VM上のアドレスを制限する以下のルールが定義され、レイヤ2でフィルタリングが行われます。

その後、各VMごとにxmlファイルが作成され、各VMのxml設定にはnova-base.xmlの設定が含まれます。

VMの1つのxmlコンフィギュレーションを開くと、このコンフィギュレーション・ファイルは指定されたIPのみをレイヤ2で通過可能にするため、他の手動でコンフィギュレーションされたアドレスは利用できないことがわかります。

Libvirt は、これらの xml で設定されたルールを通過して ebtables ルールを生成し、最終的に ebtables で制限を行うことができます。

どうやって割るんですか?

nova-base.xmlファイルを修正します。

<filterref filter='no-mac-spoofing'/> です。

<filterref filter='no-ip-spoofing'/> です。

<filterref filter='no-arp-spoofing'/> です。

その後、libvirt プロセスを再起動すると、libvirt は xml 内の設定を再読み込みし、新しい ebtables ルールを生成します。

修正後、新しいVMを作成してnova-computerプロセスを再起動したり、ホストを直接再起動しても、このベースファイルは変更されなくなりました。

そして、新星のソースコードを修正することもあります。

ソースコードは以下にあります。

1行目 98

no-mac-spoofing,no-ip-spoofing,no-arp-spoofingの行を削除し、これら3つのオプションなしでnova-base.xmlファイルを生成します。

この記事は"ブログからのものです。

Read next

eLTEが都市をより安全にする

ファーウェイはモバイル・ワールド・コングレス2014で、可視化されたコンバージド・コマンド機能を備えたLTE技術に基づく緊急通信ソリューションを実演しました。「モバイルは世界を変える」、モバイルネットワークは人々の生活をよりスムーズで便利にし、多様な手段で都市の安全を守ることができます。このソリューションは、通信事業者に新たな価値あるビジネスをもたらし、政府や企業産業の分野を拡大するのに役立ちます。

Aug 29, 2013 · 1 min read