cyborgweasel
Goto Top

Proxmox mit Masquerading aufsetzen

Hallo Leute,

ich experimentiere gerade etwas mit Proxmox. Ich habe einen dedicated Server bei dem ich Proxmox installiert habe (8.2.2). Nun habe ich eine VM aufgesetzt und da ich nur eine feste IP vom Provider zugeteilt bekommen hab (sagen wir die 192.168.1.10/24) wollte ich hier NAT aufsetzen. Meine VM soll die IP 10.10.10.10 bekommen, mit einer Portweiterleitung (Port 80 und 443)
Nach dem ich etwas recherchiert habe, habe ich die netzwerkkonfig wie folgt in /etc/network/interfaces eingetragen:
auto eno1
iface eno1 inet static
        address 192.168.1.10/24
        gateway 192.168.1.1

iface eno2 inet manual

auto vmbr0
iface vmbr0 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  
        post-up   iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 10.10.10.10:80
        post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 10.10.10.10:80
        post-up   iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to 10.10.10.10:443
        post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to 10.10.10.10:443

Nach einem Neustart und dem Setzen der statischen IP in der VM (IP: 10.10.10.10/24, GW: 10.10.10.1, Netzwerkadapter an vmbr0) war ich plötzlich verwundert, dass mein Server heruntergefahren wurde. Etwas recherchiert: Er wurde wegen IP Abuse (Verwendete IP: 10.10.10.1) gesperrt. Der Provider meinte, dass nur Pakete mit der zugewiesenen IP den Server verlassen dürfen.

Meine Frage hier wäre jetzt: Was hab ich hier falsch gemacht? Ich dachte, dass Masquerading gerade dafür sorgt, dass die IP des eno1 Adapters genommen wird und eben nicht die 10.10.10.1?

Danke für eure Unterstützung!

Content-ID: 61392569755

Url: https://administrator.de/contentid/61392569755

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

mrvn1992
mrvn1992 22.08.2024 um 18:08:32 Uhr
Goto Top
Hi, die IP-Adresse des vmbr0 muss zwingend die IP die dir vom Hoster zugeteilt wurde sein.
Für deine VM musst du ein separates Netzwerkinterface anlegen und dieses der VM zuweisen. Bsp. vmbr1

Schaue dir das mal dazu an, ich denke das ist ungefähr was du willst:

https://youtu.be/VCAkkSNG4mM?feature=shared


Gruß

Marvin
CyborgWeasel
CyborgWeasel 22.08.2024 um 18:48:21 Uhr
Goto Top
OK,

ich hab das mal umgesetzt, hab die vmbr0 wieder original zurück gesetzt, eine neue vmbr1 erstellt und dem Video nachempfunden. Es geht aktuell (hab mal noch keine Beschwerde vom Provider face-smile ). Aber dazu hätte ich jetzt noch 2 Fragen:

1.) Warum funktioniert denn folgender Befehl überhaupt:

iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -j MASQUERADE  

Fehlt hier nicht der output-Adapter? -o vmbr0? Woher weiß das system, dass er den Traffic jetzt auf vmbr0 rausschicken soll bzw. mit der IP des vmbr0?

2.) Was ist der Unterschied, ob ich es mit einem "internen" vmbr0 mache und die IP des Providers an eno1 binde oder eben so wie es jetzt ist: vmbr0 mit bridge to eno1, und vmbr1 als internes netz?

Gruß
CyborgWeasel
CyborgWeasel 22.08.2024 um 21:03:52 Uhr
Goto Top
Leider zu früh gefreut, ich bekomme trotzdem noch eine Abuse-Sperre...
Spirit-of-Eli
Spirit-of-Eli 22.08.2024 um 22:05:03 Uhr
Goto Top
Zitat von @mrvn1992:

Hi, die IP-Adresse des vmbr0 muss zwingend die IP die dir vom Hoster zugeteilt wurde sein.
Für deine VM musst du ein separates Netzwerkinterface anlegen und dieses der VM zuweisen. Bsp. vmbr1

Schaue dir das mal dazu an, ich denke das ist ungefähr was du willst:

https://youtu.be/VCAkkSNG4mM?feature=shared


Gruß

Marvin

Moin,

muss es nicht zwingend. Bei z.B. Hetzner muss nur die entsprechende MAC für die Public IP genutzt werden.
Diese darf dann auch z.B. an einer virtuelle Firewall liegen.

Das ist nur ohne zweitem Weg auf den Host oder weiterer Public IP nicht so leicht umsetzbar.

Gruß
Spirit
CyborgWeasel
CyborgWeasel 22.08.2024 um 23:06:13 Uhr
Goto Top
MAC ist hier nicht das Problem, das Problem ist, dass der "Überwacher" wohl irgendwelchen Traffic sieht, der von der 10.10.10.1 kommt. Ich hab auch schon Firewall-Richtlinien gesetzt, die alles ausgehende von 10.10.10.0/24 blocken sollen, aber nö, auch das hat nicht geholfen. Mein Verdacht geht in richtung ARP. ARP wird vermutlich nicht von iptables masquerading abgefangen / umgeschrieben. Ich vermute aber, das ip_forwarding=1 dafür sorgt die ARP Anfragen von 10.10.10.1 auch auf dem netzwerkinterface nach außen abgesetzt werden, kann das jemand bestätigen oder dementieren?

Gruß
Spirit-of-Eli
Lösung Spirit-of-Eli 23.08.2024 um 07:31:58 Uhr
Goto Top
Das ist ja auch vollkommen okay. Der Kollege hat ja auch nur eine IP für einen Host gebucht. (Ohne jetzt den genau Host-Provider zu kennen)
Schlussendlich ist die beste Variante aber immer eine virtuelle Firewall auf dem Proxmox Host. Das biete viele Vorteile. Ich empfehle niemandem einfach so irgend welche Server ins Netz zu hängen.
CyborgWeasel
Lösung CyborgWeasel 23.08.2024 um 12:41:52 Uhr
Goto Top
Das war ja mein Ziel: pfSense sollte hier laufen. Es scheint nur mir Routing/Masquerading nicht ordentlich zu funktionieren. Ich hab mir jetzt eine 2. IP gebucht, damit läuft nun alles sauber. 1x IP für Management vom Server, 1x IP für pfSense. Jetzt hoffe ich nur, dass ich mit den Clients hinter der pfSense nicht das gleiche Problem bekomme.

Gruß
Spirit-of-Eli
Spirit-of-Eli 23.08.2024 um 13:12:02 Uhr
Goto Top
Zitat von @CyborgWeasel:

Das war ja mein Ziel: pfSense sollte hier laufen. Es scheint nur mir Routing/Masquerading nicht ordentlich zu funktionieren. Ich hab mir jetzt eine 2. IP gebucht, damit läuft nun alles sauber. 1x IP für Management vom Server, 1x IP für pfSense. Jetzt hoffe ich nur, dass ich mit den Clients hinter der pfSense nicht das gleiche Problem bekomme.

Gruß

das ist die simple Methode. Du könntest dein Management jetzt auch hinter die Sense konfigurieren. Ist natürlich nicht ganz das gelbe vom Ei.

Aber ansonsten sieht der Provider nix von den Maschinen hinter der Sense.
CyborgWeasel
CyborgWeasel 24.08.2024 um 12:04:39 Uhr
Goto Top
Hatte ich auch schon dran gedacht, aber dann hab ich u.U. irgendwann das Henne - Ei Problem: Tut die PFSense nicht mehr was sie soll, kann ich sie nicht mehr ohne weiteres neustarten, da der VM Host ja nur noch über die VM erreichbar ist. OK, ich hätte noch ILO, macht alles halt nur relativ kompliziert... Ich glaube das ist dann doch etwas zuviel des Guten...

Gruß
aqui
aqui 24.08.2024 aktualisiert um 13:26:51 Uhr
Goto Top
ARP wird vermutlich nicht von iptables masquerading abgefangen...
apt install arptables ist das Zauberwort dafür: face-wink
https://security.stackexchange.com/questions/202270/why-cant-iptables-dr ...
https://linux-audit.com/filtering-arp-traffic-with-linux-arptables/
Jetzt hoffe ich nur, dass ich mit den Clients hinter der pfSense nicht das gleiche Problem bekomme.
Normalerweise nicht...
Pfsense in Proxmox als Router