2 ips 1 auf host 1 auf guest

seder001

New Member
Jul 21, 2024
14
1
3
Hallo zusammen,

ich habe einen Server und dort Proxmox installiert.
Hier habe ich mir 2 externe IPs geholt.

Nun wollte ich eine externe IP auf den Host und eine externe IP auf guest packen.

Code:
auto lo
iface lo inet loopback

iface lo inet6 loopback

auto eth0
iface eth0 inet static
    address 188.x.x.6/24
    gateway 188.x.x.1

auto eth1
iface eth1 inet static
    address 188.x.x.4/24
    gateway 188.x.x.1
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.10/24
    bridge-ports eth1
    bridge-stp off
    bridge-fd 0

Nun kann ich die 4 anpingen, aber nicht über ssh einloggen.
vmbr0 verwende ich als bridge für den guest.

Hat jemand eine Idee?

Viele Grüße,
Serdar
 
Mit der aktuellen Konfiguration hast du zwei IP-Adressen im selben Netzwerk, was nicht funktioniert. Du solltest für vmbr0 eine einzelne IP-Adresse konfigurieren. Wenn es hardwaretechnisch möglich ist, wäre es sinnvoll, die beiden Netzwerkkarten als Bond zu konfigurieren, wie hier beschrieben [1]. Anschließend kannst du der virtuellen Maschine die zweite IP-Adresse zuweisen.

[1] https://pve.proxmox.com/wiki/Network_Configuration#sysadmin_network_bond
 
Hallo @thefu21 danke für die Antwort.
Ob es hardwaretechnisch möglich ist, muss ich noch prüfen.

Mein Problem besteht aktuell darin, dass ich zwar mit beiden Servern den Host erreiche, aber eine IP soll direkt auf die VM gehen.
Wie problematisch wäre es, wenn die beiden im selben Netzwerk liegen würden?
 
Proxmox Host:
Code:
auto lo
iface lo inet loopback

iface lo inet6 loopback

iface eth0 inet manual

iface eth1 inet manual

auto vmbr0
iface vmbr0 inet static
    address 188.x.x.4/24
    gateway 188.x.x.1
    bridge-ports eth1
    bridge-stp off
    bridge-fd 0

auto vmbr1
iface vmbr1 inet static
    address 192.168.1.10/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 '192.168.1.0/24' -o vmbr0 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE
    #Hier Bond nach möglichkeit hinein

VM an vmbr0
Code:
auto lo
iface lo inet loopback

iface eth0 inet manual

auto vmbr0
iface vmbr0 inet static
    address 188.x.x.6/24
    gateway 188.x.x.1
    bridge-ports eht0
    bridge-stp off
    bridge-fd 0

So verstehe ich das: Du verbindest die VM mit vmbr0 und weist ihr die IP-Adresse .6 zu. Auf diese Weise erhältst du ein privates Netzwerk im Bereich 192.168.1.0, an das du weitere VMs anschließen kannst. Diese VMs haben Zugang zum Internet, bleiben jedoch nicht direkt öffentlich zugänglich.
 
Ich möchte eigentlich sowas:
Der Proxmox Server wird viele IPs erhalten und jede der IPs soll direkt auf die VMs, denn diese sollen Domains erhalten und Webseiten ausliefern, darum müssen sie auch von Außen erreichbar sein.
proxmox_multi_ip.png
 
Du könntest einen Reverse Proxy verwenden aber so lange die IP's im selben subnet sind sollte es doch mit meinem Setup gehen
 
An ein reverse Proxy hatte ich auch gedacht, aber wieso klappt das nicht, wie ich es mir vorstelle?
Wenn ich deine Lösung, dann ist der Server nicht mehr erreichbar und ich muss in den recovery modus und alles rückgängig machen.
 
Wäre es nicht möglich die Karte einfach durchzureichen, so wie man bei virtualbox usb sticks durchgereicht hat?
In dem fall wäre die Karte und die IP immer miteinander verbunden und die VM würde nur mit dieser IP erreichbar sein, oder denke ich hier wieder falsch?
 
Mit dieser Config scheine ich die VM erreichen zu können (kann ich nur nicht bestätigen, da ich kein openssh isntalleiren kann) aber ich komme nicht raus "Destination Host unreachable"

PROXMOX
Code:
auto lo
iface lo inet loopback

iface lo inet6 loopback

auto eth0
iface eth0 inet static
    address 188.xxx.38.6/24
    gateway 188.xxx.38.1

auto eth1
iface eth1 inet static
    address 188.xxx.25.4/24
   
auto vmbr0
iface vmbr0 inet static
    address 192.168.1.2/26
    bridge-ports eth1
    bridge-stp off
    bridge-fd 0
    post-up echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up iptables -t nat -A POSTROUTING -s '188.xxx.25.4/32' -o eth1 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '188.xxx.25.4/32' -o eth1 -j MASQUERADE
    post-up iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1  
    post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1

VM
Code:
auto lo
iface lo inet loopback
iface lo inet6 loopback

auto ens18
iface ens18 inet static
address 192.168.1.10/26
gateway 192.168.1.2
 
Last edited:
Ich drehe mich aktuell im Kreis.
Code:
auto lo
iface lo inet loopback

iface lo inet6 loopback

auto eth0
iface eth0 inet static
        address 188.xxx.38.6/24
        gateway 188.xxx.38.1

auto eth1
iface eth1 inet manual

auto vmbr0
iface vmbr0 inet static
        address 188.xxx.25.4/24
        bridge-ports eth1
        bridge-stp off
        bridge-fd 0
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward

auto vmbr1
iface vmbr1 inet static
        address 192.168.1.2/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
        #post-up iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE
        #post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE
        post-up iptables -t nat -A POSTROUTING -s '188.xxx.25.4/32' -o vmbr0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '188.xxx.25.4/32' -o vmbr0 -j MASQUERADE
        #post-up iptables -A FORWARD -i eth1 -o vmbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
        #post-down iptables -D FORWARD -i eth1 -o vmbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
        #post-up iptables -A FORWARD -i vmbr0 -o eth1 -j ACCEPT
        #post-down iptables -D FORWARD -i vmbr0 -o eth1 -j ACCEPT
        post-up iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1
        post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1
ich komme weder drauf noch raus...
 
Danke @ThoSo, genau das möchte ich ja und mühe mich hier ab.

Der Host bekommt die IPs auf eth1 und eth0
Und diese möchte ich weiterreichen an die VMs, wie im Bild beschrieben.
 
Dann teste das doch mal so (default!):

iface eth0 inet manual

iface eth1 inet manual

auto vmbr0
iface vmbr0 inet static
address 188.xxx.25.4/24
gateway xxx.xxx.xxx.xxx
bridge-ports eth0 eth1
bridge-stp off
bridge-fd 0

auto vmbr1
iface vmbr1 inet manual
bridge-ports none
bridge-stp off
bridge-fd 0
#internes netz

bei der vmbr0 / Bridge Ports: ich habe hier mal beide Adapter (bound) eingetragen, sonst nur eth0
Der VM gibst du die öffentliche Adresse (statisch) und das dazu gehörende Gateway.
Dann sollte das gehen auch mit ssh (Server, Firewallregel, User).
 
@ThoSo verstehe ich das richtig, meine IP für den Host wäre dann vmbr0, die IP vom Host wäre dann die 25.4 und auf der 1. VM trage ich die .38.6 IP ein und den Gateway von vmbr0?

Wozu brauche ich dann die vmbr1, die klingt überflüssig, was mache ich, wenn ich mit einer weiteren IP mit einer weiteren Netzwerkkarte erhalte, muss ich dann die die eth2 auch an die bond klemmen?

Muss ich der VM auch beide bridges zuweisen oder reicht nur vmbr0?
 
Last edited:
Ich habe das jetzt genau so gemacht.
auf Proxmox
Code:
auto lo
iface lo inet loopback

iface lo inet6 loopback

iface eth0 inet manual
iface eth1 inet manual

auto vmbr0
iface vmbr0 inet static
        address 188.xxx.38.6/24
        gateway 188.xxx.38.1
        bridge-ports eth0 eth1
        bridge-stp off
        bridge-fd 0

auto vmbr1
iface vmbr1 inet manual
        bridge-ports none
        bridge-stp off
        bridge-fd 0
Auf der VM1
Code:
auto lo
iface lo inet loopback

auto ens18
iface ens18 inet static
    address 188.xxx.25.4
    gateway 188.xxx.38.1
Doch egal, was ich von VM1 anpinge ich erhalte Destination Host Unreachable
 
und aus irgendeinem Grund ist der komplette Host nicht mehr erreichbar, wenn ich nur den Proxmox rutnerfahre
 
Die Adresse 188.xxx.25.4 befindet sich nicht im Netzwerk 188.xxx.38.0/24, und in der VM fehlt der CIDR-Anhang.
 
Ich hatte irgendwoe gelesen, dass ich auf der VM das Gateway von der vmbr vom Host eintragen sollte, aber ich habe das jetzt auf
188.xxx.25.4/24
188.xxx.25.1
geändert und es klappt trotzdem nicht.

Meine Vorstellung war, dass ich am Ende vom Server4you 4 Netzwerkkarten bekomme und je 4 IPs
eth0 sollte die IP vom Host erhalten und eth1 - 2 die IPs von den VMs 1-3

Nun wollte ich diese direkt an die VM weiterreichen, aber irgendwie ist das nicht so einfach als gedacht.
 
Dann erstelle eine Bridge z.B. vmbr1 gib ihr als Interface Nic 2 und keine Addresse/Gateway die Bridge gibst du VM1 und in VM1 konfigurierst du dann IP und GW

So ungefähr:

PVE
Code:
auto vmbr0
iface vmbr0 inet manual
        address xxx.xxx.xxx.xxx/xx
        gateway xxx.xxx.xxx.xxx
        bridge-ports <NIC>
        bridge-stp off
        bridge-fd 0

auto vmbr1
iface vmbr1 inet manual
        bridge-ports <NIC>
        bridge-stp off
        bridge-fd 0

VM1 an vmbr1
Code:
auto eth0
iface eth0 inet static
        address 188.xxx.25.4/24
        gateway 188.xxx.25.1

mit dem Setup hat deine vm dann 188.xxx.25.4 als ip und für PVE musst du die Adresse von vmbr0 anpassen.
nach den änderungen musst du die config mit
Code:
ifreload -a
neu laden
 
Last edited:
Ich habe das jetzt so gemacht, dennoch klappt das nicht.
PVE
Code:
auto lo
iface lo inet loopback

iface lo inet6 loopback

auto eth0
iface eth0 inet static
        address 188.xxx.38.6/24
        gateway 188.xxx.38.1

#auto eth1
iface eth1 inet manual
#       address 188.138.25.4/24

auto vmbr1
iface vmbr1 inet manual
        bridge-ports eth1
        bridge-stp off
        bridge-fd 0
VM1
Code:
auto ens18
iface ens18 inet static
        address 188.xxx.25.4/24
        gateway 188.xxx.25.1
habe es auch mit der 10.0.1.8 probiert und auch ohne, das ich den ethX eine IP zuweise, aber das klappt alles nicht.

Vielen lieben Dank für eure Hilfe, aber entweder ist das was ich mir vorstelle zu kompliziert oder ich zu blöd, kA.
Ich werde mir nun 3 Virtuelle Server bestellen, bei Server4you oder IONOS kA, aber so komme ich nicht weiter.
 

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!