下図のようにFloatingIPやインターネットに出て行くIPアドレスとして203.0.113.0/24を割り当てます。
この仮想ネットワークはSimpleゲートウェイを作成する前に作成しておきます。
vhost0とRouterの間は適宜接続できるように設定してださい。Compute NodeのDefault GatewayはRouterのアドレスになります。
テスト環境などでグローバルIPアドレスをFloatingIPに割り当てられない場合は、RouterでNATできるように事前に設定してください。
この例では作成されるテナント(プロジェクト)はadminで仮想ネットワーク名はpublicと設定します。
このネットワークに対してSimple gatewayを作成します。
Simple GatewayはコンピュートノードのvRouterをゲートウェイとして利用し、コンピュートノードをゲートウェイとするため、コンピュートノードコマンドを実行します。
まず、以下のディレクトリをexport
export PYTHONPATH=/usr/lib/python2.7/dist-packages/contrail_vrouter_api/gen_py/instance_service/
export PYTHONPATH=/usr/lib/python2.7/dist-packages/nova_contrail_vif/gen_py/instance_service/
次に、provision_vgw_interface.pyでゲートウェイを作成する
python /opt/contrail/utils/provision_vgw_interface.py --oper create --interface vgw1 --subnets 203.0.113.0/24 --route 0.0.0.0/0 --vrf default-domain:admin:public:public
--vrfの引数がdefault-domain:admin:public:publicと仮想ネットワーク名が重なっていますが、これは設定するルーティングインスタンス名です。
この設定をすると、コンピュートノードはvhost経由で外部ネットワークと通信を行います。
インターネットのゲートウェイルータやゲートウェイサーバには仮想ネットワークに通信できるようにルーティングの追加を忘れないようにしてください。
ここまで設定すると、vRouterに VGW1と --routeで設定したルーティング情報が追加されます。
後は仮想マシンにpublicからIPアドレスを割り当てるか、publicからFloating IPを作成し、仮想マシンに割り当てれば外部ネットワークに接続できます。
0 件のコメント:
コメントを投稿