SlideShare a Scribd company logo
オープンクラウド・キャンパス
OpenStack Quantum LinuxBridge Plugin




           OpenStackのQuantum(LinuxBridge Plugin)が
                  実際どうやって仮想ネットワークを
                         構成するのか説明する資料




                                        ver1.1 中井悦司
                                       Twitter @enakai00
OpenStack Quantum LinuxBridge Plugin

    自己紹介
     中井悦司(なかいえつじ)
       – Twitter @enakai00

     日々の仕事
       – Senior Solution Architect and
         Cloud Evangelist at Red Hat K.K.   好評発売中
         企業システムでオープンソースの活用を希望される
         お客様を全力でご支援させていただきます。


     昔とった杵柄
       – 素粒子論の研究(超弦理論とか)
       – 予備校講師(物理担当)
       – インフラエンジニア(Unix/Linux専門)




                                                    Open Cloud Campus
2
OpenStack Quantum LinuxBridge Plugin




                                           前提環境




                                                  Open Cloud Campus
3
OpenStack Quantum LinuxBridge Plugin

    物理ネットワーク構成とQuantum Agentの配置
                                                   L2 AgentはPluginを選択可能
                                                 ここでは、LinuxBridge Pluginを使用
                  パブリック
                 ネットワーク
                                              管理ネットワーク


                                                           インスタンスが
     仮想ルータが                                                起動するノード
    構成されるノード
                      eth0          eth2          eth0                 eth0
                      Network Node
                      Quantum Server          Compute Node       Compute Node
                         L2 Agent                                    L2 Agent
                                                L2 Agent
                       DHCP Agent
                         L3 Agent
     Quantum Serverは         eth1                 eth1                 eth1
    別ノードに外出しも可能




                                           プライベートネットワーク
                                                                        Open Cloud Campus
4
OpenStack Quantum LinuxBridge Plugin

    この資料で説明する仮想ネットワークの論理構成


      特定テナント専用の
     ネットワークも用意可能



                                         インスタンスごとに接続する
                                        プライベートネットワークを選択
          パブリックネットワークとの                     (複数選択可能)
             通信はNATを使用
                                              ファイアウォール機能付き
                                              NATルータ
               パブリック
              ネットワーク                                 異なるサブネットからの通信は
                                                   セキュリティグループでフィルタリング

                                net01            net02
     プライベートネットワーク                                        プライベートネットワーク
         (サブネット01)                                       (サブネット02)


                                                          同一サブネット内の通信は
                                                           フィルタリングされない

                                                                   Open Cloud Campus
5
OpenStack Quantum LinuxBridge Plugin

    (参考)テナントごとに独立ネットワークを提供する構成例

     テナントごとにIPアドレスの範囲を自由に設定可能で、テナント間でIPアドレス
      が重複しても問題になりません。
     下図の「サブネット」は、テナントごとに自由に追加することができます。



                                             パブリック
                                            ネットワーク

         テナント外との通信はNATで行う



              テナントA                                                  テナントB
              専用ルータ                                                  専用ルータ


             サブネット1                サブネット2               サブネット1        サブネット2
         192.168.1.0/24            192.168.2.0/24   192.168.1.0/24    192.168.2.0/24




                                                                              Open Cloud Campus
6
OpenStack Quantum LinuxBridge Plugin




                       まずは完成形を見てみましょう




                                           Open Cloud Campus
7
OpenStack Quantum LinuxBridge Plugin

    Compute Nodeの完成形

                                                                                Nova Computeが構成

                                   vm01                        vm02                      vm03
                                 IP                IP             IP                IP
                                      eth0              eth0           eth1              eth0

        Network Node上の
     dnsmasqからIPを割り当て             tapXXX             tapXXX           tapXXX         tapXXX


                                             brqxxxx                          brqxxxx
                                                    net01               net02

          プライベートネットワーク                       eth1.101                         eth1.102
          ごとにVLANデバイスを構成
                                                               eth1               L2 Agentが構成


           プライベートネットワーク用                   VLAN101
                   L2スイッチ
                                                 VLAN102

                                                                                                Open Cloud Campus
8
OpenStack Quantum LinuxBridge Plugin

    Network Nodeの完成形                                             パブリックネットワークへ
                                           L3 Agentが構成                    eth0

                                                      tapVVV             brqxxxx
                           iptablesで
                       NAT&フィルタリング               IP
                                                      qg-VVV
                                      dnsmasq                          dnsmasq
       サブネットごとに
       dnsmasqが起動
                                 IP              IP               IP               IP
                                      ns-XXX          qr-YYY           ns-ZZZ        qr-WWW
       ここはvethで直結
     (TAPデバイスではない)
                                      tapXXX          tapYYY           tapZZZ      tapWWW
             DHCP Agentが構成
                                            brqxxxx                        brqxxxx
                                                      net01             net02
                                            eth1.101                       eth1.102


                                                               eth1              L2 Agentが構成

                                                プライベートネットワーク用スイッチへ                     Open Cloud Campus
9
OpenStack Quantum LinuxBridge Plugin




     iptablesによるフィルタリングとNATの設定内容




                                        Open Cloud Campus
10
OpenStack Quantum LinuxBridge Plugin

 Compute Nodeにおけるパケットフィルタリング

       filter table                                        インスタンスに対する
                                                          パケットフィルタリングは
                                                           各Compute Nodeで実施
         FORWARD

                   nova-filter-top
                                                     インスタンス個別に
                      nova-compute-local          フィルタリングチェーンを用意

                         nova-compute-inst-xx           同じサブネットからは
                                                         無条件に通信可能
                               nova-compute-provider
                                                                   Security Groupの
                            同じサブネットからのパケット                ACCEPT      適用はココ

                            Security Groupによるフィルタ         ACCEPT

                             nova-compute-sg-fallback      DROP

              nova-compute-FORWARD

                                                   ※ これらはNova Computeが設定します。
     ACCEPT
                                                   (Security GroupはNovaの機能)
                                                                         Open Cloud Campus
11
OpenStack Quantum LinuxBridge Plugin

 Network NodeにおけるNAT処理 (1/2)
                                                             パブリックネットワーク接続時の
     nat table       POSTROUTING                             NAT処理はNetwork Nodeで実施

                          quantum-l3-agent-POSTROUTING

                              パブリックNWとの出入り以外                      ACCEPT

                          quantum-postrouting-bottom        パブリックNWに出入りする
                                                             タイミングでNATを適用
                                 quantum-l3-agent-snat
                                                                    送信元IPを仮想ルータの
                                    quantum-l3-agent-float-snat      パブリックIPに変換


                                          Floating IPからの送信             SNAT


                                     プライベートNWからの送信                     SNAT

                            nova-api-POSTROUTING                      送信元IPを対応する
                                                                      Floating IPに変換
                        nova-api-postrouting-bottom

                                                       ※ これらは主にL3 Agentが設定します。
                 ACCEPT
                                                                                Open Cloud Campus
12
OpenStack Quantum LinuxBridge Plugin

 Network NodeにおけるNAT処理 (1/2)


               nat table


                 PREROUTING

                       quantum-l3-agent-PREROUTING

                           Floating IP宛の受信           DNAT

                         nova-api-PREROUTING
                                                      宛先IPをFloating IPから
                                                     対応するプライベートIPに変換
              ACCEPT




                                                     ※ これらは主にL3 Agentが設定します。
                                                                           Open Cloud Campus
13
OpenStack Quantum LinuxBridge Plugin




           仮想ネットワークの構成手順にしたがって
            実際の構成の様子を追ってみましょう




                                        Open Cloud Campus
14
OpenStack Quantum LinuxBridge Plugin

 仮想ルータの定義

  仮想ルータは定義しただけでは、実際の構成は何も行われません。
     # quantum router-create router01




                                        Open Cloud Campus
15
OpenStack Quantum LinuxBridge Plugin

 プラベートネットワークの定義

  プラベートネットワークとサブネットを定義すると、Network Node上で次の構成が行われ
   ます。(Compute Nodeでは、まだ何も行われません。)
     – プライベートネットワーク用ブリッジ brxxxxを作成
     – プラベートネットワーク用の物理NIC上のVLANデバイスethX.XXXを作成して、ブリッジに接続
     – vethで直結された仮想NICペア [tapXXXX --- ns-XXXX] を作成して、tapXXXXをブリッジに接続
     – nsXXXXにIPを割り当てて、これをListenインターフェースとするdnsmasqを起動
     # tenant=$(keystone tenant-list|awk '/redhat/ {print $2}')
     # quantum net-create --tenant-id $tenant net01 --provider:network_type vlan 
                          --provider:physical_network physnet2 --provider:segmentation_id 101
     # quantum subnet-create --tenant-id $tenant --name subnet01 net01 192.168.101.0/24

     # route -n
     Kernel IP routing table
     Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
     192.168.101.0   0.0.0.0         255.255.255.0   U     0      0        0 ns-ca045488-1e
     ・・・
     # ip addr show ns-ca045488-1e
     20: ns-ca045488-1e: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000




                                                                                                               vethで直結
         link/ether e6:3b:bd:07:11:42 brd ff:ff:ff:ff:ff:ff
         inet 192.168.101.2/24 brd 192.168.101.255 scope global ns-ca045488-1e
     ・・・
     # brctl show
     bridge name bridge id               STP enabled interfaces
     brq6c6cc680-a8                      8000.e89a8fbe1f79       no                      eth1.101
                                                                                         tapca045488-1e
     # ps -ef | grep dnsmasq
     nobody   14920     1 0 15:22 ?         00:00:00 /usr/sbin/dnsmasq --no-hosts --no-resolv --strict-order
     --bind-interfaces --interface=ns-ca045488-1e --except-interface=lo --domain=openstacklocal --pid-
     file=/var/lib/quantum/dhcp/6c6cc680-a8fc-4f96-a8ae-1e88eabffec3/pid ・・・
                                                                                                   Open Cloud Campus
16
OpenStack Quantum LinuxBridge Plugin

 パブリックネットワークの定義とルータ接続

  パブリックネットワークは定義しただけでは、実際の構成は何も行われません。
     # tenant=$(keystone tenant-list|awk '/service/ {print $2}')
     # quantum net-create --tenant-id $tenant public01 --provider:network_type flat 
                          --provider:physical_network physnet1 --router:external=True
     # quantum subnet-create --tenant-id $tenant --name pub_subnet01 --gateway 10.64.201.254 
                             public01 10.64.201.0/24 --enable_dhcp False

  仮想ルータの外部ゲートウェイにパブリックネットワークを指定すると、Network Node上
   で次の構成が行われます。
     – パブリックネットワーク用ブリッジ brxxxxを作成して、パブリックネットワークの物理NICを接続
     – vethで直結された仮想NICペア [tapXXXX --- qg-XXXX] を作成して、tapXXXXをブリッジに接続
     – qgXXXXにIPを割り当てて、これをパブリックネットワーク接続用にルーティングテーブルを構成
     # quantum router-gateway-set router01 public01

     # route -n
     Kernel IP routing table
     Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
     ・・・
     0.0.0.0         10.64.201.254   0.0.0.0         UG    0      0        0 qg-3faf6516-c1
     # ip addr show qg-3faf6516-c1
     32: qg-3faf6516-c1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000




                                                                                                               vethで直結
         link/ether 4a:d4:a3:46:12:5c brd ff:ff:ff:ff:ff:ff
         inet 10.64.201.1/24 brd 10.64.201.255 scope global qg-3faf6516-c1
     ・・・
     [root@opst01 work(keystone_admin)]$ brctl show
     bridge name bridge id               STP enabled interfaces
     brq01092489-9f                      8000.e89a8fbe1f78       no                      eth0
                                                                                         tap3faf6516-c1
     ・・・
                                                                                                   Open Cloud Campus
17
OpenStack Quantum LinuxBridge Plugin

 プライベートネットワークのルータ接続

  プライベートネットワークを仮想ルータに接続すると、Network Node上で次の構成が行わ
   れます。(Compute Nodeでは、まだ何も行われません。)
    – vethで直結された仮想NICペア [tapXXXX --- qr-XXXX] を作成して、tapXXXXをブリッジに接続
    – qr-XXXXにIPを割り当てる(プライベートネットワークのデフォルトゲートウェイに利用可能(*1))
    – iptablesのnatテーブルにSNAT(Masquerade)接続用のエントリを作成
    # quantum router-interface-add router01 subnet01

    # route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.101.0   0.0.0.0         255.255.255.0   U     0      0        0 ns-ca045488-1e
    192.168.101.0   0.0.0.0         255.255.255.0   U     0      0        0 qr-0339046d-b6
    ・・・
    # ip addr show qr-0339046d-b6
    35: qr-0339046d-b6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether aa:06:4e:fb:5c:86 brd ff:ff:ff:ff:ff:ff




                                                                                                              vethで直結
        inet 192.168.101.1/24 brd 192.168.101.255 scope global qr-0339046d-b6
    ・・・
    # brctl show
    bridge name bridge id               STP enabled interfaces
    ・・・
    brq6c6cc680-a8                      8000.e89a8fbe1f79       no                      eth1.101
                                                                                        tap0339046d-b6
                                                                                        tapca045488-1e
    $ iptables -t nat -L quantum-l3-agent-snat -v
    Chain quantum-l3-agent-snat (1 references)
     pkts bytes target     prot opt in     out     source               destination
        3   216 quantum-l3-agent-float-snat all -- any       any     anywhere             anywhere
        0     0 SNAT       all -- any      any     192.168.101.0/24     anywhere            to:10.64.201.1


18 *1) dnsmasqを使用する場合は、実際には、dnsmasq用のポートns-XXXXがゲートウェイになります。                                      Open Cloud Campus
OpenStack Quantum LinuxBridge Plugin

 インスタンスの起動

  インスタンスを起動してプライベートネットワークに接続すると、該当インスタンスが起動
   するCompute Node上で次の構成がおこなわれます。
     – プライベートネットワーク用ブリッジ brxxxxを作成
     – プラベートネットワーク用の物理NIC上のVLANデバイスethX.XXXを作成して、ブリッジに接続
     – iptablesのfilterテーブルにdnsmasq接続/同一サブネット接続/Security Group用のエントリを作成
     – Nova Computeが作成した仮想マシンのtapデバイスをブリッジに接続

     # brctl show
     bridge name bridge id             STP enabled interfaces
     brq6c6cc680-a8                    8000.6aa83b0c369f        no                          eth1.101
                                                                                            tap10007fbc-f2
     # iptables -nL nova-compute-local -v
     Chain nova-compute-local (1 references)
      pkts bytes target     prot opt in     out    source                  destination
         0     0 nova-compute-inst-74 all -- *        *        0.0.0.0/0              192.168.101.3

     # iptables -nL nova-compute-inst-74 -v
     Chain nova-compute-inst-74 (1 references)
      pkts bytes target     prot opt in     out    source                  destination
         0     0 DROP       all -- *        *      0.0.0.0/0               0.0.0.0/0            state INVALID
         0     0 ACCEPT     all -- *        *      0.0.0.0/0               0.0.0.0/0            state
     RELATED,ESTABLISHED
         0     0 nova-compute-provider all -- *        *       0.0.0.0/0                 0.0.0.0/0
         0     0 ACCEPT     udp -- *        *      192.168.101.2        0.0.0.0/0                udp spt:67 dpt:68
         0     0 ACCEPT     all -- *        *      192.168.101.0/24     0.0.0.0/0
         0     0 ACCEPT     tcp -- *        *      0.0.0.0/0            0.0.0.0/0               tcp dpt:22
         0     0 nova-compute-sg-fallback all --   *      *       0.0.0.0/0                0.0.0.0/0



                                                                                                       Open Cloud Campus
19
OpenStack Quantum LinuxBridge Plugin

 Floating IPの割り当て

  Floating Ipをインスタンスのポートに割り当てると、Network Node上で次の構成がおこな
   われます。
     – iptablesのnatテーブルにFloating IPに対応するDNAT/SNATのエントリを作成
     # tenant=$(keystone tenant-list|awk '/redhat/ {print $2}')
     # quantum floatingip-create --tenant-id $tenant public01
     # quantum floatingip-associate a56c9247-6155-418f-b418-650ac021743f 10007fbc-f2e5-4688-9979-9acfd253b444

     # iptables -t nat -nL quantum-l3-agent-float-snat -v
     Chain quantum-l3-agent-float-snat (1 references)
      pkts bytes target     prot opt in     out     source              destination
         0     0 SNAT       all -- *        *       192.168.101.3       0.0.0.0/0            to:10.64.201.4
     # iptables -t nat -nL quantum-l3-agent-OUTPUT -v
     Chain quantum-l3-agent-OUTPUT (1 references)
      pkts bytes target     prot opt in     out     source               destination
         0     0 DNAT       all -- *        *       0.0.0.0/0            10.64.201.4         to:192.168.101.3




                                                                                                   Open Cloud Campus
20
OpenStack Quantum LinuxBridge Plugin




                                        参考資料




                                               Open Cloud Campus
21
OpenStack Quantum LinuxBridge Plugin

 参考書




                                        仮想ネットワークと
                 KVM全般の勉強に
                                         iptablesの勉強に

                                                        Open Cloud Campus
22
OpenStack Quantum LinuxBridge Plugin

 参考資料

  KVM勉強会!
    – http://www.slideshare.net/enakai/ljstudy-kvm

  Eucalyputsの仮想ネットワーク構成
     – http://cloud.watch.impress.co.jp/docs/column/euca_iaas/20110817_466963.html

  OpenStack Network (Quantum) Administration Guide
    – http://docs.openstack.org/trunk/openstack-network/admin/content/index.html

  Quantum L2 Linux Bridge Plugin
    – http://wiki.openstack.org/Quantum-Linux-Bridge-Plugin

  QuickStart with RHOS(Red Hat OpenStack) Folsom Preview
    – http://d.hatena.ne.jp/enakai00/20121118/1353226066




                                                                            Open Cloud Campus
23
オープンクラウド・キャンパス
OpenStack Quantum LinuxBridge Plugin




            Euaclyptusユーザ会もよろしくね!




                                            中井悦司
                                       Twitter @enakai00

More Related Content

What's hot

Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニックRed Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Etsuji Nakai
 
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
VirtualTech Japan Inc.
 
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
Takashi Sogabe
 
openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019
Takehiro Kudou
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
Toru Makabe
 
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
VirtualTech Japan Inc.
 
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門
Etsuji Nakai
 
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF
VirtualTech Japan Inc.
 
20161129 neutron recent topic
20161129 neutron recent topic20161129 neutron recent topic
20161129 neutron recent topic
Akihiro Motoki
 
入門!Software Defined Network
入門!Software Defined Network入門!Software Defined Network
入門!Software Defined Network
Etsuji Nakai
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
Etsuji Nakai
 
20131211 Neutron Havana
20131211 Neutron Havana20131211 Neutron Havana
20131211 Neutron Havana
Akihiro Motoki
 
クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!
Etsuji Nakai
 
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
VirtualTech Japan Inc.
 
CloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudCloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloud
samemoon
 
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月
VirtualTech Japan Inc.
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
Etsuji Nakai
 
OpenStack with OpenFlow
OpenStack with OpenFlowOpenStack with OpenFlow
OpenStack with OpenFlow
Toshiki Tsuboi
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
VirtualTech Japan Inc.
 
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
VirtualTech Japan Inc.
 

What's hot (20)

Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニックRed Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
 
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
 
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
 
openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
 
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
 
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門
 
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF
 
20161129 neutron recent topic
20161129 neutron recent topic20161129 neutron recent topic
20161129 neutron recent topic
 
入門!Software Defined Network
入門!Software Defined Network入門!Software Defined Network
入門!Software Defined Network
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
 
20131211 Neutron Havana
20131211 Neutron Havana20131211 Neutron Havana
20131211 Neutron Havana
 
クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!
 
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
 
CloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudCloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloud
 
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
 
OpenStack with OpenFlow
OpenStack with OpenFlowOpenStack with OpenFlow
OpenStack with OpenFlow
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
 
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
 

Viewers also liked

「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
VirtualTech Japan Inc.
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
 
How VXLAN works on Linux
How VXLAN works on LinuxHow VXLAN works on Linux
How VXLAN works on Linux
Etsuji Nakai
 
知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点
d-shen
 
L2 over L3 ecnaspsulations
L2 over L3 ecnaspsulationsL2 over L3 ecnaspsulations
L2 over L3 ecnaspsulations
Motonori Shindo
 
OpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseOpenStack QuickStart - Icehouse
OpenStack QuickStart - Icehouse
Hideki Saito
 
Linux KVM環境におけるGPGPU活用最新動向
Linux KVM環境におけるGPGPU活用最新動向Linux KVM環境におけるGPGPU活用最新動向
Linux KVM環境におけるGPGPU活用最新動向
Taira Hajime
 
Openv switchの使い方とか
Openv switchの使い方とかOpenv switchの使い方とか
Openv switchの使い方とか
kotto_hihihi
 
OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)
VirtualTech Japan Inc.
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
 

Viewers also liked (10)

「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
How VXLAN works on Linux
How VXLAN works on LinuxHow VXLAN works on Linux
How VXLAN works on Linux
 
知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点
 
L2 over L3 ecnaspsulations
L2 over L3 ecnaspsulationsL2 over L3 ecnaspsulations
L2 over L3 ecnaspsulations
 
OpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseOpenStack QuickStart - Icehouse
OpenStack QuickStart - Icehouse
 
Linux KVM環境におけるGPGPU活用最新動向
Linux KVM環境におけるGPGPU活用最新動向Linux KVM環境におけるGPGPU活用最新動向
Linux KVM環境におけるGPGPU活用最新動向
 
Openv switchの使い方とか
Openv switchの使い方とかOpenv switchの使い方とか
Openv switchの使い方とか
 
OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 

Similar to OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料

JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Study
irix_jp
 
RDOを使ったOpenStack Havana - Neutron 構築編
RDOを使ったOpenStack Havana - Neutron 構築編RDOを使ったOpenStack Havana - Neutron 構築編
RDOを使ったOpenStack Havana - Neutron 構築編
VirtualTech Japan Inc.
 
OpenStack - SDNとオープンネットワーキングのすべて
OpenStack - SDNとオープンネットワーキングのすべてOpenStack - SDNとオープンネットワーキングのすべて
OpenStack - SDNとオープンネットワーキングのすべて
mizumotoda
 
完全分散エッジ処理で実現するNeutron仮想ネットワーク
完全分散エッジ処理で実現するNeutron仮想ネットワーク完全分散エッジ処理で実現するNeutron仮想ネットワーク
完全分散エッジ処理で実現するNeutron仮想ネットワーク
Etsuji Nakai
 
20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack Quantum20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack Quantum
Akihiro Motoki
 
CloudStackとNetScaler連携tips
CloudStackとNetScaler連携tipsCloudStackとNetScaler連携tips
CloudStackとNetScaler連携tips
Kenichi Mineta
 
OSC2011 Tokyo/Fall JOSUG
OSC2011 Tokyo/Fall JOSUGOSC2011 Tokyo/Fall JOSUG
OSC2011 Tokyo/Fall JOSUG
Hideki Saito
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
npsg
 
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
Etsuji Nakai
 
コンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用についてコンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用について
Tomofumi Hayashi
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみた
npsg
 
20131011_openstack-neutron-vyattameeting
20131011_openstack-neutron-vyattameeting20131011_openstack-neutron-vyattameeting
20131011_openstack-neutron-vyattameeting
Akihiro Motoki
 
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
Juniper Networks (日本)
 
Vyatta and Virtualization 仮想環境でのVyatta
Vyatta and Virtualization 仮想環境でのVyattaVyatta and Virtualization 仮想環境でのVyatta
Vyatta and Virtualization 仮想環境でのVyatta
Kentaro Ebisawa
 
Osc2009 Do Xen Hara
Osc2009 Do Xen HaraOsc2009 Do Xen Hara
Osc2009 Do Xen Hara
Kazuhisa Hara
 
Big Cloud Fabric製品紹介とOpenStack Neutron Plugin 実装概要
Big Cloud Fabric製品紹介とOpenStack Neutron Plugin 実装概要Big Cloud Fabric製品紹介とOpenStack Neutron Plugin 実装概要
Big Cloud Fabric製品紹介とOpenStack Neutron Plugin 実装概要
Shohei Yoshimoto
 
VPC詳細 -ほぼ週刊AWSマイスターシリーズ第7回-
VPC詳細 -ほぼ週刊AWSマイスターシリーズ第7回-VPC詳細 -ほぼ週刊AWSマイスターシリーズ第7回-
VPC詳細 -ほぼ週刊AWSマイスターシリーズ第7回-
SORACOM, INC
 
20111109 07 aws-meister-vpc-public
20111109 07 aws-meister-vpc-public20111109 07 aws-meister-vpc-public
20111109 07 aws-meister-vpc-public
Amazon Web Services Japan
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
tetsusat
 

Similar to OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料 (20)

JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Study
 
RDOを使ったOpenStack Havana - Neutron 構築編
RDOを使ったOpenStack Havana - Neutron 構築編RDOを使ったOpenStack Havana - Neutron 構築編
RDOを使ったOpenStack Havana - Neutron 構築編
 
OpenStack - SDNとオープンネットワーキングのすべて
OpenStack - SDNとオープンネットワーキングのすべてOpenStack - SDNとオープンネットワーキングのすべて
OpenStack - SDNとオープンネットワーキングのすべて
 
完全分散エッジ処理で実現するNeutron仮想ネットワーク
完全分散エッジ処理で実現するNeutron仮想ネットワーク完全分散エッジ処理で実現するNeutron仮想ネットワーク
完全分散エッジ処理で実現するNeutron仮想ネットワーク
 
20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack Quantum20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack Quantum
 
CloudStackとNetScaler連携tips
CloudStackとNetScaler連携tipsCloudStackとNetScaler連携tips
CloudStackとNetScaler連携tips
 
OSC2011 Tokyo/Fall JOSUG
OSC2011 Tokyo/Fall JOSUGOSC2011 Tokyo/Fall JOSUG
OSC2011 Tokyo/Fall JOSUG
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
 
コンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用についてコンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用について
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみた
 
20131011_openstack-neutron-vyattameeting
20131011_openstack-neutron-vyattameeting20131011_openstack-neutron-vyattameeting
20131011_openstack-neutron-vyattameeting
 
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
 
Vyatta and Virtualization 仮想環境でのVyatta
Vyatta and Virtualization 仮想環境でのVyattaVyatta and Virtualization 仮想環境でのVyatta
Vyatta and Virtualization 仮想環境でのVyatta
 
Osc2009 Do Xen Hara
Osc2009 Do Xen HaraOsc2009 Do Xen Hara
Osc2009 Do Xen Hara
 
Big Cloud Fabric製品紹介とOpenStack Neutron Plugin 実装概要
Big Cloud Fabric製品紹介とOpenStack Neutron Plugin 実装概要Big Cloud Fabric製品紹介とOpenStack Neutron Plugin 実装概要
Big Cloud Fabric製品紹介とOpenStack Neutron Plugin 実装概要
 
VPC詳細 -ほぼ週刊AWSマイスターシリーズ第7回-
VPC詳細 -ほぼ週刊AWSマイスターシリーズ第7回-VPC詳細 -ほぼ週刊AWSマイスターシリーズ第7回-
VPC詳細 -ほぼ週刊AWSマイスターシリーズ第7回-
 
20111109 07 aws-meister-vpc-public
20111109 07 aws-meister-vpc-public20111109 07 aws-meister-vpc-public
20111109 07 aws-meister-vpc-public
 
Open contrailのご紹介
Open contrailのご紹介Open contrailのご紹介
Open contrailのご紹介
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 

More from Etsuji Nakai

PRML11.2-11.3
PRML11.2-11.3PRML11.2-11.3
PRML11.2-11.3
Etsuji Nakai
 
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
Etsuji Nakai
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Etsuji Nakai
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlow
Etsuji Nakai
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
Etsuji Nakai
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
Etsuji Nakai
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
Etsuji Nakai
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English Learning
Etsuji Nakai
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
Etsuji Nakai
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
Etsuji Nakai
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
Etsuji Nakai
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2
Etsuji Nakai
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application Developers
Etsuji Nakai
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with Jupyter
Etsuji Nakai
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginners
Etsuji Nakai
 
Life with jupyter
Life with jupyterLife with jupyter
Life with jupyter
Etsuji Nakai
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQN
Etsuji Nakai
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきか
Etsuji Nakai
 
PRML7.2
PRML7.2PRML7.2
PRML7.2
Etsuji Nakai
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
Etsuji Nakai
 

More from Etsuji Nakai (20)

PRML11.2-11.3
PRML11.2-11.3PRML11.2-11.3
PRML11.2-11.3
 
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlow
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English Learning
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application Developers
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with Jupyter
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginners
 
Life with jupyter
Life with jupyterLife with jupyter
Life with jupyter
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQN
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきか
 
PRML7.2
PRML7.2PRML7.2
PRML7.2
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
 

OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料

  • 1. オープンクラウド・キャンパス OpenStack Quantum LinuxBridge Plugin OpenStackのQuantum(LinuxBridge Plugin)が 実際どうやって仮想ネットワークを 構成するのか説明する資料 ver1.1 中井悦司 Twitter @enakai00
  • 2. OpenStack Quantum LinuxBridge Plugin 自己紹介  中井悦司(なかいえつじ) – Twitter @enakai00  日々の仕事 – Senior Solution Architect and Cloud Evangelist at Red Hat K.K. 好評発売中 企業システムでオープンソースの活用を希望される お客様を全力でご支援させていただきます。  昔とった杵柄 – 素粒子論の研究(超弦理論とか) – 予備校講師(物理担当) – インフラエンジニア(Unix/Linux専門) Open Cloud Campus 2
  • 3. OpenStack Quantum LinuxBridge Plugin 前提環境 Open Cloud Campus 3
  • 4. OpenStack Quantum LinuxBridge Plugin 物理ネットワーク構成とQuantum Agentの配置 L2 AgentはPluginを選択可能 ここでは、LinuxBridge Pluginを使用 パブリック ネットワーク 管理ネットワーク インスタンスが 仮想ルータが 起動するノード 構成されるノード eth0 eth2 eth0 eth0 Network Node Quantum Server Compute Node Compute Node L2 Agent L2 Agent L2 Agent DHCP Agent L3 Agent Quantum Serverは eth1 eth1 eth1 別ノードに外出しも可能 プライベートネットワーク Open Cloud Campus 4
  • 5. OpenStack Quantum LinuxBridge Plugin この資料で説明する仮想ネットワークの論理構成 特定テナント専用の ネットワークも用意可能 インスタンスごとに接続する プライベートネットワークを選択 パブリックネットワークとの (複数選択可能) 通信はNATを使用 ファイアウォール機能付き NATルータ パブリック ネットワーク 異なるサブネットからの通信は セキュリティグループでフィルタリング net01 net02 プライベートネットワーク プライベートネットワーク (サブネット01) (サブネット02) 同一サブネット内の通信は フィルタリングされない Open Cloud Campus 5
  • 6. OpenStack Quantum LinuxBridge Plugin (参考)テナントごとに独立ネットワークを提供する構成例  テナントごとにIPアドレスの範囲を自由に設定可能で、テナント間でIPアドレス が重複しても問題になりません。  下図の「サブネット」は、テナントごとに自由に追加することができます。 パブリック ネットワーク テナント外との通信はNATで行う テナントA テナントB 専用ルータ 専用ルータ サブネット1 サブネット2 サブネット1 サブネット2 192.168.1.0/24 192.168.2.0/24 192.168.1.0/24 192.168.2.0/24 Open Cloud Campus 6
  • 7. OpenStack Quantum LinuxBridge Plugin まずは完成形を見てみましょう Open Cloud Campus 7
  • 8. OpenStack Quantum LinuxBridge Plugin Compute Nodeの完成形 Nova Computeが構成 vm01 vm02 vm03 IP IP IP IP eth0 eth0 eth1 eth0 Network Node上の dnsmasqからIPを割り当て tapXXX tapXXX tapXXX tapXXX brqxxxx brqxxxx net01 net02 プライベートネットワーク eth1.101 eth1.102 ごとにVLANデバイスを構成 eth1 L2 Agentが構成 プライベートネットワーク用 VLAN101 L2スイッチ VLAN102 Open Cloud Campus 8
  • 9. OpenStack Quantum LinuxBridge Plugin Network Nodeの完成形 パブリックネットワークへ L3 Agentが構成 eth0 tapVVV brqxxxx iptablesで NAT&フィルタリング IP qg-VVV dnsmasq dnsmasq サブネットごとに dnsmasqが起動 IP IP IP IP ns-XXX qr-YYY ns-ZZZ qr-WWW ここはvethで直結 (TAPデバイスではない) tapXXX tapYYY tapZZZ tapWWW DHCP Agentが構成 brqxxxx brqxxxx net01 net02 eth1.101 eth1.102 eth1 L2 Agentが構成 プライベートネットワーク用スイッチへ Open Cloud Campus 9
  • 10. OpenStack Quantum LinuxBridge Plugin iptablesによるフィルタリングとNATの設定内容 Open Cloud Campus 10
  • 11. OpenStack Quantum LinuxBridge Plugin Compute Nodeにおけるパケットフィルタリング filter table インスタンスに対する パケットフィルタリングは 各Compute Nodeで実施 FORWARD nova-filter-top インスタンス個別に nova-compute-local フィルタリングチェーンを用意 nova-compute-inst-xx 同じサブネットからは 無条件に通信可能 nova-compute-provider Security Groupの 同じサブネットからのパケット ACCEPT 適用はココ Security Groupによるフィルタ ACCEPT nova-compute-sg-fallback DROP nova-compute-FORWARD ※ これらはNova Computeが設定します。 ACCEPT (Security GroupはNovaの機能) Open Cloud Campus 11
  • 12. OpenStack Quantum LinuxBridge Plugin Network NodeにおけるNAT処理 (1/2) パブリックネットワーク接続時の nat table POSTROUTING NAT処理はNetwork Nodeで実施 quantum-l3-agent-POSTROUTING パブリックNWとの出入り以外 ACCEPT quantum-postrouting-bottom パブリックNWに出入りする タイミングでNATを適用 quantum-l3-agent-snat 送信元IPを仮想ルータの quantum-l3-agent-float-snat パブリックIPに変換 Floating IPからの送信 SNAT プライベートNWからの送信 SNAT nova-api-POSTROUTING 送信元IPを対応する Floating IPに変換 nova-api-postrouting-bottom ※ これらは主にL3 Agentが設定します。 ACCEPT Open Cloud Campus 12
  • 13. OpenStack Quantum LinuxBridge Plugin Network NodeにおけるNAT処理 (1/2) nat table PREROUTING quantum-l3-agent-PREROUTING Floating IP宛の受信 DNAT nova-api-PREROUTING 宛先IPをFloating IPから 対応するプライベートIPに変換 ACCEPT ※ これらは主にL3 Agentが設定します。 Open Cloud Campus 13
  • 14. OpenStack Quantum LinuxBridge Plugin 仮想ネットワークの構成手順にしたがって 実際の構成の様子を追ってみましょう Open Cloud Campus 14
  • 15. OpenStack Quantum LinuxBridge Plugin 仮想ルータの定義  仮想ルータは定義しただけでは、実際の構成は何も行われません。 # quantum router-create router01 Open Cloud Campus 15
  • 16. OpenStack Quantum LinuxBridge Plugin プラベートネットワークの定義  プラベートネットワークとサブネットを定義すると、Network Node上で次の構成が行われ ます。(Compute Nodeでは、まだ何も行われません。) – プライベートネットワーク用ブリッジ brxxxxを作成 – プラベートネットワーク用の物理NIC上のVLANデバイスethX.XXXを作成して、ブリッジに接続 – vethで直結された仮想NICペア [tapXXXX --- ns-XXXX] を作成して、tapXXXXをブリッジに接続 – nsXXXXにIPを割り当てて、これをListenインターフェースとするdnsmasqを起動 # tenant=$(keystone tenant-list|awk '/redhat/ {print $2}') # quantum net-create --tenant-id $tenant net01 --provider:network_type vlan --provider:physical_network physnet2 --provider:segmentation_id 101 # quantum subnet-create --tenant-id $tenant --name subnet01 net01 192.168.101.0/24 # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.101.0 0.0.0.0 255.255.255.0 U 0 0 0 ns-ca045488-1e ・・・ # ip addr show ns-ca045488-1e 20: ns-ca045488-1e: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 vethで直結 link/ether e6:3b:bd:07:11:42 brd ff:ff:ff:ff:ff:ff inet 192.168.101.2/24 brd 192.168.101.255 scope global ns-ca045488-1e ・・・ # brctl show bridge name bridge id STP enabled interfaces brq6c6cc680-a8 8000.e89a8fbe1f79 no eth1.101 tapca045488-1e # ps -ef | grep dnsmasq nobody 14920 1 0 15:22 ? 00:00:00 /usr/sbin/dnsmasq --no-hosts --no-resolv --strict-order --bind-interfaces --interface=ns-ca045488-1e --except-interface=lo --domain=openstacklocal --pid- file=/var/lib/quantum/dhcp/6c6cc680-a8fc-4f96-a8ae-1e88eabffec3/pid ・・・ Open Cloud Campus 16
  • 17. OpenStack Quantum LinuxBridge Plugin パブリックネットワークの定義とルータ接続  パブリックネットワークは定義しただけでは、実際の構成は何も行われません。 # tenant=$(keystone tenant-list|awk '/service/ {print $2}') # quantum net-create --tenant-id $tenant public01 --provider:network_type flat --provider:physical_network physnet1 --router:external=True # quantum subnet-create --tenant-id $tenant --name pub_subnet01 --gateway 10.64.201.254 public01 10.64.201.0/24 --enable_dhcp False  仮想ルータの外部ゲートウェイにパブリックネットワークを指定すると、Network Node上 で次の構成が行われます。 – パブリックネットワーク用ブリッジ brxxxxを作成して、パブリックネットワークの物理NICを接続 – vethで直結された仮想NICペア [tapXXXX --- qg-XXXX] を作成して、tapXXXXをブリッジに接続 – qgXXXXにIPを割り当てて、これをパブリックネットワーク接続用にルーティングテーブルを構成 # quantum router-gateway-set router01 public01 # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface ・・・ 0.0.0.0 10.64.201.254 0.0.0.0 UG 0 0 0 qg-3faf6516-c1 # ip addr show qg-3faf6516-c1 32: qg-3faf6516-c1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 vethで直結 link/ether 4a:d4:a3:46:12:5c brd ff:ff:ff:ff:ff:ff inet 10.64.201.1/24 brd 10.64.201.255 scope global qg-3faf6516-c1 ・・・ [root@opst01 work(keystone_admin)]$ brctl show bridge name bridge id STP enabled interfaces brq01092489-9f 8000.e89a8fbe1f78 no eth0 tap3faf6516-c1 ・・・ Open Cloud Campus 17
  • 18. OpenStack Quantum LinuxBridge Plugin プライベートネットワークのルータ接続  プライベートネットワークを仮想ルータに接続すると、Network Node上で次の構成が行わ れます。(Compute Nodeでは、まだ何も行われません。) – vethで直結された仮想NICペア [tapXXXX --- qr-XXXX] を作成して、tapXXXXをブリッジに接続 – qr-XXXXにIPを割り当てる(プライベートネットワークのデフォルトゲートウェイに利用可能(*1)) – iptablesのnatテーブルにSNAT(Masquerade)接続用のエントリを作成 # quantum router-interface-add router01 subnet01 # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.101.0 0.0.0.0 255.255.255.0 U 0 0 0 ns-ca045488-1e 192.168.101.0 0.0.0.0 255.255.255.0 U 0 0 0 qr-0339046d-b6 ・・・ # ip addr show qr-0339046d-b6 35: qr-0339046d-b6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether aa:06:4e:fb:5c:86 brd ff:ff:ff:ff:ff:ff vethで直結 inet 192.168.101.1/24 brd 192.168.101.255 scope global qr-0339046d-b6 ・・・ # brctl show bridge name bridge id STP enabled interfaces ・・・ brq6c6cc680-a8 8000.e89a8fbe1f79 no eth1.101 tap0339046d-b6 tapca045488-1e $ iptables -t nat -L quantum-l3-agent-snat -v Chain quantum-l3-agent-snat (1 references) pkts bytes target prot opt in out source destination 3 216 quantum-l3-agent-float-snat all -- any any anywhere anywhere 0 0 SNAT all -- any any 192.168.101.0/24 anywhere to:10.64.201.1 18 *1) dnsmasqを使用する場合は、実際には、dnsmasq用のポートns-XXXXがゲートウェイになります。 Open Cloud Campus
  • 19. OpenStack Quantum LinuxBridge Plugin インスタンスの起動  インスタンスを起動してプライベートネットワークに接続すると、該当インスタンスが起動 するCompute Node上で次の構成がおこなわれます。 – プライベートネットワーク用ブリッジ brxxxxを作成 – プラベートネットワーク用の物理NIC上のVLANデバイスethX.XXXを作成して、ブリッジに接続 – iptablesのfilterテーブルにdnsmasq接続/同一サブネット接続/Security Group用のエントリを作成 – Nova Computeが作成した仮想マシンのtapデバイスをブリッジに接続 # brctl show bridge name bridge id STP enabled interfaces brq6c6cc680-a8 8000.6aa83b0c369f no eth1.101 tap10007fbc-f2 # iptables -nL nova-compute-local -v Chain nova-compute-local (1 references) pkts bytes target prot opt in out source destination 0 0 nova-compute-inst-74 all -- * * 0.0.0.0/0 192.168.101.3 # iptables -nL nova-compute-inst-74 -v Chain nova-compute-inst-74 (1 references) pkts bytes target prot opt in out source destination 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 nova-compute-provider all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT udp -- * * 192.168.101.2 0.0.0.0/0 udp spt:67 dpt:68 0 0 ACCEPT all -- * * 192.168.101.0/24 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 0 0 nova-compute-sg-fallback all -- * * 0.0.0.0/0 0.0.0.0/0 Open Cloud Campus 19
  • 20. OpenStack Quantum LinuxBridge Plugin Floating IPの割り当て  Floating Ipをインスタンスのポートに割り当てると、Network Node上で次の構成がおこな われます。 – iptablesのnatテーブルにFloating IPに対応するDNAT/SNATのエントリを作成 # tenant=$(keystone tenant-list|awk '/redhat/ {print $2}') # quantum floatingip-create --tenant-id $tenant public01 # quantum floatingip-associate a56c9247-6155-418f-b418-650ac021743f 10007fbc-f2e5-4688-9979-9acfd253b444 # iptables -t nat -nL quantum-l3-agent-float-snat -v Chain quantum-l3-agent-float-snat (1 references) pkts bytes target prot opt in out source destination 0 0 SNAT all -- * * 192.168.101.3 0.0.0.0/0 to:10.64.201.4 # iptables -t nat -nL quantum-l3-agent-OUTPUT -v Chain quantum-l3-agent-OUTPUT (1 references) pkts bytes target prot opt in out source destination 0 0 DNAT all -- * * 0.0.0.0/0 10.64.201.4 to:192.168.101.3 Open Cloud Campus 20
  • 21. OpenStack Quantum LinuxBridge Plugin 参考資料 Open Cloud Campus 21
  • 22. OpenStack Quantum LinuxBridge Plugin 参考書 仮想ネットワークと KVM全般の勉強に iptablesの勉強に Open Cloud Campus 22
  • 23. OpenStack Quantum LinuxBridge Plugin 参考資料  KVM勉強会! – http://www.slideshare.net/enakai/ljstudy-kvm  Eucalyputsの仮想ネットワーク構成 – http://cloud.watch.impress.co.jp/docs/column/euca_iaas/20110817_466963.html  OpenStack Network (Quantum) Administration Guide – http://docs.openstack.org/trunk/openstack-network/admin/content/index.html  Quantum L2 Linux Bridge Plugin – http://wiki.openstack.org/Quantum-Linux-Bridge-Plugin  QuickStart with RHOS(Red Hat OpenStack) Folsom Preview – http://d.hatena.ne.jp/enakai00/20121118/1353226066 Open Cloud Campus 23
  • 24. オープンクラウド・キャンパス OpenStack Quantum LinuxBridge Plugin Euaclyptusユーザ会もよろしくね! 中井悦司 Twitter @enakai00