OpenStackのネットワークでVLANを使ってみる

ここでは、OVSを使ったOpenStackのネットワークをVLAN構成で構築してみます。

方針

基盤

  • 環境は、VMwareのESXi上にControllerノードとComputeノードを構築します。
  • ControllerノードとComputeノードは物理的に分けます。
  • 管理系、テナント、外部ネットワークは仮想NICで分けます。
  • ネットワークには、vDSとL2スイッチ(2960)を使います。
  • テナントネットワークには、VLAN 1100-1200 を使うのでトランクさせます。

検証

  • ここでの操作はHorizonから実施します。
  • OpenStack上に作成するインスタンスは cirros を使います。
  • 外部のVMは、ESXi上に CentOS のインスタンスを作成します。
  • OpenStackにテナントのネットワークが設定できることを確認します。
  • テナントから外部のVMに通信ができることを確認します。
  • 外部のVMからFloating IPで通信ができることを確認します。

環境

環境図

環境説明

ホストについて

ホスト 説明
Controller OpenStackのコントローラーノードです。
Compute1 インスタンスが起動するコントローラーです。
Ext_VM 外部ネットワークのVMです。

ネットワークについて

対象 ポートグループ名 VLAN 説明
P1 admin 管理系のネットワーク
P2 VLAN 1100-1200 Trunk 1100-1200(Trunk) テナントネットワーク
P3 external 外部通信用ネットワーク

構築手順

L2スイッチ

(1) テナント用のトランク設定は以下の様になっています。

vDS

(1) テナント通信用ポートグループの設定です。

(2) 外部ネットワーク用ポートグループの設定です。

Cotrollerの手順

ブリッジの追加

(1) テナント用のブリッジを追加します。

(2) 外部ネットワーク用のブリッジを追加します。

ML2設定ファイル修正

(1) ML2の設定でVLANを使うように修正します。

openvswitch設定ファイル修正

(1) openvswitchの設定を修正します。

外部接続用の設定

(1) 外部との通信用ブリッジ設定をします。

サービスの再起動

(1) neutronとopenvswitch-agentを再起動します。

Computeの手順

ブリッジの追加

(1) テナント用のブリッジを追加します。

ML2設定ファイル修正

(1) ML2の設定でVLANを使うように修正します。

openvswitch設定ファイル修正

(1) openvswitchの設定を修正します。

サービスの再起動

(1) openvswitch-agentを再起動します。

OpenStackネットワーク作成

外部ネットワーク作成

(1) 外部通信用のネットワークを作成します。

内部ネットワーク作成

(1) テナント用のネットワークを作成します。

ルーターと内部セグメントを作成し、ルーターに内部と外部ネットワークを接続します。

動作確認

テナントから外部通信

(1) テナントのインスタンスから外部のインスタンスにpingを実行します。

対象 IP
Ext_VM 192.168.1.100
cirros 内部 : 192.168.2.2

外部からテナントへFloating IPで通信

(1) 外部からFloating IPで内部のインスタンスにpingを実行します。

対象 IP
Ext_VM 192.168.1.100
cirros 内部 : 192.168.2.2,Floating IP : 192.168.1.151

内部、外部共に通信できることが確認できました 🙂

参考

Leave a Reply

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)