Difference between revisions of "Open vSwitch"

From HackerNet
Jump to: navigation, search
Line 19: Line 19:
 
  #sudo /sbin/service openvswitch start
 
  #sudo /sbin/service openvswitch start
 
  lsmod | grep openv
 
  lsmod | grep openv
 +
 +
Start at boot
 +
sudo systemctl enable openvswitch
  
 
==Konfiguration==
 
==Konfiguration==
 +
Skapa en virtuell switch och koppla interface till den.
 
  ovs-vsctl add-br br0
 
  ovs-vsctl add-br br0
 
  ovs-vsctl add-port br0 eth0
 
  ovs-vsctl add-port br0 eth0
Line 69: Line 73:
 
Open vSwitch har stöd för OpenFlow.
 
Open vSwitch har stöd för OpenFlow.
  
 +
==Patch Port==
 +
Med patchportar kan man koppla ihop flera ovs:er med varandra internt inom en host. <br/>
 +
Sw1
 +
ovs-vsctl add-port br1 patch1-2
 +
ovs-vsctl set interface patch1-2 type=patch
 +
ovs-vsctl set interface patch1-2 options:peer=patch2-1
 +
Sw2
 +
ovs-vsctl add-port br2 patch2-1
 +
ovs-vsctl set interface patch2-1 type=patch
 +
ovs-vsctl set interface patch2-1 options:peer=patch1-2
 +
 +
ovs-vsctl show
 
[[Category:Network]]
 
[[Category:Network]]

Revision as of 21:42, 15 March 2016

Open vSwitch är en virtuell multi layer switch, open source licensierad under Apache 2.0. Det används oftast med hypervisors för att koppla ihop vms med varandra mellan hostar och nätverk, t.ex. med KVM eller Xen. Det kan också användas med dedikerad switchhårdvara eller SDN-lösningar. Open vSwitch har stöd för de flesta traditionella tekniker inklusive STP, VLAN, LACP, GRE, VXLAN, QoS och net/sflow. Open vSwitch består i huvudsak av VSWITCHD, OVSDB-server och en kernel-modul. Det går även köra distribuerat över flera hostar likt VMwares vDS och Cisco Nexus 1000V.

Tools

  • ovs-vsctl: configuring the ovs-vswitchd configuration database
  • ovs-ofctl: monitor and administer OpenFlow switches
  • ovs-dpctl: administer Open vSwitch datapaths
  • ovs−appctl: query and controll Open vSwitch daemons

Installation

Ubuntu

apt-cache show openvswitch-switch | grep Version
sudo apt-get install openvswitch-switch

Fedora

sudo dnf info openvswitch | grep Version
sudo dnf install openvswitch
sudo /usr/share/openvswitch/scripts/ovs-ctl start
#sudo /sbin/service openvswitch start
lsmod | grep openv

Start at boot

sudo systemctl enable openvswitch

Konfiguration

Skapa en virtuell switch och koppla interface till den.

ovs-vsctl add-br br0
ovs-vsctl add-port br0 eth0
ovs-vsctl list-ifaces br0

Show

ovs-vsctl show
ovs-ofctl show br0

Adress till hosten

ifconfig eth0 0
dhclient br0

Interface

default all ports are VLAN trunks
Access

ovs-vsctl set port eth1 vlan_mode=access tag=1

Trunk

ovs-vsctl set port eth1 vlan_mode=tagged

Hybrid

ovs-vsctl set port eth1 vlan_mode=native-untagged trunks=[1,3] tag=2

Show

ovs-vsctl list port eth1

Bond

ovs-vsctl add-bond br0 bond0 eth0 eth1 lacp=active trunks=10,11,12
ovs-vsctl list port bond0

STP

ovs-vsctl set bridge br0 stp_enable=true

SVI

ovs-vsctl add-port br0 vlan90 tag=09 -- set interface vlan09 type=internal

Interface till vms

ip tuntap add mode tap vport1
ip tuntap add mode tap vport2
ovs-vsctl add-port testbridge vport1
ovs-vsctl add-port testbridge vport2
ovs-vsctl show

Kolla mac-tabell

ovs-appctl fdb/show testbridge

Controller

ovs-vsctl set-controller br0 tcp:10.0.0.20:6633

OpenFlow

Open vSwitch har stöd för OpenFlow.

Patch Port

Med patchportar kan man koppla ihop flera ovs:er med varandra internt inom en host.
Sw1

ovs-vsctl add-port br1 patch1-2
ovs-vsctl set interface patch1-2 type=patch
ovs-vsctl set interface patch1-2 options:peer=patch2-1

Sw2

ovs-vsctl add-port br2 patch2-1
ovs-vsctl set interface patch2-1 type=patch
ovs-vsctl set interface patch2-1 options:peer=patch1-2
ovs-vsctl show