【brocade openstack ソリューション】vyatta vrouter プラグイン
Post on 25-Jul-2015
214 Views
Preview:
TRANSCRIPT
Vyatta vRouter プラグイン
Karthik Natarajan
シニア・スタッフ・ソフトウェア・エンジニア
2014年11月
© 2014 Brocade Communications Systems, Inc. CONFIDENTIAL—For Internal Use Only 1
ご注意
このプレゼンテーションで取り上げている製品には、開発途上のものもあり、リリース日程、価格、製品機能など、詳細には変更が加わることがあります。最終的に、ここで意図したような機能を果たさない製品になることもあり、また正規リリースまで至らないケースもあり得ます。正式リリース版はこのプレゼンテーションで説明する、事前バージョンとはかなり異なるものになる場合があります。
プレゼンテーションの内容は関係する製品やサービスについて、明示、非明示を問わず、法律上その他のどのような種類の保証とも見なされるものではありません。これは、商品性や、特定目的への適合性、第三者の権利侵害の有無などについての暗黙の保証も含みます。
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
今回の内容
• OpenStack L3プラグイン
• 概要
• デプロイメントの手順
• OpenStackファイアウォール・プラグイン
• 概要
• デプロイメントの手順
• デモ
© 2014 Brocade Communications Systems, Inc. 3
OpenStack L3プラグイン
© 2014 Brocade Communications Systems, Inc. 4
Vyatta vRouterをクラウド環境に自動展開
L3プラグインによるテナント・ルータを提供
外部ゲートウェイ機能
VMのフローティングIPをサポート
SNAT/DNATルール自動機能 (外部ゲートウェイ)
Horizon
HEAT
ストレージ ネットワーキング コンピュート
Nova Neutron Neutron L3 Plugin
Vyatta
テナントルータ
L3プラグインのインストール条件
• 物理ノードでUbuntu 14.04を使用(推奨)
• 物理ノードにネットワーク・インタフェースを装備(最低1個)
• OpenStack Icehouseコンポーネントをインストール済み(MySQL、rabbitmq、Keystone、Glance、Nova、Neutron、Horizon)
© 2014 Brocade Communications Systems, Inc. 5
L3プラグインのインストール手順
• Vyatta L3プラグインtarファイル(vRouterイメージを含む)の展開とコピー
• Open vSwitchブリッジのセットアップ(管理/外部ネットワーク)
• /etc/network/interfacesファイルの編集
• ML2の設定
• Vyatta vRouterイメージのインポート
• 管理ネットワークと外部ネットワークの作成
• Vyattaプラグインの設定
• セキュリティ・グループとルールの作成
© 2014 Brocade Communications Systems, Inc. 6
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
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
Vyatta L3プラグインのインストール手順
• 下のように“/etc/network/interfaces”を設定して、ネットワーキングを再起動
ステップ3:/etc/network/interfacesファイルの編集
© 2014 Brocade Communications Systems, Inc. 9
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
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
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
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
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
OpenStackテナント・ファイアウォール
© 2014 Brocade Communications Systems, Inc. 15
境界ファイアウォールのプラグイン
信頼できるゾーンとそうでないゾーンとの 境に配置
テナントあたり1個のファイアウォール
ファイアウォール・ルールの展開
Horizon
HEAT
ストレージ ネットワーキング コンピュート
Nova Neutron Neutron L3 Plugin
Vyatta ファイアウォール
Vyattaファイアウォール・プラグインのインストール条件
• 物理ノードでUbuntu 14.04を使用(推奨)
• 物理ノードにネットワーク・インタフェースを装備(最低1個)
• OpenStack Icehouseコンポーネントをインストール済み(MySQL、rabbitmq、Keystone、Glance、Nova、Neutron、Horizon)
• Vyatta L3プラグインをインストール済み
© 2014 Brocade Communications Systems, Inc. 16
Vyattaファイアウォール・プラグインのインストール手順
• Vyattaファイアウォール・プラグインtarファイルの展開とコピー
• neutron.confファイルの設定
• l3_agent.iniファイルの設定
• neutron-server.confファイルの設定
© 2014 Brocade Communications Systems, Inc. 17
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
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
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
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
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
テナント・ルータ/ファイアウォールのデモ
• https://docs.google.com/file/d/0B_-dXko4DlFNNmZlXzJ2N21KaG8/edit
© 2014 Brocade Communications Systems, Inc. 23
THANK YOU
24 © 2014 Brocade Communications Systems, Inc.
本件に関するお問合せ
https://www.brocadejapan.com/form/contact
ブロケード コミュニケーションズ システムズ株式会社
top related