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

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。