40
Copyright©2014 UNIADEX, Ltd. All rights reserved. 0 君にも できる Neutron になってみよう Photo by Juhan Sonin https://www.flickr.com/photos/juhansonin/1778188040

君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Embed Size (px)

DESCRIPTION

- デモのゴール --- Neutronが作るネットワークを、複数のコマンドライ ンを組み合わせることで再現する --- インスタンスに見立てたインターフェースから、外部 ネットワークに見立てたインターフェースへのPing疎 通を確認する --- 2テナント構成 本資料の5章以外のドキュメントはこちらにあります。 http://www.slideshare.net/VirtualTech-JP/20140929-rev-r

Citation preview

Page 1: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 0

5章君にもできる

Neutronになってみよう

Photo by Juhan Sonin https://www.flickr.com/photos/juhansonin/1778188040

Page 2: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 1

君にもできる! にゅーとろん君になってみよー!!

NeutronがOpen vSwitchやnetwork namespaceを操作してネットワーク構成する

Open vSwitchやnetwork namespaceはコマンドラインで操作できる

実はNeutronはコマンドを叩いている

この後デモ実施!!

N

https://github.com/openstack/neutron/blob/master/neutron/agent/linux/ip_lib.py#L77

Page 3: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 2

デモの流れの説明

デモのゴール

›Neutronが作るネットワークを、複数のコマンドラインを組み合わせることで再現する

›インスタンスに見立てたインターフェースから、外部ネットワークに見立てたインターフェースへのPing疎通を確認する

›2テナント構成

Page 4: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 3

デモ環境

Virtual BoxのVMに以下を準備

Ubuntu 14.04

Open vSwitch 2.0.2

ruby 1.9.3 + graphviz 2.36.0 ※Ubuntu14.04の標準リポジトリから導入

可視化ツール(独自)›コマンドラインから得られる情報をもとに、内部ネットワーク構成を自動的に描画する。 graphviz を利用

コマンド入力ツール(独自)›シェルスクリプト

Page 5: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 4

前の章とデモ内容のマッピング 外部ネットワークとインスタンスはネームスペースとVeth Pairを利用して擬似的に再現

外部ネットワーク

インスタンス

10.0.0.3

10.0.0.2

Namespace:qdhcp-b2f5dbb6-...

10.0.0.1

192.168.2.1

Namespace:

qrouter-674d7792-...

br-ex

テナント

br-int

br-int

br-ex

router

外部ネットワーク

インスタンス

DHCP

今回のデモでの図示

Page 6: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 5

にゅーとろん君 デモスタート!

ここから先は、コンソールと可視化ツールの画面に切り替え

お手元の資料の[1-xx] はステップ番号で、デモのスクリプトで実行するステップに対応

Page 7: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 6

初期状態Namespaceは存在

せず

可視化ツールでは、ip linkで見える4つのデバイスのみ描

Page 8: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 7

[1-1]Namespace追加

Namespaceを二つ作成仮想ルータ用とDHCP用

qrouterはルータとして使うため

ip_forwardを有効

Namespace一覧

Page 9: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 8

[1-2]OVSのブリッジを作るovsのブリッジを二つ作成。

1.外接用(br-ex)

2.内部ネットワーク用(br-int)

ovsのブリッジ状態

確認

Page 10: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 9

[1-3]veth pairを作るNamespaceとブリッジを接続するVeth pairを二組

各インターフェースの状態表示

Page 11: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 10

[1-5]veth pairをnamespaceに移す

Veth pairの一方をnamespaceに移動

Page 12: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 11

[1-5]veth pairにアドレスを付与

veth pairの端点にIPアドレス付与

Page 13: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 12

[1-6]veth pairをブリッジに接続veth pairの他方をブリッジに接続。テナント分けのために

VLAN Tag=1を付与

Page 14: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 13

[1-7]veth pairを活性化

Veth pairをactivate

UP のステートで白抜き表示される

Page 15: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 14

[1-8]Namespaceを追加

外部ネットワークとインスタンスとして利用するためにNamespace

を二つ追加

Page 16: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 15

[1-9]veth pairを追加

Veth pairを3つ追加1.インスタンスとbr-int

2.仮想ルータとbr-ex

3.外部ネットワークとbr-ex

Page 17: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 16

[1-10]veth pairをNamespaceに移動

Veth pairの端点を、それぞれqpublic, qvm1,

qrouter1に移動

Page 18: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 17

[1-11]veth pairにアドレスを付与

それぞれにIPアドレスを付与する

Page 19: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 18

[1-12,13]veth pairをブリッジに接続、活性化

反対側の端点をbr-int, br-exに接続し、Activate

Page 20: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 19

[1-14]floating IPアドレスを付与qrouter1のbr-

ex側のインタフェースにIP

aliasでアドレスを付与

これはqpublicからqvm1にアクセスするための

floating IP

Page 21: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 20

[1-15]DNATを設定外部ネットワークからqvm1にアクセスする

ためのDNAT

Page 22: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 21

[1-16]SNATを設定qvm1からの戻りパケットのソースが

floating IP となるためのSNAT

Page 23: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 22

[1-17]インスタンスにdefault gatewayを設定

qvm1のdefault

gatewayをqrouter1

に向ける。qpublicとqvm1の間

が開通

Page 24: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 23

[1-18]テナントA 疎通確認

qpublicからqvm1のfloating IPである

192.168.101.11へのpingが成功

Page 25: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 24

[2-1]Namespaceを作る

同じ手順でもう一つのテナントを作成。VLAN tag=2を

利用

Page 26: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 25

[2-3]veth pairを作る

Page 27: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 26

[2-4]veth pairをNamespaceに移す

Page 28: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 27

[2-5]Veth pairにアドレスを付与

VLAN tag=1のテナントと同じアドレスが利用できる

Page 29: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 28

[2-6]veth pairをブリッジに接続

Page 30: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 29

[2-7]veth pairを活性化

Page 31: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 30

[2-8]Namespaceを作る

VLAN tag=2のテナントに接続したインスタンスとしてqvm2を作成

Page 32: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 31

[2-9]veth pairを作る

Page 33: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 32

[2-10]veth pairをNamespaceに移す

Page 34: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 33

[2-11]veth pairにアドレスを付与

Page 35: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 34

[2-12,13]veth pairをブリッジに接続、活性化

Page 36: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 35

[2-14]floating IPを付与

Page 37: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 36

[2-15]DNATを設定

Page 38: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 37

[2-16]SNATを設定

Page 39: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 38

[2-17]インスタンスにdefault gatewayを設定

これで、2つのテナントのインスタンスから外部ネットワークへの通信が可能となった

Page 40: 君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー 2014年10月

Copyright©2014 UNIADEX, Ltd. All rights reserved. 39

[2-18]テナントB 疎通確認