Willkommen zu diesem Tutorial! 🙂
Heute beschäftigen wir uns mit dem Thema was genau VLANs sind und wie man mit Proxmox zusammen ein Routing zu den VLANs herstellen und damit virtualisieren kann. Zudem gibt es noch Routing Tipps wie man z.B eigene Firmennetzwerke damit erstellen, isolieren und auf bestimmte weise nutzen kann.
Zum Einsatz kommt der TP-Link TL-SG108PE mit integrierter VLAN Unterstützung.
Was ist ein VLAN und wofür wird dies angewendet?
Mit einem VLAN (Virtual Local Area Networks) ist es möglich, mehrere Netzwerke zu isolieren, zu erstellen und bietet viele Vorteile. Für mich persönlich die Einsparung von Netzwerkkarten da ich mit VLANs bestimmte Netzwerke unterteilen bzw. Taggen kann. Im Endeffekt kann ich diese erweiterte Routing und Netzwerk Methode jedem ans Herz legen. Deswegen auch das vereinfachte Tutorial für das VLAN Setup für Proxmox und Linux 🙂
1. So erstellst Du ein VLAN im TP-Link Switch
Den Proxmox Host habe ich hier auf Tagged gesetzt und genauso auch den Linux Gateway auf Tagged.
2. VLAN Netzwerkkonfiguration für Proxmox Bridge
Hier ist einmal meine Netzwerkkonfiguration für meine Proxmox Bridge. Mein Lan Port wurde in Linux als enp3s0 gekennzeichnet und dieser unterscheidet sich zu eurer also bitte vorher zu eurer Netzwerkkarte umbenennen. Darauf folgt .30 also mit . => Kennzeichnen wir unsere eindeutige VLAN ID die auch für den Server zugewiesen wurde. Solltet Ihr also eine andere VLAN ID genommen haben bei euren Switch, so bitte hinter dem Punkt entsprechend bearbeiten.
# nano /etc/network/interfaces
auto enp3s0.30
iface enp3s0.30 inet manual
#bridged VLAN interface
auto vmbr1
iface vmbr1 inet static
address 10.10.5.10
netmask 24
bridge_ports enp3s0.30
bridge_stp off
bridge_fd 0
# Netzwerk Neustart um die neuen Konfigurationen zu übernehmen
service networking restart
3. Linux Gateway VLAN Konfiguration
Ich habe einen Debian 10 Server installiert und darauf ein komplettes Internes Routing erstellt.
Dabei habe ich vor, mit verschiedenen einfachen Tricks, Subnetze aufzuteilen, Ports zu öffnen oder an andere interne Subnetze weiterzuleiten.
Bitte zuvor auf einem reinen Debian Server das Paket bridge-utils
installieren mit apt-get install bridge-utils -y
# Netzwerk Interface
auto enp0s25.30
iface enp0s25.30 inet manual
# Subnetz 10.10.6.0/24
auto vmbr1
iface vmbr1 inet static
address 10.10.6.1
netmask 24
bridge_ports enp0s25.30
bridge_stp off
bridge_waitport 0
bridge_fd 0
# Netzwerk Neustart um die neuen Konfigurationen zu übernehmen
service networking restart
Routing Tipp #1: So isolierst Du Subnetze von anderen Subnetzen
# Sperre Subnetz 10.10.5.0/24 von 10.10.6.0/24 aus und andersrum auch
iptables -A OUTPUT -s 10.10.5.0/24 -o vmbr1 -j DROP
iptables -A INPUT -s 10.10.6.0/24 -i vmbr0 -j DROP
iptables -A OUTPUT -s 10.10.6.0/24 -o vmbr0 -j DROP
# Allen Netzwerkschnittstellen Internet freigeben
iptables -t nat -A POSTROUTING -j MASQUERADE
Der erste Routing Tipp #1 ist eine sehr einfache Methode um innerhalb des Firmennetzwerkes die Kommunikation für bestimmte Subnetze nicht zu gestatten.
Routing Tipp #2: So gibst Du nur bestimmte Subnetze / IPs in ein anderes Subnetz frei
Natürlich sollte jeder Teilnehmer seines Internen Subnetzes nur in seinem bleiben. Wenn jedoch kurzfristig jemand mit der anderen Gegenstelle doch kommunizieren muss, kann der Administrator entsprechend freigaben setzen.
IPtables Parameter | Und deren Funktion |
---|---|
OUTPUT | Alles was ausgehend gesendet wird |
INPUT | Alles was zum Server ankommt wird hiermit definiert sein |
-I | Setzt mit z.B INPUT 1 | Die Regel in Chain INPUT auf Priorität 1 |
-i | Incoming Device |
-o | Output Device |
-d | Destination |
-s | Source |
-j ACCEPT / DROP | Erlauben / Sperren |
iptables -I INPUT 1 -s 10.10.6.1/32 -i vmbr1 -d 10.10.5.5 -j ACCEPT
iptables -I OUTPUT 1 -s 10.10.6.1/32 -o vmbr1 -d 10.10.5.5 -j ACCEPT
iptables -I INPUT 2 -s 10.10.6.1/32 -i vmbr0 -d 10.10.5.5 -j ACCEPT
iptables -I OUTPUT 2 -s 10.10.6.1/32 -o vmbr0 -d 10.10.5.5 -j ACCEPT
Nun, ich habe somit die IP-Adresse 10.10.5.5
auf die Ziel IP-Adresse 10.10.6.1
freigeben.
Nur diese zwei IPs dürfen nun sich gegenseitig untereinander austauschen von jeweils zwei verschiedenen Subnetzen.
Routing Tipp #3: Wie lösche ich gesetzte Regeln wieder?
Das ist in der Regel sehr einfach. Mit dem Befehl iptables -D INPUT 2
Lösche ich die aktuelle Regel im INPUT Bereich in der Priorität 2.
Gut zu wissen: Die gesamten IPtables Regeln können mit iptables -L --line-numbers
ausgelesen werden mit Priorität.
Routing Tipp #4: Portweiterleitung einfach erklärt und angewendet
Ich möchte nun meinen RDP Port von meinem Computer 10.10.5.5
öffnen und brauche dazu auf dem Linux Gateway eine entsprechende Weiterleitung des Ports.
iptables -t nat -A PREROUTING -d {Öffentliche-IP} -p tcp -m tcp --dport {PORT} -j DNAT --to-destination {Ziel-Subnetz-IP}
iptables -t nat -A POSTROUTING -d {Öffentliche-IP} -p tcp -m tcp --dport {PORT} -j SNAT --to-source {Ziel-Subnetz-IP}
PVID und Tagging
So wie man in Linux Subnetze Taggen kann, kann man auch ein beliebiges Gerät Taggen über den Switch.
Dazu setzen wir das Gerät was per LAN Verbunden ist mit den Switch auf untagged und setzen danach im Switch eine PVID für das jeweilige Gerät.
Für meinen Windows Computer möchte ich nun eine andere IP-Adresse aus einem anderen VLAN. Dazu tagge ich einfach hier über meinen TP-Link Switch die entsprechende ID um.
Ich habe von meiner alten Subnetz IP-Adresse 10.10.5.5
zu 10.10.6.5
gewechselt.
Fazit
Die VLAN Funktion hilft gerade bei der Netzwerkaufteilung und Zuweisung enorm.
Ich bin weiter interessiert, zu forschen und im Anschluss neue Tutorials zu veröffentlichen 🙂