IPv4 Adressen werden knapp und eigentlich sollte man sich bereits auf das IPv6 Internet Protokoll vorbereiten und einsetzen. Jedoch, viele nutzen noch das veraltete IPv4 Internet Protokoll. Aber wie ist es möglich das man bei manchen Provider wie noez.de, noch für gerade mal einen sehr geringen Preis, so viele IPv4 Adressen bekommt? Na gut im Endeffekt dachte ich mir nicht viel bei und da ich eben gerne Virtualisiere, nutze ich das Produkt im vollem und ganzen. 🙂
Informationen zum Beitrag
Es ist keine Bezahlte Werbung oder sonstige Anfragen die ich hier beschreibe. Dies ist von eigener Entscheidung geschrieben worden und habe selbst auch dafür investriert.
Ich habe mir für meine Private Nutzung ein /27 IPv4 Subnetz gekauft und erhalte dafür Zugang für einen GRE Tunnel und kann dann via Proxmox mit den IP-Adressen los Virtualisieren. Dabei habe ich einen GRE-Tunnel aufgebaut mittels GRE-Tap Modus. Auch hier werde ich von meiner Konfiguration ein paar Ausschnitte zeigen und wie man dies Umsetzen tut.
1. GRE-Tunnel Verbindung herstellen
Auch das nachträgliche updaten seiner Server IP-Adresse ist jederzeit und auch ohne Supportanfrage möglich. Auch eine API für das updaten der jeweiligen Einträge sind auch vorhanden.
2. Wie nutze ich die GRE IP-Adressen in Proxmox?
Methode 1: Mittels den Web-Installer von Server-Verstehen
Methode 2: Manuelle Einrichtung
!! Achtung !!
Bitte beachtet das man in jedem Container die Netzwerk MTU anpassen muss auf: 1476 – Für Layer 3. Ansonsten kommt es zu einbrüchen der Geschwindigkeiten oder Abfragen. Zudem sollte der GRE neu konfiguriert worden sein, bitte dann falls der Container trotz richtiger Haupt Config kein Internet bekommt, dann die Mac Adresse der VM neu generiert. Manchmal ist dann nach der neuen Mac Generierung innerhalb der VM ein Netzwerk restart notwendig. Das macht Ihr mit den unteren Befehl.
Update:
LXC übernimmt immer mit der Bridge die passende MTU aber VM Maschienen nicht, bitte setzt also unter z.B VM Maschienen immer die passende MTU 1476.
Diese könnt Ihr auf erweiterte Einstellungen, eintragen unter Netzwerk -> Erweitert -> MTU
# Für /root/gre.sh
#!/bin/bash
ip tunnel add gre1 mode gre local {{Deine-Öffentliche-Server-IP}} remote {{ Noez GRE Peer Adresse }} ttl 255
ip addr add {{Lokales-GRE-Netz}}/30 dev gre1
ip link set gre1 up
ip route add default via {{ Gateway-GRE-IP - Am besten im Noez Code einsehbar - Code ist hier wie ähnlich nur IP-Adresse daraus kopieren }} dev gre1 table 20
ip rule add from {{ Deine-Noez-GRE-IPs }}/32 table 20 #subnetz hier definieren
ip route add {{ Deine-Noez-GRE-IPs }}/32 # Subnetz hier definieren
# Bitte nun die Rechte setzen für das Skript.
chmod 777 /root/gre.sh
Hier ein kleines Skript worüber man die Setups vorschreibt und dies teils mit der Netzwerkconfig: /etc/network/interfaces vermischt. Dabei tragen wir zuerst bei local die aktuelle Server IP-Adresse ein und bei remote die von Noez. Dabei muss natürlich das Skript die von euch zugewiesenen Daten von noez angepasst werden. Auch könnt Ihr meine Netzwerk Beispiele nicht nur für noez verwenden, sondern könnt diese frei anpassen und auch für euch nutzen 🙂
auto vmbr2
iface vmbr2 inet manual
address {{Simulated-Subnetz-IP}}# z.B 5.230.x.1
netmask 32 # subnetz hier definieren
bridge_ports none
bridge_stp off
bridge_fd 0
pre-up /root/gre.sh
post-up ip link set vmbr2 mtu 1476
post-down ip link set dev vmbr2 down
post-down ip link del vmbr2
#noez-gre
sudo service networking restart
3. IPv4-Forward aktivieren
Damit wir auch für unsere VMs die IPv4 Adressen weiterleitung vom Host nutzen können, muss entsprechend in der Config /etc/sysctl.conf folgendes aktiviert werden.
sudo sysctl -p
Jetzt nur noch mit dem folgenden Befehl übernehmen und das IPv4 Forwarding ist nun aktiv.
Jetzt kann es losgehen!
In diesem Beispiel wäre der Gateway die erste Haupt IP-Adresse von vmbr2. Mit folgendem Befehl können wir zur Sicherheit die Haupt zugewiesene IPv4 Adresse von unserer Linux Brücke herausfinden.
Info: Bei der Simulierten Gateway IP der vmbr2 Bridge einfach immer die Öffentliche Noez-IP und dann den gesetzten vmbr2 lokalen Gateway 5.230.x.1 setzen unter Gateway oder in der virtuellen VM. Natürlich nehmen wir eine Gateway IP die wir als Lokal setzen, dabei bleibt aber der GRE Tunnel ungestört. Wir haben damit den Vorteil, dass wir damit die erste IPv4 sparen und nutzen können für die Virtualisierung.
Denn: vmbr2 ist eine Brücke zum Host dabei ist es egal was man Lokal /32 setzen tut. Aber am besten immer identisch mit dem Subnetz bleiben 🙂
Fazit
Ich bin sehr überrascht das man noch gute IPv4-Adressen Preise bekommen kann. Auch das GRE mit dem richtigen Setup schnell eingerichtet ist macht das ganze einfach flexibler. Natürlich werde ich noch ein Größeres GRE-Tunnel Tutorial verfassen denn meine Forschungen in diesem Bereich sind noch lange nicht beendet. 🙂
Dieser Beitrag wurde am 12.04.2024 aktualisiert
11 Antworten
Hi ich hab alles so gemacht wie beschrieben aber bekomme keine verbindung von extern zum LXC Container mit der 1. GRE IP-Adresse.
Ich habe Folgene IPs bekommen 5.230.x.128-143
128 ist auf VMBR2 eingerichtet und 129 auf der vm aber keine verbindung.
Hallo Phillip 🙂
Ja wir sind gerade an der Lösung dran, ein erweitertes Tutorial über GRE ist geplant.
Da habe ich vor vieles zu erklären und dann zudem auch verständlich. Ich bin da gerade am Forschen und habe dies bereits auf Twitter angekündigt das dass Tutorial in kürze erscheint.
Ich danke dir für die Rückmeldung ich bin daran bereits am arbeiten 🙂
Liebe Grüße Jan 🙂
Ahh Cool Vielen dank.
Kannst du schon Ungefähr Sagen wann genau dass Tutorial erscheint? XD
Weil ich hab den GRE Tunnel schon am laufen und mein Proxmox Node bei Hetzner läuft auch.
Ich kann dass zwar alles erstmal über n Internes Netz lösen dass ist ja aber keine Dauerhafte lösung ^^
Grüße
Ich bin mit Hochdruck dran am sitzen 🙂
Ich weiß was mir erst später aufgefallen ist, dass die Bridge nicht richtig funktioniert. Ich habe gerade noch im Tests ein GRE Routing mit Wireguard gemischt wegen GRE Protokoll weiterleitung um Hausroutern und deren Firewall zu umgehen. Somit das man eben seine eigene Online Firewall hat 🙂 Ich kann dir aber versichern das dass nächste GRE Tunnel Tutorial umfangreich sein wird da ich gerade verschiedene Methoden teste die es so in der einfachen Form glaube ich nicht einfach im Internet zu finden sind. Auch Manuelle Anleitungen zum lernen und Skripte zur automatischen Einrichtung sind mit am Bord 😉
Ganz einfach
128 ist die Netzadresse und damit nicht nutzbar
143 ist die Broadcast Adresse und damit ebenfalls nicht nutzbar
Du musst der Bridge die 129 geben und deinen VMs / LXCs kannst du dann 130-142 vergeben
Ich habe das auf meinem Proxmox Host durchgeführt. Hat auch soweit funktioniert, bis ich den Proxmox Host eben rebootet habe. Gibt es eine Möglichkeit die Konfiguration dauerhaft zu hinterlegen?
Hallo Julian 🙂
Normalerweise trägst Du alle Daten in /root/gre.sh ein.
Erstellst dann eine Linux Bridge der auch gre.sh ausführt.
Damit soll bei jeden Reboot in der gre.sh enthaltenen Daten mit gesetzt werden.
Bitte beachte auch dass gre.sh Rechte von 777 besitzt.
Dies vergibst Du im Endeffekt so: chmod 777 /root/gre.sh 🙂
Falls Du noch fragen hast oder hilfe brauchst so schreibe hier gerne nochmal 🙂
Auch auf Discord können wir via Screen Sharing uns das ganze einmal anschauen: rawnetworks (Einfach als Freund adden 🙂 ).
Liebe Grüße Jan 🙂
Ich hab das mit dem Webinstaller gemacht, bei mir gibt es also keine /root/gre.sh, es gibt nur die Noez.sh in /root und diese wird nach 1 Stunde, wenn die Session im Webinstaller abgelaufen ist unbrauchbar, da dort die „Variablen“ (also das was man in die Felder im Webinstaller eingibt) über den API Key geladen werden, die ja dann nicht mehr auf dem API Server da sind, wenn die Session abgelaufen ist.
Man müsste also den Inhalt von der Noez.sh so umschreiben, dass man die Variablen durch statische Einträge ersetzt, bzw. die Möglichkeit hat vor dem Code die Variablen zu definieren (so z.B. irgendwie $bridge= vmbr2; ) und diesen Script-Code vor exit 0 in die /etc/rc.local packen.
Ich hoffe du verstehst was ich meine 🙂
Hallo Julian 🙂
Ja ich werde das Skript innerhalb des Webinstallers einmal verbessern.
Dann würde bei jeder neuen Einrichtung über den Webinstaller alles auch mit Autostart etc. eingerichtet.
Tatsächlich wollte ich die V2 des Webinstallers releasen aber ich kam nicht direkt dazu da ich noch auch andere Projekte offen hatte.
Aber ich schaue mal wann ich Zeit finde 🙂
Liebe Grüße Jan
Leider funktioniert der webinstaller nicht mehr, und auch dein E-Mail server nicht das man dir ne Nachricht hinterlassen kann xD
Hey,
haben wir ja bereits im Discord besprochen 🙂
Sollte jetzt wieder funktionieren 😉
Wir hatten ja Virtualisierung und Routing Probleme auf diesem Host zuletzt gehabt.
Deswegen habe ich das ganze vorhin nochmal um migriert.
Ich entschuldige mich hierfür.
Liebe Grüße Jan