【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

24
Vyatta vRouter プラグイン Karthik Natarajan シニア・スタッフ・ソフトウェア・エンジニア 201411© 2014 Brocade Communications Systems, Inc. CONFIDENTIAL—For Internal Use Only 1

Transcript of 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Page 1: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyatta vRouter プラグイン

Karthik Natarajan

シニア・スタッフ・ソフトウェア・エンジニア

2014年11月

© 2014 Brocade Communications Systems, Inc. CONFIDENTIAL—For Internal Use Only 1

Page 2: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

ご注意

このプレゼンテーションで取り上げている製品には、開発途上のものもあり、リリース日程、価格、製品機能など、詳細には変更が加わることがあります。最終的に、ここで意図したような機能を果たさない製品になることもあり、また正規リリースまで至らないケースもあり得ます。正式リリース版はこのプレゼンテーションで説明する、事前バージョンとはかなり異なるものになる場合があります。

プレゼンテーションの内容は関係する製品やサービスについて、明示、非明示を問わず、法律上その他のどのような種類の保証とも見なされるものではありません。これは、商品性や、特定目的への適合性、第三者の権利侵害の有無などについての暗黙の保証も含みます。

ADX、Brocade、Brocade Assurance、Brocade One、Bウイング・シンボル、DCX、Fabric OS、ICX、MLX、SAN

Health、VCS、VDXは、登録商標であり、AnyIO、HyperEdge、MyBrocade、NET Health、OpenScript、The

Effortless Networkは、米国またはその他の国におけるBrocade Communications Systems, Inc.の商標です。その他のブランド、製品名、サービス名は各所有者の製品またはサービスを示す商標である場合があります。

*** 注:バックドア機能や非公開コマンドは、内部使用に限定します 。***

*** デバッグ・コマンドは常に技術サポートの指導の下で使用してください。 ***

© 2014 Brocade Communications Systems, Inc. 2

Page 3: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

今回の内容

• OpenStack L3プラグイン

• 概要

• デプロイメントの手順

• OpenStackファイアウォール・プラグイン

• 概要

• デプロイメントの手順

• デモ

© 2014 Brocade Communications Systems, Inc. 3

Page 4: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

OpenStack L3プラグイン

© 2014 Brocade Communications Systems, Inc. 4

Vyatta vRouterをクラウド環境に自動展開

L3プラグインによるテナント・ルータを提供

外部ゲートウェイ機能

VMのフローティングIPをサポート

SNAT/DNATルール自動機能 (外部ゲートウェイ)

Horizon

HEAT

ストレージ ネットワーキング コンピュート

Nova Neutron Neutron L3 Plugin

Vyatta

テナントルータ

Page 5: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

L3プラグインのインストール条件

• 物理ノードでUbuntu 14.04を使用(推奨)

• 物理ノードにネットワーク・インタフェースを装備(最低1個)

• OpenStack Icehouseコンポーネントをインストール済み(MySQL、rabbitmq、Keystone、Glance、Nova、Neutron、Horizon)

© 2014 Brocade Communications Systems, Inc. 5

Page 6: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

L3プラグインのインストール手順

• Vyatta L3プラグインtarファイル(vRouterイメージを含む)の展開とコピー

• Open vSwitchブリッジのセットアップ(管理/外部ネットワーク)

• /etc/network/interfacesファイルの編集

• ML2の設定

• Vyatta vRouterイメージのインポート

• 管理ネットワークと外部ネットワークの作成

• Vyattaプラグインの設定

• セキュリティ・グループとルールの作成

© 2014 Brocade Communications Systems, Inc. 6

Page 7: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyatta L3プラグインのインストール手順

• プラグインを展開 “tar –xvf icehouse_vyatta_l3_daisy_plugin.tar.gz”

• プラグインと構成ファイルを所定の場所にコピー

• sudo cp –r ./vyatta_l3_plugin/plugin/* /usr/lib/python2.7/dist-packages/neutron/plugins/

• sudo cp –r ./vyatta_l3_plugin/conf/* /etc/neutron/plugins/

• Novaのパッチ・ファイルを所定の場所にコピー • sudo cp $VYATTA_UNZIP_DIR/nova_patch/api.py /usr/lib/python2.7/dist-packages/nova/network/neutronv2/

• Neutronのパッチ・ファイルを所定の場所にコピー • sudo cp $VYATTA_UNZIP_DIR/neutron_patch/iptables_firewall.py /usr/lib/python2.7/dist-

packages/neutron/agent/linux/

• sudo cp $VYATTA_UNZIP_DIR/neutron_patch/db_base_plugin_v2.py /usr/lib/python2.7/dist-packages/neutron/db/

ステップ1:TARファイルの展開とコピー

© 2014 Brocade Communications Systems, Inc. 7

Page 8: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyatta L3プラグインのインストール手順

• Open vSwitchブリッジを作成(インテグレーション、管理/外部ネットワーク) • “sudo ovs-vsctl add-br br-int”

• “sudo ovs-vsctl add-br br-mng”

• “sudo ovs-vsctl add-br br-ex”

• ネットワーク・インタフェースを“br-ex”ブリッジにポートとして追加

注:インタフェースのIPアドレスは、削除しておく • “sudo ip addr del <IP Address> dev <ethX>”

• “sudo ovs-vsctl add-port br-ex <ethX>”

ステップ2:Open vSWitchブリッジのセットアップ

© 2014 Brocade Communications Systems, Inc. 8

Page 9: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyatta L3プラグインのインストール手順

• 下のように“/etc/network/interfaces”を設定して、ネットワーキングを再起動

ステップ3:/etc/network/interfacesファイルの編集

© 2014 Brocade Communications Systems, Inc. 9

Page 10: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyatta L3プラグインのインストール手順

• ML2構成ファイル/etc/neutron/plugins/ml2/ml2_conf.iniを編集して、

管理/外部ネットワークと、それぞれのOVSブリッジを設定

• [ml2]

• tenant_network_types = local,flat,vlan,gre,vxlan

• type_drivers = local,flat,vlan,gre,vxlan

• mechanism_drivers = openvswitch,linuxbridge

• flat_networks = mng,ex

• [ovs]

• bridge_mappings = mng:br-mng,ext:br-ex

ステップ4:ML2の構成

© 2014 Brocade Communications Systems, Inc. 10

Page 11: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyatta L3プラグインのインストール手順

• admin tenantクレデンシャルを使って、Glanceのリポジトリにイメージをインポート

• “glance image-create --name "VyattavRouter" --is-public true --disk-format qcow2 --

file ./vyatta_l3_plugin/image/vyatta_vrouter.qcow2 –container-format bare”

• 注:コマンドの出力するイメージIDを後からVyattaプラグインの

構成ファイルvrouter.iniに使用

ステップ5:Vyatta Routerイメージのインポート

© 2014 Brocade Communications Systems, Inc. 11

Page 12: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyatta L3プラグインのインストール手順

• admin tenantクレデンシャルを使って、タイプflatで管理ネットワークと

外部ネットワークを作成 • neutron net-create management --provider:network_type flat --provider:physical_network mng

• neutron subnet-create management --no-gateway 192.168.0.0/16 --allocation-pool

start=192.168.0.128,end=192.168.254.254

• neutron net-create external --provider:network_type flat --provider:physical_network ex --router:external=True

• neutron subnet-create external 10.18.160.0/24 --allocation-pool start=10.18.160.220,end=10.18.160.226 --gateway

10.18.160.1 --disable-dhcp

• 注:コマンドの出力する管理ネットワークのIDを、後からVyattaプラグインの

構成ファイルvrouter.iniに使用

ステップ6:管理/外部ネットワークの作成

© 2014 Brocade Communications Systems, Inc. 12

Page 13: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyatta L3プラグインのインストール手順

• vrouter.iniファイルに、該当の値を設定 • [vrouter]

• tenant_admin_name = $ADMIN_USER

• tenant_admin_password = $ADMIN_USER_PWD

• keystone_url = http://$HOST_IP:5000/v2.0

• flavor = 2

• tenant_id = $TENANT_ID

• management_network_id = $MGMT_NET_ID

• image_id = $VROUTER_IMAGE_ID

ステップ7:VYATTAプラグインの構成

© 2014 Brocade Communications Systems, Inc. 13

Page 14: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyatta L3プラグインのインストール手順

• セキュリティ・グループとルールを作成して、ポートに認めるトラフィックの

種類と向きを指定できる

• VM間に、ICMP、TCP、UDPなどのプロトコルのトラフィックを、許可する

セキュリティ・グループ・ルールを作成

• neutron security-group-rule-create --tenant-id <TENANT_ID> --direction egress --ethertype IPv4 --remote-ip-prefix

0.0.0.0/0 --protocol icmp <SEC_GRP_ID>

• neutron security-group-rule-create --tenant-id <TENANT_ID> --direction ingress --ethertype IPv4 --remote-ip-prefix

0.0.0.0/0 --protocol icmp <SEC_GRP_ID>

ステップ8:セキュリティ・グループとルールの作成

© 2014 Brocade Communications Systems, Inc. 14

Page 15: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

OpenStackテナント・ファイアウォール

© 2014 Brocade Communications Systems, Inc. 15

境界ファイアウォールのプラグイン

信頼できるゾーンとそうでないゾーンとの 境に配置

テナントあたり1個のファイアウォール

ファイアウォール・ルールの展開

Horizon

HEAT

ストレージ ネットワーキング コンピュート

Nova Neutron Neutron L3 Plugin

Vyatta ファイアウォール

Page 16: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyattaファイアウォール・プラグインのインストール条件

• 物理ノードでUbuntu 14.04を使用(推奨)

• 物理ノードにネットワーク・インタフェースを装備(最低1個)

• OpenStack Icehouseコンポーネントをインストール済み(MySQL、rabbitmq、Keystone、Glance、Nova、Neutron、Horizon)

• Vyatta L3プラグインをインストール済み

© 2014 Brocade Communications Systems, Inc. 16

Page 17: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyattaファイアウォール・プラグインのインストール手順

• Vyattaファイアウォール・プラグインtarファイルの展開とコピー

• neutron.confファイルの設定

• l3_agent.iniファイルの設定

• neutron-server.confファイルの設定

© 2014 Brocade Communications Systems, Inc. 17

Page 18: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyattaファイアウォール・プラグインのインストール手順

• プラグインを展開 “tar –xvf icehouse_vyatta_fw_daisy_plugin.tar.gz”

• プラグイン・ファイルを、所定の場所にコピー

• sudo cp –r ./vyatta_fw_plugin/agents/* /usr/lib/python2.7/dist-packages/neutron/services/firewall/agents/

• sudo cp –r ./vyatta_fw_plugin/drivers/* /usr/lib/python2.7/dist-packages/neutron/services/firewall/drivers/

• sudo cp ./vyatta_fw_plugin/vyatta-l3-agent /usr/local/bin

• sudo cp ./vyatta_fw_plugin/fwaas_driver.ini /etc/neutron

ステップ1:TARファイルの展開とコピー

© 2014 Brocade Communications Systems, Inc. 18

Page 19: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyattaファイアウォール・プラグインのインストール手順

• /etc/neutron/neutron.confファイルを編集して、下のエントリを組み入れ

• service_plugins = neutron.plugins.brocade.vyatta.vrouter_neutron_plugin.VyattaVRouterPlugin,

neutron.services.firewall.fwaas_plugin.FirewallPlugin

ステップ2:neutron.confファイルの設定

© 2014 Brocade Communications Systems, Inc. 19

Page 20: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyattaファイアウォール・プラグインのインストール手順

• /etc/neutron/l3_agent.iniファイルを編集して、下のように設定 • l3_agent_manager = neutron.services.firewall.agents.vyatta.vyatta_router.VyattaL3NATAgentWithStateReport

• external_network_bridge = br-ex

• interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver

• gateway_external_network_id = <UUID of external network>

ステップ3:l3_agent.iniファイルの設定

© 2014 Brocade Communications Systems, Inc. 20

Page 21: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

Vyattaファイアウォール・プラグインのインストール手順

• /etc/init/neutron-server.confファイルを編集して、scriptセクションに

下のエントリを組み入れ • --config-file /etc/neutron/plugins/brocade/vyatta/vrouter.ini --config-file /etc/neutron/fwaas_driver.ini

• そしてNeutronサーバを再起動

ステップ4:neutron-server.confファイルの設定

© 2014 Brocade Communications Systems, Inc. 21

Page 22: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

FWaaSの構成例

• ファイアウォール・ルールを作成

• neutron firewall-rule-create –-name MyRule ---protocol icmp –action deny

• # 内部ネットワークから外部ネットワークへのpingをブロック

• ファイアウォール・ポリシーを作成してルールを収容

• neutron firewall-policy-create MyPolicy

• neutron firewall-policy-insert-rule MyPolicy MyRule

• ファイアウォールを作成

• neutron firewall-create –name MyFirewall MyPolicy

© 2014 Brocade Communications Systems, Inc. 22

Page 23: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

テナント・ルータ/ファイアウォールのデモ

• https://docs.google.com/file/d/0B_-dXko4DlFNNmZlXzJ2N21KaG8/edit

© 2014 Brocade Communications Systems, Inc. 23

Page 24: 【Brocade OpenStack ソリューション】Vyatta vRouter プラグイン

THANK YOU

24 © 2014 Brocade Communications Systems, Inc.

本件に関するお問合せ

https://www.brocadejapan.com/form/contact

ブロケード コミュニケーションズ システムズ株式会社