Proxmox auf einem dedicated Server - Netzwerkkonfiguration

mcdaniels

Member
Feb 1, 2021
44
0
11
48
Hallo liebe Community,
ich will meinen Horizont erweitern (habe Proxmox bislang nicht verwendet) und versuche gerade einen Proxmox-Server wie folgend zu konfigurieren:

Offizielle IP <-> Proxmox <-> PFSENSE <-> LAN

Der Proxmox-Server (laufend auf Basis von Debian 10) ist mit der öffentlichen IP erreichbar. Datastore und VM (in dem Fall pfsense ist eingerichtet).

Ich scheitere aber offenbar am Verständnis bzgl. Netzwerkkonfiguration.

Im Server ist eine NIC installiert, die lt. interfaces folgende Konfiguration hat und direkt am Internet hängt:
Code:
iface enp4s0 inet static
        address 146.x.y.z/32
        gateway 146.x.y.129
        pointopoint 146.x.y.129
        dns-nameservers 62.141.32.5 62.141.32.4 62.141.32.3
        dns-search dus4.servdiscount-customer.com
        post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up iptables -t nat -A PREROUTING -i enp4s0 -p tcp -m multiport ! --dport 22,8006 -j DNAT --to 10.0.0.2
        post-up iptables -t nat -A PREROUTING -i enp4s0 -p udp -j DNAT --to 10.0.0.2



Im virtuellen Netzwerk 10.0.0.x/24 = vmbr1 befindet sich eine pfsense Firewall, die die IP 10.0.0.2 am WAN Port hat.
Code:
auto vmbr1
iface vmbr1 inet static
        address 10.0.0.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        post-up   iptables -t nat -A POSTROUTING -s '10.0.0.0/24' -o enp4s0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/24' -o enp4s0 -j MASQUERADE

Weiters gibt es noch eine vmbr0, die folgende Konfiguration hat:

Code:
auto vmbr0
iface vmbr0 inet manual
        bridge-ports none
        bridge-stp off
        bridge-fd 0


Fragen:
Sind die Interfaces vmbr* als eigene Netzwerkkarten zu sehen, denen man eine IP zu vergeben hat?

Wenn ich nun also vmbr1 mit Adresse 10.0.0.1/24 habe, kann ich VMs erstellen, diesen VMs eine IP aus dem Bereich 10.0.0.0/24 geben und sie müssten sich untereinander "pingen" = sehen können?

Das Routing ist in Proxmox ausschließlich via /etc/network/interfaces und iptables zu steuern?

vmbr0 ist in dem Fall eigentlich enp4s0?

Danke!
 
Sind die Interfaces vmbr* als eigene Netzwerkkarten zu sehen, denen man eine IP zu vergeben hat?
Das sind virtuelle Bridges, also wie ein virtueller Switch. Man kann der Bridge auch eine IP vergeben, dann wäre der Proxmox Host unter der IP für alle Geräte an der Bridge ansprechbar.
Wenn ich nun also vmbr1 mit Adresse 10.0.0.1/24 habe, kann ich VMs erstellen, diesen VMs eine IP aus dem Bereich 10.0.0.0/24 geben und sie müssten sich untereinander "pingen" = sehen können?
Ja.
Das Routing ist in Proxmox ausschließlich via /etc/network/interfaces und iptables zu steuern?
Ja.
vmbr0 ist in dem Fall eigentlich enp4s0?
Vmbr0 ist eigentlich garnichts. Also eine Bridge die zwar Gäste untereinander verbinden kann aber keine Verbindung zu einer echten NIC hat und damit auch kein Zugang zum Internet etc. Wolltest du eine Bridge mit einer NIC verbinden, dann müsstest du das "bridge-ports none" ändern.
 
  • Like
Reactions: mcdaniels
Hallo,
vielen Dank für deine Antwort.

Vmbr0 ist eigentlich garnichts. Also eine Bridge die zwar Gäste untereinander verbinden kann aber keine Verbindung zu einer echten NIC hat und damit auch kein Zugang zum Internet etc. Wolltest du eine Bridge mit einer NIC verbinden, dann müsstest du das "bridge-ports none" ändern.

D.h. ich muss keiner vmbr eine IP geben und kann aber trotzdem ein Routing erstellen?


Ich versuche es gerade so:
vmbr0 hab ich an das physische Interface gebunden und auf dem vmbr0 die statische IP vergeben.
Danach vmbr1 erstellt (für die vms)

Jetzt will ich erreichen dass die vms mal "raus" kommen. Ich hoffe, das mit den iptables & Maskierung geschafft zu haben. (Bin noch am installieren).

Wenn das funktioniert, will ich mich an das "destination nat" machen WAN:25 -> LAN (zb. 10.0.0.5:25)

Code:
auto lo
iface lo inet loopback
iface enp4s0 inet manual
auto vmbr0
iface vmbr0 inet static
        address 146.0.xx.yyy/32
        gateway 146.0.xx.129
        bridge-ports enp4s0
        bridge-stp off
        bridge-fd 0


auto vmbr1
iface vmbr1 inet static
        address 10.0.0.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.0.0.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE
 
Nur als kurzes Update:
nachdem das Maskieren des outgoing-traffic funktioniert. Habe ich nun im Netzwerk "vmbr1" einen Webserver mit der IP 10.0.0.5 aufgesetzt.

Damit dieser Webserver von außen erreichbar ist, verwendete ich iptables für vmbr0 (=öffentliche IP) die alle Anfragen außer Port 8006 und Port 22 auf die 10.0.0.5 weiterleitet. (angelehnt an diverse How-Tos)

Fakt ist: Es funktioniert :)

Code:
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

iface enp4s0 inet manual

auto vmbr0
iface vmbr0 inet static
        address 146.0.xx.yyy/32
        gateway 146.0.xx.yyy
        bridge-ports enp4s0
        bridge-stp off
        bridge-fd 0
        post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp -m multiport ! --dport 22,8006 -j DNAT --to 10.0.0.5
        post-up iptables -t nat -A PREROUTING -i vmbr0 -p udp -j DNAT --to 10.0.0.5

auto vmbr1
iface vmbr1 inet static
        address 10.0.0.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.0.0.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE
 
Noch ein paar Dinge als Update zu meinem Thread.

Der Server läuft einfach perfekt. Ich bin schwer begeistert!

Um die Sicherheit etwas anzuheben habe ich:
Einen weniger privilegierten User zum Einstieg in die Proxmox-Gui angelegt.
Den SSH Rootzugriff abgedreht & einen Standarduser angelegt.
Den SSH Port verschoben, was zumindest die Anzahl der von Scripts durchgeführten Attacken minimieren sollte.
Fail2Ban für SSH installiert (mit Permanentban für IPs)
Den Zugriff auf die Proxmox-Gui nur für 2 meiner IPs (aus dem Internet) erlaubt --> pveproxy
Logwatch installiert, um immer einen Überblick zu haben, was gerade am Server passiert (Logauswertung via Email)
 
Einen weniger privilegierten User zum Einstieg in die Proxmox-Gui angelegt.
Hauptsache den root nicht ganz für die GUI deaktivieren. Mache PVE Optionen im GUI gehen echt nur als root, aber nicht mit einem anderen User der ebenfalls Rootrechte bekommen hat.
 
  • Like
Reactions: mcdaniels

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!