Suchen

Virtuelle Umgebungen besser und sicherer vernetzen Open vSwitch – Das kann der Open-Source-Netzwerkswitch

Autor / Redakteur: Thomas Joos / Dipl.-Ing. (FH) Andreas Donner

Mit Open vSwitch lassen sich virtuelle Netzwerkswitches erstellen, die virtuelle Server auf die gleiche Weise vernetzen können, wie physische Netzwerkswitches die physischen Server. Open vSwitch ist Teil des Linux-Kernels.

Firma zum Thema

Mit dem von der Linux Foundation betriebenen Open-vSwitch-Konzept (OvS) lassen sich virtuelle Netzwerkswitches für virtuelle Netze aufbauen.
Mit dem von der Linux Foundation betriebenen Open-vSwitch-Konzept (OvS) lassen sich virtuelle Netzwerkswitches für virtuelle Netze aufbauen.
(Bild: OvS / Linux Foundation / VMware)

Open vSwitch stellt auf Softwarebasis Funktionen zur Verfügung, die alles abdecken, was ein Switch in einem Netzwerk erfüllen muss. Dabei werden nahezu alle Funktionen unterstützt, die auch Hardware-Switches beherrschen. Es handelt sich dabei um einen der wichtigsten Standards bei virtuellen Netzwerken, vor allem im Open-Source-Bereich. Die Software ist in C geschrieben.

Bei Open vSwitch handelt es sich um eine Open-Source-Lösung, die unter der Apache 2.0-Lizenz läuft. Die Software ermöglicht eine umfassende Automatisierung von Netzwerkfunktionen in virtuellen Umgebungen. Open vSwitch kann aber nicht nur zur Vernetzung von virtuellen Umgebungen genutzt, sondern auch zusammen mit physischen Servern eingesetzt werden. Neben Layer 2-Aufgaben können auch Layer 3-Aufgaben durchgeführt werden.

Bildergalerie

Dies ermöglicht in Zusammenhang mit Linux das Erstellen von komplexen Netzwerkkonfigurationen auf Softwarebasis mit Bordmitteln. Zu den wichtigsten Funktionen gehören Switching, Routing, Tunneling, LACP, Libvirt-Integration, VXLAN und mehr. Tunnel können dabei miteinander verbunden werden, ohne VXLAN nutzen zu müssen. Open vSwitch ermöglicht bereits auf Ebene von Layer 2 eine ACL-Steuerung, um Berechtigungen für den Netzwerkverkehr zu steuern.

Einstieg in Open vSwitch

Open vSwitch (OvS) unterstützt dabei Funktionen, die auch in komplexen Netzwerkswitches in großen Umgebungen zur Verfügung stehen. Unterstützt werden zudem zahlreiche Schnittstellen und Protokolle, zum Beispiel NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP und 802.1ag. Ein Schwerpunkt von Open vSwitch liegt auch in großen Rechenzentren. Daher ist es auch möglich virtuelle Switches über mehrere Hosts und sogar Rechenzentren zu spannen.

Die im Linux-Kernel integrierte Netzwerklösung wird zum Beispiel auch von OpenStack zur Vernetzung genutzt. Viele andere virtuelle Systeme setzen bei der Vernetzung ebenfalls auf Open vSwitch. OvS wird auch in XenServer, der Xen-Cloud-Plattform sowie KVM, Proxmox VE und VirtualBox genutzt. Weitere Systeme, die auf Open vSwitch setzen sind openQRM, OpenNebula und oVirt. Die Installation kann über Pakete in Ubuntu, Debian, Fedora und openSUSE installiert werden. Open vSwitch wird auch unter FreeBSD und NetBSD unterstützt.

Mit Open vSwitch können auch VLANs für virtuelle Server konfiguriert werden. Weitere Funktionen, die Open vSwitch unterstützt sind die Gruppierung und Spiegelung von Ports. QoS ist mit Open vSwitch ebenfalls möglich.

Mit Open vSwitch virtuelle Netzwerke besser betreiben

Open vSwitch unterstützt nahezu alle offenen Netzwerkprotokolle im Layer-2-Bereich. GRE und VXLAN können ebenfalls genutzt werden. Neue Protokolle und Funktionen werden ständig integriert. Dazu gehört auch die Unterstützung von NetFlow, IPFIX und sFlow. Open vSwitch nutzt „ovs-vswitchd“ für die Konfiguration und „ovsdb-server“ zur Speicherung der Konfiguration. Der Prozess „ovs-vswitchd“ ist das zentrale Steuerelement auf dem jeweiligen Server für die Verbindung zu Open vSwitch.

Die Daten werden in einer JSON-Datenbank gespeichert. Diese ist im Verzeichnis „etc“ zu finden und wird durch „ovsdb-server“ genutzt. In den meisten Fällen wird hier ein eigenes Unterverzeichnis erstellt. Auf Ubuntu-Servern wird die Datenbank für Open vSwitch im Verzeichnis „/etc/openvswitch/conf.db“ gespeichert. Das Schema ist in „/usr/share/openvswitch/vswitch.ovsschema“ zu finden. Auch „ovs-vswitchd“ hat Zugriff auf die Datenbank, da der Prozess die Änderungen speichern muss. Beim Einsatz von OpenFlow verbindet „ovs-switchd“ die Verbindung zum OpenFlow-Controller auf. Mehr dazu ist in der Ubuntu-Dokumentation zu lesen.

Open vSwitch installieren

Die Installation von Open vSwitch erfolgt über die gängigen Paketquellen. Auf Ubuntu/Debian kann die Installation mit dem folgenden Befehl erfolgen:

Sudo apt install openvswitch-switch

Danach erfolgt die Verwaltung mit dem Befehlszeilentool „ovs-vsctl“. Mit dem Tool wird „ovs-switchd“ auch mit dem OpenFlow-Controller verbunden. Um mit Open vSwitch zu beginnen, kann eine leere Konfigurationsdatenbank erstellt werden, oder es wird die bereits vorhandene Datenbank genutzt. Um einen neuen Switch zu erstellen, wird zum Beispiel der folgende Befehl verwendet:

ovs-vsctl add-br switch1

Auf diesem Switch können mit „ovs-vsctl“ Ports erstellt werden, zum Beispiel:

ovs-vsctl add-port switch1 eth0

Hier lassen sich umfassende Konfigurationen und Routingaufgaben konfigurieren. Die aktuelle Einstellung des jeweiligen Switches kann mit „ovs-vsctl show“ angezeigt werden.

Virtuelle Switches miteinander verbinden und Mehrere Hosts einsetzen

In größeren Umgebungen werden VMs auf unterschiedlichen Hosts betrieben, müssen aber dennoch leicht erstellbar sein und mit dem Netzwerk kommunizieren können. Zur Unterstützung dieses Szenarios kann Open vSwitch auch mit Tunneln arbeiten, um mehrere Hosts und Switches miteinander zu verbinden. Open vSwitch nutzt dazu GRE, VXLAN oder GENEVE. Welches Protokoll verwendet wird, kann mit dem Parameter „type=“ konfiguriert werden. Hier stehen die Optionen „gre“, „vxlan“ und „geneve“ zur Verfügung.

Open Virtual Network und Open vSwitch

Zusätzlich zu OvS arbeitet die Community von Open vSwitch auch am Open Virtual Network (OVN) https://www.ovn.org. Dieses erweitert die Funktionen von OvS. Mit OVN können auch virtuelle L2- und L3-Overlays sowie Sicherheitsgruppen mit OvS umgesetzt werden. OVN kann virtuelle Netzwerkkonfigurationen in OpenFlow übersetzen. OVN ist unter der Open-Source-Lizenz Apache 2 lizenziert. OVN arbeitet mit logischen Routern und logischen Switches. Im Fokus von OVN stehen:

  • Verteilte virtuelle Router
  • Verteilte logische Switches
  • Zugriffskontroll-Listen
  • DHCP
  • DNS-Server

(ID:46987549)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist