Proxmox VE 9 • Dedizierte Server • Netzwerk-Tutorial

So geben Sie Proxmox VE-Gästen eine öffentliche IP-Adresse

Ihr Server wurde mit seiner ersten IPv4-Adresse auf dem Host übergeben – und sonst nichts. Jede weitere Adresse auf Ihrem Konto gehört Ihnen und kann frei platziert werden. Dieser Leitfaden behandelt die drei Möglichkeiten, dies auf einer Server Room-Maschine zu tun: gebridged, wobei ein Gast mit eigener MAC-Adresse in unserem Netz sitzt; geroutet, wobei der Host für ihn weiterleitet; und ein privates Subnetz hinter Ihrer primären Adresse. Jede Konfiguration hier wurde vor der Veröffentlichung in unserem eigenen Netz getestet.

Proxmox VE 9 auf Debian 13 Keine MAC-Registrierung 24/7 Live-Support

Schritt-für-Schritt-Anleitung

Arbeiten Sie zuerst Schritt eins und zwei durch. Wählen Sie dann Schritt drei, vier oder fünf — es sind drei Antworten auf dieselbe Frage, keine Abfolge.

1

Finden Sie Ihre Adressen und ermitteln Sie jedes Gateway

Die E-Mail Dedicated Server Setup, die beim Aufbau Ihrer Maschine versandt wurde, listet jede ihr zugewiesene Adresse auf, zuerst IPv4 und dann IPv6. Dieselbe Liste finden Sie in Ihrem Control Panel auf der Seite des Servers unter Zugang, Netzwerk & rDNS, wo jede Adresse mit ihrem Reverse-DNS-Eintrag angezeigt wird.

Bei einem Proxmox-Build enthält die E-Mail eine zusätzliche Zeile, und sie ist der Grund, warum diese Seite existiert: Nur die erste Adresse wird auf dem Host konfiguriert. Die übrigen können Sie von Proxmox aus zuweisen – an Ihre virtuellen Maschinen oder an den Host selbst. Unser Installationsprogramm konfiguriert bewusst eine Adresse und hört dann auf, denn ein Host, der alle hält, würde für jede einzelne antworten und Ihren Gästen nichts übrig lassen.

Die Netzmaske ist immer /24 (255.255.255.0) und das Gateway ist immer die .1 des /24, in dem die jeweilige Adresse selbst liegt. Der zweite Teil ist wichtiger, als er aussieht. Gemeinsam bestellte Adressen liegen aufeinanderfolgend innerhalb eines /24 und teilen sich daher ein Gateway. Adressen, die einem bestehenden Server später hinzugefügt werden, können aus einem anderen unserer Bereiche stammen, und dann verwendet jede ihre eigene .1 — zum Beispiel verwendet eine Adresse in 203.0.113.0/24 die 203.0.113.1, selbst auf einer Maschine, deren primäre Adresse in einem anderen Bereich liegt. Beides funktioniert am selben Port und an derselben Bridge.

Der von unserem Installationsprogramm konfigurierte Resolver ist 209.244.0.3. Es steht Ihnen frei, Ihre Gäste auf einen anderen zu verweisen.

2

Lesen Sie, was das Installationsprogramm auf dem Host hinterlassen hat

Melden Sie sich per SSH als root an und sehen Sie sich die vom Installationsprogramm geschriebenen Schnittstellen an:

ip -br addr
cat /etc/network/interfaces

Eine frisch aufgesetzte Maschine sieht so aus, mit Ihrem eigenen Schnittstellennamen und Ihrer eigenen primären Adresse anstelle der Beispiele:

auto lo
iface lo inet loopback

iface eno1 inet manual

auto vmbr0
iface vmbr0 inet static
    address 203.0.113.10/24
    gateway 203.0.113.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0

vmbr0 ist bereits eine Bridge, und die physische Schnittstelle ist bereits ein Port darauf. Das ist das gesamte Bridged-Modell, weshalb Schritt drei Sie bittet, am Host nichts zu ändern.

Proxmox VE 9 ist Debian 13 und verwendet ifupdown2, daher erfordert eine Konfigurationsänderung keinen Neustart. Bearbeiten Sie /etc/network/interfaces und wenden Sie sie an mit:

ifreload -a

Wenn Sie das Netzwerk stattdessen über die Proxmox-Weboberfläche bearbeiten, werden Ihre Änderungen in /etc/network/interfaces.new zwischengespeichert, bis Sie Konfiguration anwenden drücken. Öffnen Sie in jedem Fall die Server-Konsole über Ihr Control Panel, bevor Sie neu laden. Ein Fehler in dieser Datei nimmt die Maschine vom Netz, und die Konsole ist der Weg zurück, ohne ein Ticket zu eröffnen.

3

Bridged: Der Gast sitzt mit eigener MAC-Adresse in unserem Netz

Dies ist die Variante, die Sie verwenden sollten, sofern Sie keinen Grund dagegen haben. Der Gast ist eine gewöhnliche Maschine im selben Segment wie der Host, spricht direkt mit unseren Routern, und am Host ändert sich überhaupt nichts.

Geben Sie der virtuellen Maschine in der Proxmox-Oberfläche ein Netzwerkgerät an der Bridge vmbr0 und belassen Sie die von Proxmox generierte MAC-Adresse. Konfigurieren Sie die Adresse dann im Gast genau wie auf jedem anderen Server. Für einen Debian- oder Ubuntu-Gast mit ifupdown:

auto lo
iface lo inet loopback

auto ens18
iface ens18 inet static
    address 203.0.113.58/24
    gateway 203.0.113.1
    dns-nameservers 209.244.0.3 1.1.1.1

Für einen Ubuntu-Gast mit netplan in /etc/netplan/01-netcfg.yaml:

network:
  version: 2
  ethernets:
    ens18:
      addresses: [203.0.113.58/24]
      routes:
        - to: default
          via: 203.0.113.1
      nameservers:
        addresses: [209.244.0.3, 1.1.1.1]

Ein Windows-Gast übernimmt dieselben drei Werte in den IPv4-Eigenschaften des Adapters. Jedes Betriebssystem funktioniert, denn von unserer Seite aus ist dies schlicht eine weitere Maschine im Subnetz.

Sie müssen die MAC-Adresse eines Gastes nicht bei uns registrieren, und wir begrenzen nicht, wie viele Ihr Port verwenden darf. Manche Hosting-Anbieter tun das, und deren Dokumentation verlangt, für jede virtuelle Maschine eine MAC zu deklarieren. Bei uns nicht: Der Switch-Port Ihres Servers hat keine MAC-Anzahl-Beschränkung, und Port Security ist ausgeschaltet, sodass eine Gast-MAC genauso gelernt wird wie die des Hosts. Wir haben das vor der Veröffentlichung getestet, indem wir eine zweite MAC und eine freie Adresse auf den eigenen Kundenport eines Mitarbeiter-Servers gelegt und sie aus dem öffentlichen Internet erreicht haben.

Drei Dinge gilt es richtig zu halten:

• Geben Sie jedem Gast eine eigene MAC-Adresse. Zwei Gäste mit derselben – oder ein Gast, der die des Hosts kopiert – stören beide.
• Verwenden Sie das Gateway, das zum /24 der jeweiligen Adresse gehört, aus Schritt eins.
Konfigurieren Sie ausschließlich Adressen, die Ihrem Konto zugewiesen sind. Die Bridge liegt an einem echten Netz, das mit anderen Maschinen geteilt wird. Eine Adresse zu verwenden, die Ihnen nicht gehört, zieht fremden Verkehr mit sich.

Aus demselben Grund sollten Sie auf vmbr0 keinen DHCP-Server, keinen unautorisierten Router-Advertisement-Daemon oder irgendetwas anderes betreiben, das für das Segment antwortet. Wenn Sie DHCP für Ihre eigenen Gäste anbieten möchten, nutzen Sie das Modell mit privatem Subnetz aus Schritt fünf, wo die Bridge keinen physischen Port hat und niemanden sonst erreichen kann.

4

Geroutet: Der Host ist das Gateway für seine Gäste

Verwenden Sie dies, wenn jedes Paket zu und von einem Gast den Host passieren soll, damit dessen Firewall es sieht, oder wenn Ihre Gäste auf unserer Schicht 2 gar nicht erst erscheinen sollen. Die Adresse ist weiterhin eine öffentliche aus Ihrem Konto; nur der Pfad ändert sich.

Die öffentliche Adresse wandert von der Bridge auf die physische Schnittstelle, der Host leitet weiter und beantwortet ARP im Namen der Gäste, für die er routet. Auf dem Host:

auto lo
iface lo inet loopback

auto eno1
iface eno1 inet static
    address 203.0.113.10/24
    gateway 203.0.113.1
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up echo 1 > /proc/sys/net/ipv4/conf/eno1/proxy_arp

auto vmbr0
iface vmbr0 inet manual
    bridge-ports none
    bridge-stp off
    bridge-fd 0
    up ip route add 203.0.113.58/32 dev vmbr0
    down ip route del 203.0.113.58/32 dev vmbr0

Fügen Sie pro gerouteter Adresse ein up- und down-Paar hinzu. Im Gast ist die Adresse ein /32, und der Host wird vor der Standardroute über eine explizite On-Link-Route erreicht:

auto lo
iface lo inet loopback

auto ens18
iface ens18 inet static
    address 203.0.113.58/32
    post-up ip route add 203.0.113.10 dev ens18
    post-up ip route add default via 203.0.113.10
    dns-nameservers 209.244.0.3 1.1.1.1

Zwei Anmerkungen zur Host-Strophe. Die proxy_arp-Zeile ist das, was dies hier zum Laufen bringt: Unsere Router fragen im Segment nach der Adresse des Gastes, und der Host antwortet für ihn. Ohne diese Zeile bleibt der Gast von außen stumm. Und die beiden post-up echo-Zeilen sind Proxmox' eigene dokumentierte Form; wenn Sie sie lieber ein für alle Mal setzen möchten, legen Sie net.ipv4.ip_forward=1 und net.ipv4.conf.eno1.proxy_arp=1 stattdessen in einer Datei unter /etc/sysctl.d/ ab.

Geroutet kostet Sie ein wenig Konfiguration in jedem Gast und gibt Ihnen einen Host, der alles filtern, zählen und protokollieren kann. Gebridged kostet nichts und gibt Ihnen keines von beidem. Das ist der ganze Handel.

5

Ein privates Subnetz hinter Ihrer primären Adresse

Gäste, die nur nach außen Verbindungen aufbauen müssen — Build-Agenten, Worker, eine Datenbank, die von außen niemand berühren soll — brauchen überhaupt keine öffentliche Adresse. Legen Sie sie auf eine Bridge ohne physischen Port und lassen Sie den Host ihren Verkehr auf dem Weg nach draußen auf seine eigene Adresse übersetzen. Das kostet keine Adressen und ist die günstigste Art, viele Maschinen zu betreiben.

Fügen Sie auf dem Host eine zweite Bridge hinzu und lassen Sie vmbr0, wie sie ist:

auto vmbr1
iface vmbr1 inet static
    address 10.10.10.1/24
    bridge-ports none
    bridge-stp off
    bridge-fd 0
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE

Gäste kommen an vmbr1 mit einer Adresse aus diesem Bereich, 10.10.10.1 als Gateway und dem Resolver Ihrer Wahl. Sie erreichen das Internet als Ihr Server; von außen erreicht sie nichts, es sei denn, Sie erlauben es. Um einen Dienst zu veröffentlichen, fügen Sie neben der Masquerade-Regel eine Weiterleitungsregel hinzu und wählen einen Port, den der Host nicht selbst nutzt:

post-up iptables -t nat -A PREROUTING -i eno1 -p tcp --dport 8443 -j DNAT --to 10.10.10.2:443
post-down iptables -t nat -D PREROUTING -i eno1 -p tcp --dport 8443 -j DNAT --to 10.10.10.2:443

Da diese Bridge keinen physischen Port hat, ist ein DHCP-Server darauf völlig unbedenklich und eine sinnvolle Art, Ihre Gäste zu adressieren.

6

Fügen Sie Ihre IPv6-Adressen hinzu

Ihre IPv6-Zuteilung ist ein Satz einzelner Adressen, kein delegiertes Präfix, das Sie aufteilen können. Sie stehen in derselben Einrichtungs-E-Mail, unter den IPv4-Adressen, und werden einzeln platziert, genau wie IPv4-Adressen: eine auf dem Host, wenn der Host erreichbar sein soll, der Rest auf Gästen. Das Installationsprogramm konfiguriert keine davon.

Konfigurieren Sie jede mit einer Präfixlänge von /64; das Gateway ist das Präfix gefolgt von ::1 — eine Adresse innerhalb von 2001:db8:1234::/64 verwendet also 2001:db8:1234::1. Fügen Sie auf dem Host neben der bestehenden Bridge eine IPv6-Strophe hinzu:

iface vmbr0 inet6 static
    address 2001:db8:1234::2/64
    gateway 2001:db8:1234::1

Und in einem gebridgten Gast:

iface ens18 inet6 static
    address 2001:db8:1234::5/64
    gateway 2001:db8:1234::1

Wenden Sie es wie zuvor mit ifreload -a an. Da die Adressen einzeln sind und kein eigenes Präfix bilden, betreiben Sie keine Router Advertisements und verteilen Sie keine Adressen, die Ihnen nicht zugeteilt wurden. Wenn Sie mehr benötigen, als Sie haben, fragen Sie uns.

7

Setzen Sie Reverse-DNS über Ihr Control Panel

Reverse-DNS können Sie für jede Adresse selbst bearbeiten, ohne Ticket. Melden Sie sich an, öffnen Sie die Seite des Servers und suchen Sie den Bereich Zugang, Netzwerk & rDNS. Dort ist jede Adresse des Kontos mit ihrem aktuellen Eintrag und einer Schaltfläche rDNS bearbeiten aufgeführt. IPv4 und IPv6 funktionieren beide.

Das Formular erwartet einen Hostnamen: nur Buchstaben, Ziffern, Bindestriche und Punkte, jedes Label zwischen 1 und 63 Zeichen, mindestens zwei Labels; den abschließenden Punkt ergänzt es für Sie. Änderungen benötigen einige Minuten, bis sie sichtbar sind.

Wenn die Maschine E-Mails versendet, setzen Sie den Reverse-Eintrag auf die Adresse, von der die Post tatsächlich ausgeht — im obigen Modell mit privatem Subnetz ist das die Adresse des Hosts, nicht die des Gastes — und legen Sie den passenden Forward-Eintrag bei Ihrem eigenen DNS-Anbieter an. Empfangende Mailserver prüfen, ob beides übereinstimmt.

FAQ

Die Fragen, die diese Konfiguration tatsächlich aufwirft.

Mein Gast erreicht nichts. Was ist falsch?

Fast immer das Gateway. Jede Adresse verwendet die .1 ihres eigenen /24, und eine später hinzugefügte Adresse kann in einem anderen Bereich liegen als Ihre primäre, mit einem anderen Gateway. Prüfen Sie, ob die Adresse Ihrem Konto zugewiesen ist, ob die Netzmaske /24 ist und ob die MAC-Adresse des Gastes keine Kopie einer anderen Maschine ist. Vom Host aus beantworten ip -br addr und ip route im Gast alle drei Fragen in wenigen Sekunden.

Muss ich Ihnen die MAC-Adresse jeder virtuellen Maschine mitteilen?

Nein. Ihr Switch-Port begrenzt nicht, wie viele MAC-Adressen er lernt, und Port Security ist darauf nicht aktiviert, sodass ein Gast mit eigener MAC-Adresse wie jede andere Maschine gelernt wird. Belassen Sie die von Proxmox generierte MAC und geben Sie jedem Gast eine eigene.

Warum hat das Installationsprogramm nur eine Adresse konfiguriert?

Weil ein Host, der jede Adresse des Kontos hält, für jede einzelne antworten würde und Ihren Gästen nichts zu nutzen bliebe. Eine Adresse bringt die Maschine ins Netz und macht sie erreichbar; der Rest bleibt Ihnen zur Platzierung überlassen, was die Einrichtungs-E-Mail unter der Adressliste auch sagt.

Sollte ich gebridged oder geroutet verwenden?

Gebridged, sofern Sie keinen bestimmten Grund dagegen haben. Es erfordert keine Änderung am Host, keine besondere Konfiguration im Gast und verhält sich wie eine physische Maschine im Netz. Wählen Sie geroutet, wenn jedes Paket den Host passieren soll, damit dessen Firewall darauf reagieren kann, und nehmen Sie dafür etwas mehr Konfiguration in jedem Gast in Kauf.

Kann ich für meine Gäste einen DHCP-Server betreiben?

Auf einer privaten Bridge ohne physischen Port ja, und es ist eine sinnvolle Art, sie zu adressieren. Niemals auf vmbr0: Diese Bridge liegt an einem echten Netz, das mit anderen Maschinen geteilt wird, und ein DHCP-Server oder ein Router-Advertisement-Daemon dort antwortet für Maschinen, die nicht Ihnen gehören.

Ich habe die Datei geändert und die Maschine verloren. Was nun?

Öffnen Sie die Konsole über Ihr Control Panel. Sie erreicht die Maschine über ihren Management-Controller statt über das Netz und funktioniert daher auch, wenn die Netzwerkkonfiguration es nicht tut. Korrigieren Sie dort /etc/network/interfaces und führen Sie ifreload -a aus. Die Konsole zu öffnen, bevor Sie eine Netzwerkänderung anwenden, ist die Gewohnheit, die sich lohnt.

Wie bekomme ich mehr Adressen?

Fragen Sie uns im Live-Chat oder eröffnen Sie ein Ticket und sagen Sie, wofür jede Adresse gedacht ist — die Registries verlangen für jede Zuweisung einen angegebenen Zweck, das ist also das Erste, was wir benötigen. Zusätzliche IPv4-Adressen werden monatlich auf demselben Konto abgerechnet. Sobald sie zugeteilt sind, erscheinen sie in Ihrem Control Panel und in der Einrichtungs-E-Mail des nächsten Builds.

Brauchen Sie eine Maschine, um dies auszuführen?

Proxmox VE installiert sich auf den meisten unserer dedizierten Server mit einem Klick, mit vollem Root-Zugang, Out-of-Band-Konsole und ohne Lizenzgebühren jeglicher Art.