[SOLVED] Proxmox 2. IP Adresse

LeeXYZ

New Member
Sep 29, 2024
20
1
3
Hey,

Ich habe mir Letzens eine 3. IPv4 Adresse bei meinem Hoster geholt, Denn

Ich benutze derzeit ein vmbr, Problem ist, leite ich die Anfragen auf die VM Weiter, werden IP's Gespeichert die dann so aussehen : 172.16.16.1 z.B das ist nicht so optimal also habe ich mir eine 3. IPv4 Zugelegt, Wie muss ich die jetzt verknüpfen, dass alle anfragen direkt auf die VM Weitergeleitet werden (Windows 22 Server)
 
Hey,

weise der VM als Netzwerkschnittstelle die Bridge zu. Die Bridge muss als Port die physische Schnittstelle des Server zugewiesen haben.
Setze im Betriebssystem der VM die gewünschte IP. Und schon kann die VM mit dieser IP nach außen kommunizieren.
 
Hey,

weise der VM als Netzwerkschnittstelle die Bridge zu. Die Bridge muss als Port die physische Schnittstelle des Server zugewiesen haben.
Setze im Betriebssystem der VM die gewünschte IP. Und schon kann die VM mit dieser IP nach außen kommunizieren.
Okay, also wenn ich sozusagen

enp4s0 als "Standart IPv4" habe,
enp4s1 als "2. IPv4" Für diese VM Haben will, setze ich den einfach bei bridge ports rein?

Weil ich habe ja schon ein vmbr für die anderen vm's die derzeit über die Standart IPv4 laufen,

Und dann will ich ein neues erstellen, und dann kommt dieser fehler:
iface enp4s1 - ip address can't be set on interface if bridged in vmbr1 (500)


Unten ist mal bisschen was angehangen für kontext

1734063401485.png

1734063493307.png
 
Du hast auf enp4s1 eine IP gesetzt. Die IP soll doch aber die VM nutzen, oder?
Daher: keine IP bei enp4s1 => Bridge erzeugen und enp4s1 zuweisen, auch wieder ohne IP-Zuweisung => der VM die Bridge zuweisen => in der VM die IP einstellen.
 
  • Like
Reactions: UdoB
Du hast auf enp4s1 eine IP gesetzt. Die IP soll doch aber die VM nutzen, oder?
Daher: keine IP bei enp4s1 => Bridge erzeugen und enp4s1 zuweisen, auch wieder ohne IP-Zuweisung => der VM die Bridge zuweisen => in der VM die IP einstellen.

Also meine Standart Netzwerkkarte ist enp4s0, diese ist für alle anderen vm's und proxmox selbst DERZEIT!!!

Dann habe ich enp4s1 erstellt, Nachdem ich die Neue IPv4 geholt habe,

Wenn ich Das jetzt so aufbaue: 1734096285349.png

1734096390485.png

Habe ich trotzdem keine netzwerkverbindung auf der vm.
 
Dann habe ich enp4s1 erstellt, Nachdem ich die Neue IPv4 geholt habe,
Was meinst Du denn mit "erstellt"?

Kannst Du mal in der Shell des PVE Host cat /etc/network/interfaces ausführen und die Ausgabe hier posten?
Und dann bitte auch noch qm config <id_der_vm>
 
Naja ich habe einfach in die /etc/network/interfaces

auto enp4s1
iface enp4s1 inet static

hinzugefügt, ich kenne mich mit mehreren ips nicht aus, will es aber unbedingt ausprobieren, bzw. BRAUCHE es sogar für eins meiner projekte

1734104578980.png
1734104631629.png
Ich hab mal paar sachen in der qm config geblurred, weil ich mir nicht sicher war ob die evtl irgendwelche daten leaken
 
Hat der Server denn wirklich zwei Schnittstellen? Einfach eine weitere eintragen, ohne dass sie wirklich existiert, funktioniert nicht.
 
Hat der Server denn wirklich zwei Schnittstellen? Einfach eine weitere eintragen, ohne dass sie wirklich existiert, funktioniert nicht.
Ich denke Tatsächlich nicht..

Wie gesagt bin Jetzt kein profi in Sowas, will/muss es aber ausprobieren/lernen...

WIe könnte ich das den sonst umsetzen?
 
1734118213186.png
Ich hab jetzt selbst auch einfach nochmal so rumprobiert wie ich denke dass es gehen könnte, leider überhaupt kein erfolg,

(vmbr1 = Neue Netzwerkbrücke für Die Einzelne VM)
(.59 = IP)
(.57 = GW)
 
Da musst Du wohl mehrere Sachen gleichzeitig ändern, das geht am einfachsten durch direktes Anpassen der /etc/network/interfaces
Tippfehler können aber dazu führen, dass der PVE Host nicht mehr erreichbar ist und man sich anderweitig aufschalten muss, iKVM oder sowas.

vmbr0: bei den iptables-Einträgen -o enp4s0 durch vmbr1 ersetzen,
vmbr1: anlegen und als bridge port enp4s0 eintragen, die vmbr bekommt deine 1. IP

Könnte so oder so ähnlich dann aussehen.
Code:
auto lo
iface lo inet loopback

iface lo inet6 loopback

auto enp4s0
iface enp4s0 inet manual

auto vmbr0
iface vmbr0 inet static
        address 172.16.16.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 '172.16.16.0/24' -o vmbr1 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '172.16.16.0/24' -o vmbr1 -j MASQUERADE
        up sysctl -w net.ipv6.conf.vmbr0.disable_ipv6=1
        
auto vmbr1
iface vmbr1 inet static
        address <1. IP>
        gateway <ip des gw>
        bridge-ports enp4s0
        bridge-stp off
        bridge-fd 0
 
Da musst Du wohl mehrere Sachen gleichzeitig ändern, das geht am einfachsten durch direktes Anpassen der /etc/network/interfaces
Tippfehler können aber dazu führen, dass der PVE Host nicht mehr erreichbar ist und man sich anderweitig aufschalten muss, iKVM oder sowas.

vmbr0: bei den iptables-Einträgen -o enp4s0 durch vmbr1 ersetzen,
vmbr1: anlegen und als bridge port enp4s0 eintragen, die vmbr bekommt deine 1. IP

Könnte so oder so ähnlich dann aussehen.
Code:
auto lo
iface lo inet loopback

iface lo inet6 loopback

auto enp4s0
iface enp4s0 inet manual

auto vmbr0
iface vmbr0 inet static
        address 172.16.16.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 '172.16.16.0/24' -o vmbr1 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '172.16.16.0/24' -o vmbr1 -j MASQUERADE
        up sysctl -w net.ipv6.conf.vmbr0.disable_ipv6=1
      
auto vmbr1
iface vmbr1 inet static
        address <1. IP>
        gateway <ip des gw>
        bridge-ports enp4s0
        bridge-stp off
        bridge-fd 0

Da ich sowas einfach gerne ausführlich erklärt hab bevor ich fehler mache, Also mit 1. IP In der vmbr ist dann sozusagen Die Dazugebuchte IPv4 Oder die Standart-IP Die ich davor schon hatte gemeint?

Ich Versuche ja eine Neue IPv4 Auf eine VM Aufzuschalten,

Die vmbr0 adresse ist z.B auch nur intern das ist keine reale,

ich checke selber nicht wie das geht, dass die vmbr0 dann auf die 1. IPv4 aber ich akzeptiere es, und beschwere mich mal lieber nicht

Und enp4s0 Ist die Standart Netzwerkkarte soweit ich dass weiß also die sollte physisch sein.

Leider ist Der node Auf dem ich die Aktionen gerade vornehmen möchte nicht online, aber die IPTables sehen dort so gerade aus:


*EDIT:
Ich konnte den node wieder erreichen, dass sind nun die richtigen iptables rules

Code:
# Generated by iptables-save v1.8.9 on Fri Dec  6 13:58:51 2024
*raw
:PREROUTING ACCEPT [17815:4313991]
:OUTPUT ACCEPT [16391:3078257]
COMMIT
# Completed on Fri Dec  6 13:58:51 2024
# Generated by iptables-save v1.8.9 on Fri Dec  6 13:58:51 2024
*filter
:INPUT ACCEPT [213:48104]
:FORWARD ACCEPT [1:40]
:OUTPUT ACCEPT [196:31344]
-A INPUT -i vmbr0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A FORWARD -s 172.16.16.0/24 -o enp4s0 -j ACCEPT
-A FORWARD -i vmbr0 -o enp4s0 -j ACCEPT
-A FORWARD -i enp4s0 -o vmbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o vmbr0 -p icmp -m icmp --icmp-type 0 -j ACCEPT



-A INPUT -s NEUE_IPV4/29 -j ACCEPT
-A INPUT -i vmbr1 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A FORWARD -s NEUE_IPV4.0/29 -o enp4s0 -j ACCEPT
-A FORWARD -s NEUES_IPV4_GW/29 -o enp4s0 -j ACCEPT
-A FORWARD -i vmbr1 -o enp4s0 -j ACCEPT
-A FORWARD -i enp4s0 -o vmbr1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d NEUE_IPV4/29 -j ACCEPT
-A OUTPUT -o vmbr1 -p icmp -m icmp --icmp-type 0 -j ACCEPT




COMMIT
# Completed on Fri Dec  6 13:58:51 2024
# Generated by iptables-save v1.8.9 on Fri Dec  6 13:58:51 2024
*nat
:PREROUTING ACCEPT [36:2461]
:INPUT ACCEPT [2:100]
:OUTPUT ACCEPT [3:180]
:POSTROUTING ACCEPT [8:392]
-A POSTROUTING -s 172.16.16.0/24 -o enp4s0 -j MASQUERADE
-A POSTROUTING -s 172.16.16.0/24 -o enp4s0 -j MASQUERADE
-A POSTROUTING -o vmbr0 -j MASQUERADE
-A POSTROUTING -s NEUES_IPV4_GW/29 -o enp4s0 -j MASQUERADE
-A POSTROUTING -s NEUES_IPV4_GW/29 -o enp4s0 -j MASQUERADE
-A POSTROUTING -o vmbr1 -j MASQUERADE
COMMIT
# Completed on Fri Dec  6 13:58:51 2024
 
Last edited:
Da ich sowas einfach gerne ausführlich erklärt hab bevor ich fehler mache, Also mit 1. IP In der vmbr ist dann sozusagen Die Dazugebuchte IPv4 Oder die Standart-IP Die ich davor schon hatte gemeint?
1. IP bei vmbr1 meint die erste IP, die Du von Deinem Hoster bekamst. Aktuell ist sie noch an enp4s0 gebunden.

Die 2. IP, die Du dazugebucht hast, setzt Du direkt in der VM ein,so wie Du es in dem Screenshot schon gezeigt hast.
 
1. IP bei vmbr1 meint die erste IP, die Du von Deinem Hoster bekamst. Aktuell ist sie noch an enp4s0 gebunden.

Die 2. IP, die Du dazugebucht hast, setzt Du direkt in der VM ein,so wie Du es in dem Screenshot schon gezeigt hast.
Hey, Also

Ich brauche halt diese 172.16.16.? IP's also praktisch interne ip's würde ich sie nennen weil ich derzeit nur 2 ips besitze, 1x Die Standart die gerade auf das enp4s0 gebindet ist, 1x Die Dazugebuchte IPv4,

und praktisch alle vms bekommen eine 172.16.16.? ip adresse, Die ich dann auf die 1. IP Route mit iptables, NUR Bei der 2. IPv4 Soll es so sein dass diese praktisch direkt auf die vm leitet und nicht geforwardet wird,

Außer dir ist evtl. eine andere idee bekannt wie ich Dafür sorgen kann dass Wenn mein Server eine Connection von einem user bekommt, die IP Des users an den server nicht als 172.16.16.1 (Gateway der internen ip) weitergegeben wird,

Ich betreibe halt einen ragemp server und das sieht dann wie folgt aus:

User Connected über 1.IPv4:PORT (IP des users z.B 93.10.12.25) => Connection geht an Proxmox Node => Wird weitergeleitet an ragemp VM => VM Empfängt ip 172.16.16.1 (Gateway der internen ip) anstatt 93.10.12.25


Ich hoffe das versteht man so
 
Ich brauche halt diese 172.16.16.? IP's also praktisch interne ip's würde ich sie nennen weil ich derzeit nur 2 ips besitze, 1x Die Standart die gerade auf das enp4s0 gebindet ist, 1x Die Dazugebuchte IPv4,

und praktisch alle vms bekommen eine 172.16.16.? ip adresse, Die ich dann auf die 1. IP Route mit iptables, NUR Bei der 2. IPv4 Soll es so sein dass diese praktisch direkt auf die vm leitet und nicht geforwardet wird,
Ja.
Kleinigkeit: die VM mit IP 172.16.16.? werden nicht mittels iptables geroutet, sondern iptables ersetzt die IP, damit das Weiterleiten der Pakete (Routing) wie gewünscht funktioniert.

Das zweite geht bestimmt, mit der passenden iptables-Regel. Ich weiß aus dem Stegreif aber nicht wie. Gibt ja zum Glück im Netz reichlich Erklärungen zu iptables, z. B. hier: https://gist.github.com/tomasinouk/eec152019311b09905cd
 
Ja.
Kleinigkeit: die VM mit IP 172.16.16.? werden nicht mittels iptables geroutet, sondern iptables ersetzt die IP, damit das Weiterleiten der Pakete (Routing) wie gewünscht funktioniert.

Naja bedeutet dass jetzt dass ich es trotzdem mal mit ungefähr der netzwerkconfig versuchen kann die Du Geschickt hattest?

Ich schaue mir mal das 2. An, Jedoch habe ich bis jetzt nur kurz in die git page reingeschaut und schon nix verstanden, aber ich versuche mich mal damit auseinander zu setzen...
 
Sollte funktionieren. Wenn nicht, brauchst Du aber einen anderen Weg, um auf die Shell des PVE Host zuzugreifen.
 
Ich benutze derzeit ein vmbr, Problem ist, leite ich die Anfragen auf die VM Weiter, werden IP's Gespeichert die dann so aussehen : 172.16.16.1

Hat das noch keiner hinterfragt? Wenn ich VMs (und Container) über die Bridge an mein Hausnetz anschließe, bekommen sie eine IP aus dem Hausnetz bzw. (VLAN aware Bridge) aus dem jeweiligen VLAN.

Wo siehst du denn diese IPs? Auf den VMs (ip a show) oder in den Protokollen von darauf laufenden Webservern, die möglicherweise als Docker Container laufen oder via Reverse Proxies angesprochen werden?

Und bitte - es heißt Standard, nicht Standart.
 
Hat das noch keiner hinterfragt? Wenn ich VMs (und Container) über die Bridge an mein Hausnetz anschließe, bekommen sie eine IP aus dem Hausnetz bzw. (VLAN aware Bridge) aus dem jeweiligen VLAN.

Wo siehst du denn diese IPs? Auf den VMs (ip a show) oder in den Protokollen von darauf laufenden Webservern, die möglicherweise als Docker Container laufen oder via Reverse Proxies angesprochen werden?

Und bitte - es heißt Standard, nicht Standart.
Hey,

Hat das noch keiner hinterfragt? Wenn ich VMs (und Container) über die Bridge an mein Hausnetz anschließe, bekommen sie eine IP aus dem Hausnetz bzw. (VLAN aware Bridge) aus dem jeweiligen VLAN.
Naja, Wie gesagt, Ich bin leider kein profi, die hälfte von diesem Satz habe ich leider nicht wirklich verstanden, Ich befasse mich gerade mit proxmox und versuche mich da ran zu tasten, Ich hoffe mir antwortet jetzt keiner mit dem kindischen satz dass ich schon wissen sollte was ich da tue, Das stimmt möglicherweise, jedoch wie soll ich denn wissen was ich tue wenn ich es nie lerne (Solche Sätze bekomme ich oft bei anderen communities)

Wo siehst du denn diese IPs? Auf den VMs (ip a show) oder in den Protokollen von darauf laufenden Webservern, die möglicherweise als Docker Container laufen oder via Reverse Proxies angesprochen werden?
Naja wenn ich z.B Eine Debian Installation tätige, Dann Gebe ich dort einfach eine ip an also z.B 172.16.16.12 Und benutze diese dann Über IPTables um zb. PublicIP:25565 (z.B MC-Server) auf Die VM Aufzuschalten oder wie man das nennt


Endergebnis
Ich konnte das Problem jetzt im endeffekt durch ein bisschen selber rumtesten, Und auch wenn das Manche Ungern Hören wollen... Mit ChatGPT Lösen,

Ich habe oft die Nachricht bekommen "Ja eine IPv4 für Proxmox und die VM's zu benutzen ist unsicher" Das stimmt wohl, Jedoch bin ich nicht reich und kann mir keine 20 IP's leisten für meine server, (Nur falls das mal aufkommt wieso ich das so mache)


Ich möchte trotzdem @fba danken für den Versuch mir zu helfen.

Grüße
Lee.
 
  • Like
Reactions: fba
"Ja eine IPv4 für Proxmox und die VM's zu benutzen ist unsicher"

Das mag sein, aber Minecraft Server im Internet anzubieten, die man durch „Ausprobieren“ via iptables erreichbar macht ist auch unsicher.

Aber ich habe jetzt verstanden, dass dein Proxmox Host eine public IPv4 hat, über welche Du Dienste auf deinen VMs erreichbar machen möchtest. Die VMs verwenden non-public IPs und dann müssen natürlich NAT oder ein Proxy (HAProxy, Caddy oder Traefik) auf dem Host eingesetzt werden.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!