Einführung
Hetzner Online hat mit dem vSwitch
ein Feature für Ihre Dedicated Root Server implementiert, welches Ihnen ermöglicht, Ihre Server standortübergreifend über virtuelle Layer-2 Netzwerke miteinander zu verbinden. Sie haben in Ihrer Administrationsoberfläche Robot über den Button vSwitches
in der Serverübersicht die Möglichkeit, vSwitches anzulegen und zu konfigurieren.
Der vSwitch
nutzt den Uplink Ihres Servers. Daher ist eine weitere NIC nicht nötig.
Wie erstelle ich einen vSwitch?
Sie können einen vSwitch im Robot unter Hauptfunktionen
-> Server
-> vSwitches
anlegen. Dabei vergeben Sie einen Namen und eine VLAN-ID. Die VLAN-ID kann im Bereich von 4000 bis 4091 liegen.
Nachdem der vSwitch angelegt ist, können Sie Ihre Dedicated Root Server über den Button Server hinzufügen
dem vSwitch zuordnen. Die zugeordneten Server können nun über die eingestellte VLAN-ID miteinander kommunizieren.
Die Haupt-IP-Adresse und die zusätzlichen IP-Adressen / Subnetze eines Servers sind weiterhin ohne VLAN-Tagging erreichbar.
Pro Switchport gibt es eine Limitierung von 32 MAC Adressen.
Einem vSwitch können bis zu 100 Server zugeordnet werden.
Ein Server kann bis zu 5 vSwitchen zugeordnet sein.
IP-Adressen
Sie können innerhalb des VLANs beliebige private IP-Adressen kostenfrei nutzen. Optional haben Sie die Möglichkeit, über den Reiter IPs
zusätzlich öffentliche Subnetze (IPv4 und IPv6) zu bestellen. Diese Subnetze können an allen dem vSwitch zugeordneten Servern genutzt werden.
Die Preise dazu finden Sie hier.
Traffic
Der interne Traffic (standortübergreifend) ist kostenlos. Für die öffentlichen Subnetze gilt: Die vSwitches haben einen Inklusiv-Traffic von 1TB pro Monat, jedes weitere angefangene TB wird mit 1,19 €/Monat (inkl. 19 % USt) berechnet. Als Verrechnungsbasis wird hier der hetzner-ausgehende Traffic herangezogen.
Achtung: Der Traffic des vSwitches erfolgt über die Haupt-NIC. Eine weitere NIC ist daher nicht nötig.
Firewall
Die Firewall der Server wird auch auf die Pakete der vSwitches angewandt. Bitte beachten Sie, dass Sie bei aktivierter Firewall auch interne IP-Adressen in der Firewall freigeben müssen.
Server-Konfiguration (Linux)
Für den vSwitch muss ein Interface mit der im Robot eingestellen VLAN-ID konfiguriert werden. Zusätzlich sollte die MTU des Interface auf 1400 herabgesetzt werden.
Beispielkonfiguration für die Netzwerkkarte "enp0s31f6", mit VLAN-ID 4000
VLAN-Device erstellen:
ip link add link enp0s31f6 name enp0s31f6.4000 type vlan id 4000
ip link set enp0s31f6.4000 mtu 1400
ip link set dev enp0s31f6.4000 up
IP-Adresse <192.168.100.1>
aus dem privaten Subnetz <192.168.100.0/24>
konfigurieren:
ip addr add 192.168.100.1/24 brd 192.168.100.255 dev enp0s31f6.4000
Öffentliches Subnetz
Für das öffentliche Subnetz muss eine weitere Routing-Tabelle angelegt werden, um ein weiteres Default-Gateway konfigurieren zu können.
Beispielkonfiguration für die IP <213.239.252.50>
aus dem öffentlichen Subnetz <213.239.252.48/29>
, Interface enp0s31f6.4000
echo "1 vswitch" >> /etc/iproute2/rt_tables
ip addr add 213.239.252.50/29 dev enp0s31f6.4000
ip rule add from 213.239.252.50 lookup vswitch
ip rule add to 213.239.252.50 lookup vswitch
ip route add default via 213.239.252.49 dev enp0s31f6.4000 table vswitch
Beispielkonfiguration Debian
Interface enp0s31f6
, VLAN 4000
, privates Netzwerk
# /etc/network/interfaces
auto enp0s31f6.4000
iface enp0s31f6.4000 inet static
address 192.168.100.1
netmask 255.255.255.0
vlan-raw-device enp0s31f6
mtu 1400
Hinzufügen IP <213.239.252.50>
aus öffentlichem Subnetz <213.239.252.48/29>
und IPv6 <2001:db8:61:20e1::2>
aus öffentlichem Subnet <2001:db8:61:20e1::/64>
auf dem Hostsystem.
Zusätzliche Routingtabelle anlegen
echo "1 vswitch" >> /etc/iproute2/rt_tables
# /etc/network/interfaces
auto enp0s31f6.4000
iface enp0s31f6.4000 inet static
address 192.168.100.1
netmask 255.255.255.0
vlan-raw-device enp0s31f6
mtu 1400
# ipv4 subnet
up ip addr add 213.239.252.50/29 dev enp0s31f6.4000
up ip rule add from 213.239.252.50 lookup vswitch
up ip rule add to 213.239.252.50 lookup vswitch
up ip route add default via 213.239.252.49 dev enp0s31f6.4000 table vswitch
down ip addr del 213.239.252.50/29 dev enp0s31f6.4000
down ip route del default via 213.239.252.49 dev enp0s31f6.4000 table vswitch
down ip rule del to 213.239.252.50 lookup vswitch
down ip rule del from 213.239.252.50 lookup vswitch
# ipv6 subnet
up ip -6 addr add 2001:db8:61:20e1::2/64 dev enp0s31f6.4000
up ip -6 rule add from 2001:db8:61:20e1::2 lookup vswitch
up ip -6 rule add to 2001:db8:61:20e1::2 lookup vswitch
up ip -6 route add default via 2001:db8:61:20e1::1 dev enp0s31f6.4000 table vswitch
down ip -6 addr del 2001:db8:61:20e1::2/125 dev enp0s31f6.4000
down ip -6 route del default via 2001:db8:61:20e1::1 dev enp0s31f6.4000 table vswitch
down ip -6 rule del to 2001:db8:61:20e1::2 lookup vswitch
down ip -6 rule del from 2001:db8:61:20e1::2 lookup vswitch
Beispielkonfiguration für systemd
Interface enp0s31f6
(wird in aller Regel eno0, eth0, enp6s0 oder enp0s31f6 heißen), VLAN 4000
, privates Netzwerk. Wenn das Netzwerk nicht enp0s31f6, dann entsprechend unten ersetzen.
Zwei neue Dateien für systemd-networkd
einrichten:
#/etc/systemd/network/10-enp0s31f6.4000.netdev
[NetDev]
Name=enp0s31f6.4000
Kind=vlan
MTUBytes=1400
[VLAN]
Id=4000
#/etc/systemd/network/10-enp0s31f6.4000.network
[Match]
Name=enp0s31f6.4000
[Network]
Description="VLAN 4000"
Address=192.168.100.2/24
Bestehende Netzwerkdatei um eine Zeile erweitern:
#/etc/systemd/network/10-enp0s31f6.network
....
[Network]
...
VLAN=enp0s31f6.4000
sudo systemctl restart systemd-networkd
Beispielkonfiguration für systemd und netplan (z.B. Ubuntu 18.04)
Neuere Instanzen von installimage erzeugen bei Ubuntu 18.04 netplan-basierte Netzwerk-Konfigurationen. Das Verzeichnis /etc/systemd/network/
ist dann leer. Um das VLAN einzurichten, muss man die Netplan-Datei ändern:
#/etc/netplan/01-netcfg.yaml
### Hetzner Online GmbH installimage
network:
version: 2
renderer: networkd
ethernets:
enp0s31f6:
addresses:
...
vlans:
enp0s31f6.4000:
id: 4000
link: enp0s31f6
mtu: 1400
addresses:
- 192.168.100.2/24
Danach muss man folgende Befehle ausführen und das Netzwerk sollte verfügbar sein:
sudo /lib/netplan/generate
sudo systemctl restart systemd-networkd
Es gibt in netplan offenbar noch einen Glitch (s. hier auch https://askubuntu.com/questions/1191365/netplan-not-applying-correct-mtu-to-vlan) bei den MTUs.
Diese müssen manuell per ip-Befehl
gesetzt werden:
sudo /sbin/ip link set mtu 1400 dev enp0s31f6.4000
Will man das ganze über den Neustart retten, hilft ein Eintrag ins crontab
(z.B. das von root, also sudo crontab -e ausführen):
@reboot sleep 10 && /sbin/ip link set mtu 1400 dev enp0s31f6.4000
Server-Konfiguration (Windows)
siehe vSwitch für Windows Server
API
Die vSwitches können auch über den Robot-Webservice (API) konfiguriert werden.
Fehlersuche bei vSwitch-Verbindungsproblemen
Bei Verbindungsproblemen mit dem vSwitch besteht der erste Schritt der Fehlerbehebung darin, den vSwitch neu zu starten (zu aktualisieren). Dies geschieht durch die folgenden Schritte:
1: Melden Sie sich bei Robot an und wählen Sie auf der linken Seite Server und dann den Menüpumkt vSwitch aus. 2: Wählen Sie den betreffenden vSwitch aus, zum Beispiel #99999. 3: Drücken Sie die Schaltfläche "Alle auswählen" am unteren Rand und klicken Sie auf die Schaltfläche "Aktualisieren".
Wenn dies das Problem nicht behebt, entfernen Sie bitte alle Server aus dem vSwitch und fügen Sie sie wieder hinzu. Wenn das Problem weiterhin besteht, muss es eskaliert werden. Bitte erstellen Sie ein Support-Ticket und führen Sie die Schritte auf, die Sie zur Behebung des Problems unternommen haben.