SlideShare une entreprise Scribd logo
1  sur  15
KVM&Open vswitchでVPSを
作ってみる
         Twitter @mamesan
自己紹介
某NIに勤務していました

主にC社のRouterやSwitchなどを使ってお客
様ネットワークの設計構築してました。

Twitter @ mamesan
VPSってなに?
rootがもらえるレンタルサーバーです。

               さんなどが
サービスしています

OSも結構選べてすぐ使える!
某社さんは言っていた
 ハイパーバイザーはKVM
 仮想スイッチはOpen vSwtich
   OSS!家で再現できるかも?
   作ってみよう!
インストール
Open vSwtichをもってくる
                                    VM VM VM VM
http://openvswitch.org/              TAP   TAP         TAP   TAP

                                           Open vSwitch

   RPMないけどSPECあります。                              NIC


   rpmbuildすれば管理も楽!
   まだ作成途中ですがWikiもあります
   http://www57.atwiki.jp/openvswitch/
仮想サーバへの仮想のNICアサイン
       qemu-kvmで普通にVMを作ります。
       作成するときにVlanをアサインしてください
/usr/libexec/qemu-kvm -daemonize -M rhel6.0.0 -cpu qemu64 -enable-kvm -m 2048 -smp
1,sockets=1,cores=1,threads=1 -name Centos01 -rtc base=utc -cdrom CentOS-6.2-x86_64-bin-
DVD1.iso -hda vm0001.img -boot order=cd -net
nic,vlan=101,macaddr=52:54:00:00:01:01,model=virtio,name=nc1 -net
tap,vlan=101,ifname=port_Centos01_1,script=/etc/ovs-ifup-br0,downscript=/etc/ovs-ifdown-br0 -
monitor telnet::10001,server,nowait -vnc :1 -k ja -vga cirrus -serial pty -parallel none -
monitor pty


       この状態でovsにTAPが作成され、VMに仮想NICが
       アサインされます。ただし、ovsにはVLANがア
       サインされていません。
仮想NICへのVLANアサイン
       ovs-vsctlコマンドでTAPにVLANをアサインします
/usr/bin/ovs-vsctl set port port_Centos01_1 tag=101



       確認コマンド
ovs-vsctl show
69589346-879f-4ff5-b69d-d9b3453c8531
    Bridge "br0"
        Port "port_Centos01_1"
            tag: 101
            Interface "port_Centos01_1"
        Port "eth0"
            Interface "eth0"
        Port "br0"
            Interface "br0"
                 type: internal



注意: TAP名は自由に決められますが「-」や「*」など使用不可の文字があります。
仮想OSでできること
仮想OSはrootが使える。ってことは?

 IPアドレスやMACアドレスの変更は自由

 vrrpdなどのプログラムも実行したい放題

   これはまずい!
仮想スイッチの要件
IPアドレスやMACアドレスなりすまし対策

 ユーザーに払い出したアドレス以外は通
 信させない

通信プログラム対策

 vrrpdやospfdなどはトラブルのもとになる
 ので通信させない
フィルタの作成
       OVS内蔵のOpenFlowコントローラを利用
                     ovs-ofctlコマンドでフローを作成
ovs-ofctl add-flow br0 in_port=2,priority=0,actions=drop

ovs-ofctl add-flow br0 in_port=2,priority=0,nw_src=224.0.0.0/4,actions=drop

ovs-ofctl add-flow br0
in_port=2,dl_src=52:54:00:00:01:01,priority=100,ip,nw_src=192.0.2.1,actions=normal

ovs-ofctl add-flow br0
in_port=2,dl_src=52:54:00:00:01:01,priority=100,arp,nw_src=192.0.2.1,actions=normal

注意: in_port=の数字は可変です。仮想ポート(TAP)ごとに1から順に採番されますovs-ofctl show で

   確認できます。

     : Priorityを入れないとFlowは登録されますが、効きませんでした
確認コマンド
       Flowテーブルの確認
                     ovs-ofctl dump-flows br0
ovs-ofctl dump-flows br0

NXST_FLOW reply (xid=0x4):

 cookie=0x0, duration=65.37s, table=0, n_packets=17, n_bytes=1266, priority=0,in_port=2
actions=drop

 cookie=0x0, duration=65.363s, table=0, n_packets=4, n_bytes=240,
priority=100,arp,in_port=2,dl_src=52:54:00:00:01:01,nw_src=10.0.1.1 actions=NORMAL

 cookie=0x0, duration=65.365s, table=0, n_packets=11, n_bytes=1098,
priority=100,ip,in_port=2,dl_src=52:54:00:00:01:01,nw_src=10.0.1.1 actions=NORMAL

 cookie=0x0, duration=65.367s, table=0, n_packets=0, n_bytes=0,
priority=0,ip,in_port=2,nw_dst=224.0.0.0/4 actions=drop

 cookie=0x0, duration=93343.255s, table=0, n_packets=186, n_bytes=16490, priority=0
actions=NORMAL
家VPS構成
    ルーター
       10.0.1.0/24∼10.0.10.0/24
          NIC

      Open vSwitch

        KVM

          NIC
                     192.168.1.0/24
    管理用スイッチ
デモ
 OSを立ち上げてとりあえず通信

 IPアドレスを変更してみる

 MACアドレスを変更してみる
はまったこと

物理NICに出ていくときにエラー
ググッても出てこない変なエラー!NICドライバの相性?でした。Intel
にしたら解決!HP NIC・・・


qemuのvlanとOVSのvlanは両方設定
qemuでVM作ったあとに、OVSにもちゃんとVLANの割り当てが必要。
今後の予定
WEB画面からVMを作成/削除できるようにする
  PHPとDBで作成中


複数のOVS間でトンネルを作成し、L3経由のL2
通信をさせる
OVSのFlow管理がめんどうになりそうなので、
コントローラを利用する

Contenu connexe

Tendances

エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
Takeshi HASEGAWA
 
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
Takuya ASADA
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
Sho Shimizu
 

Tendances (20)

OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 
「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と周辺技術の解説~ - ...
 
大規模環境のOpenStack アップグレードの考え方と実施のコツ
大規模環境のOpenStackアップグレードの考え方と実施のコツ大規模環境のOpenStackアップグレードの考え方と実施のコツ
大規模環境のOpenStack アップグレードの考え方と実施のコツ
 
OpenStackトラブルシューティング入門
OpenStackトラブルシューティング入門OpenStackトラブルシューティング入門
OpenStackトラブルシューティング入門
 
レシピの作り方入門
レシピの作り方入門レシピの作り方入門
レシピの作り方入門
 
IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~
IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~
IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~
 
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
CNIふぉーびぎなーず
CNIふぉーびぎなーずCNIふぉーびぎなーず
CNIふぉーびぎなーず
 
急速に進化を続けるCNIプラグイン Antrea
急速に進化を続けるCNIプラグイン Antrea 急速に進化を続けるCNIプラグイン Antrea
急速に進化を続けるCNIプラグイン Antrea
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
Linux女子部 iptables復習編
Linux女子部 iptables復習編Linux女子部 iptables復習編
Linux女子部 iptables復習編
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
 
OpenStack Octavia入門
OpenStack Octavia入門OpenStack Octavia入門
OpenStack Octavia入門
 

En vedette

Trema での Open vSwitch
Trema での Open vSwitchTrema での Open vSwitch
Trema での Open vSwitch
kazuyas
 
Openvswitch vps 20120429資料
Openvswitch vps 20120429資料Openvswitch vps 20120429資料
Openvswitch vps 20120429資料
Daisuke Nakajima
 
Contrail handson 手順書
Contrail handson 手順書Contrail handson 手順書
Contrail handson 手順書
Daisuke Nakajima
 

En vedette (13)

Trema での Open vSwitch
Trema での Open vSwitchTrema での Open vSwitch
Trema での Open vSwitch
 
Openvswitch vps 20120429資料
Openvswitch vps 20120429資料Openvswitch vps 20120429資料
Openvswitch vps 20120429資料
 
Open contrail days 2014 fall
Open contrail days 2014 fallOpen contrail days 2014 fall
Open contrail days 2014 fall
 
OpenContrailとnfv
OpenContrailとnfvOpenContrailとnfv
OpenContrailとnfv
 
Open stackdaystokyo2016
Open stackdaystokyo2016Open stackdaystokyo2016
Open stackdaystokyo2016
 
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@KyotoOpencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
 
Open contrailday 20150926
Open contrailday 20150926Open contrailday 20150926
Open contrailday 20150926
 
Contrail handson 手順書
Contrail handson 手順書Contrail handson 手順書
Contrail handson 手順書
 
OpenContrailの基本 for OSC Tokyo 2014 Spring
OpenContrailの基本 for OSC Tokyo 2014 SpringOpenContrailの基本 for OSC Tokyo 2014 Spring
OpenContrailの基本 for OSC Tokyo 2014 Spring
 
Open contrailのご紹介
Open contrailのご紹介Open contrailのご紹介
Open contrailのご紹介
 
2016 interop sdi_showcase_contrail
2016 interop sdi_showcase_contrail2016 interop sdi_showcase_contrail
2016 interop sdi_showcase_contrail
 
Open contrailmeetup 20161207
Open contrailmeetup 20161207Open contrailmeetup 20161207
Open contrailmeetup 20161207
 
Open contraildays2014
Open contraildays2014Open contraildays2014
Open contraildays2014
 

Similaire à OpenvswitchでVPS

OpenFlowをXenServerで試してみよう
OpenFlowをXenServerで試してみようOpenFlowをXenServerで試してみよう
OpenFlowをXenServerで試してみよう
Kimihiko Kitase
 
JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Study
irix_jp
 
BHyVeってなんや
BHyVeってなんやBHyVeってなんや
BHyVeってなんや
Takuya ASADA
 
OpenFlow in IaaS - Wakame
OpenFlow in IaaS - WakameOpenFlow in IaaS - Wakame
OpenFlow in IaaS - Wakame
axsh co., LTD.
 

Similaire à OpenvswitchでVPS (20)

OpenFlowをXenServerで試してみよう
OpenFlowをXenServerで試してみようOpenFlowをXenServerで試してみよう
OpenFlowをXenServerで試してみよう
 
Lxc on cloud
Lxc on cloudLxc on cloud
Lxc on cloud
 
Mellanox Vxlan offload Performance on linux
Mellanox Vxlan offload Performance on linux Mellanox Vxlan offload Performance on linux
Mellanox Vxlan offload Performance on linux
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
VlanManagerを使ってみた
VlanManagerを使ってみたVlanManagerを使ってみた
VlanManagerを使ってみた
 
ONIC-Japan-2019-OVN public
ONIC-Japan-2019-OVN publicONIC-Japan-2019-OVN public
ONIC-Japan-2019-OVN public
 
JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Study
 
DRBD/Heartbeat/Pacemakerで作るKVM仮想化クラスタ
DRBD/Heartbeat/Pacemakerで作るKVM仮想化クラスタDRBD/Heartbeat/Pacemakerで作るKVM仮想化クラスタ
DRBD/Heartbeat/Pacemakerで作るKVM仮想化クラスタ
 
BHyVeってなんや
BHyVeってなんやBHyVeってなんや
BHyVeってなんや
 
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
 
OpenFlow in IaaS - Wakame
OpenFlow in IaaS - WakameOpenFlow in IaaS - Wakame
OpenFlow in IaaS - Wakame
 
OpenIndiana+KVMによる仮想マシン
OpenIndiana+KVMによる仮想マシンOpenIndiana+KVMによる仮想マシン
OpenIndiana+KVMによる仮想マシン
 
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
 
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf) Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
 
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf) Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
 
Backdoor!! vmware-tools と 統合サービスに見るハイパーバイザの呼び出し方
Backdoor!! vmware-tools と 統合サービスに見るハイパーバイザの呼び出し方Backdoor!! vmware-tools と 統合サービスに見るハイパーバイザの呼び出し方
Backdoor!! vmware-tools と 統合サービスに見るハイパーバイザの呼び出し方
 
Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119
 
宣言的(Declarative)ネットワーキング
宣言的(Declarative)ネットワーキング宣言的(Declarative)ネットワーキング
宣言的(Declarative)ネットワーキング
 
microPCFを使ってみよう
microPCFを使ってみようmicroPCFを使ってみよう
microPCFを使ってみよう
 

Dernier

Dernier (7)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

OpenvswitchでVPS

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n