, , , , , , , , , , , ,

OpenWRT auf einer KVM + Wireguard und Hetzner

Posted by

0
(0)

YouTube Tutorial

Herzlich Willkommen zu einem neuen Tutorial 🙂

In diesem folgendem Beitrag lernen wir folgendes:

  • Wir Virtualisieren OpenWRT auf einer KVM
  • Dabei werden wir auch OpenWRT Konfigurieren
  • Zudem werden wir über einen Cloud Anbieter / Hetzner einen Wireguard Server Deployen
  • Und werden unseren Tunnel Aufbau mit OpenWRT mit NAT Realisieren

Was gehört noch dazu?:

  • Wir werden als Zusatzerklärung via Gparted eine Partition erweitern für OpenWRT
  • Eine neue vmbrX erstellen innerhalb Proxmox für den Firewall Ausgang (LAN)
  • DHCP Server hierfür aktivieren
  • Wir beschäftigen uns mit den Firewalll Zonen innerhalb OpenWRT
  • Pakete installieren in OpenWRT um dies zu ermöglichen z.B luci-proto-wireguard

Das sind erstmal die ersten wichtigsten Schritte um das Resultat eines einfachen NAT VPN Systems zu ermöglichen. Dabei bekommen alle unter LAN_OUT die jeweiligen Lokalen IP-Adressen zugewiesen (DHCPv4), die dann auch direkt zu den Hetzner VPN Tunnel geroutet sind.

Hilfreiche Links für das Tutorial

Hier sind alle verfügbaren Links die in diesem Tutorial vorkommen. Manche müssen aber als Werbung markiert sein.

1. KVM / VM erstellen und anpassen für OpenWRT

Wir laden zunächst das .img.gz Archiv herunter – Link im oberen Teil des Beitrags.

Bitte den Download am besten im Verzeichnis /root ablegen und in der Haupt Shell das ganze ausführen.

1. Wir wählen unter OS => Kein Medium
2. Unter Disk werden wir zunächst keine hinzufügen da wir die Disk manuell importieren.

Bei den anderen Bereichen wie CPU und RAM Einstellung könnt das ganze Idividuell anpassen. Aber ich kann euch vorab sagen das OpenWRT sehr Ressourcen sparend ist 🙂 1024MB RAM und ein paar Cores werden selbst das ganze schon meistern können.

Achtet aber darauf die Virtuelle Maschiene noch nicht zu starten da erst noch die .img File importiert werden muss und die Bootreihenfolge geändert werden muss.

				
					# mittels gzip entpacken wir das .img File
gzip -d openwrt-*.img.gz
				
			
				
					# <vmId> <source> <storage>
qm importdisk 119 /root/openwrt-*.img local
				
			

Bitte vergisst nicht vmId => 119 ist NUR ein Beispiel, bitte diese ID zu eure VM ID ersetzen. Auch local ist nur eine Vorlage die Ihr auch ersetzen könnt. Es ist der Storage / Speicherort. Die Bezeichnungen findet Ihr in den Proxmox gemouteten Storage’s und diesen Exakten Namen genauso eingeben eben wie der Storage benannt wurde in Poxmox 🙂

Um nach den Import die Disk nutzen zu können: 1. Cache: Write through 2. Discard: ON 3. Hinzufügen klicken

Um nach dem Import die Disk nutzen zu können:

  1.  Cache: Write through
  2.  Discard: ON
  3.  Hinzufügen klicken
Jetzt die scsi0 hinter ide2 setzen fertig!

Bitte ladet euch für den zweiten Schritt jetzt Gparted herunter und lädt diese entweder selbst auf Proxmox hoch oder mit dem Proxmox Downloader direkt auf eine beliebige Storage. Gparted werden wir hierfür nutzen, um von 104MB rootfs Storage Speicher von OpenWRT auf 2GB zu vergrößern.

2. Gparted – OpenWRT Partition vergrößern

Bitte geht jetzt auf die jeweilige VM unter CDrom laufwerk und mountet jetzt die frisch heruntergeladene Gparted.iso ein.

Bitte beachtet auch das ide2 auf die erste Bootreinfolge während der Vergrößerung der Partition bleibt um dann OpenWRT im Anschluss zu booten – sofern wir diese vorab aber Partitioniert haben.

Wir wählen scsi0 aus gehen auf Disk aktion und Größe anpassen => 2GB
Jetzt wollen wir /dev/sda2 um satte 2GB komplett vergrößern
Jetzt übernehmen wir innerhalb Gparted die Änderungen und fertig!
Jetzt können wir bei der ide2/CDrom das Medium entfernen bzw. Kein Medium verwenden

3. Netzwerk Vorbereitung für OpenWRT

Wir haben mindestens zwei Schnittstellen jeweils WAN und LAN. WAN bezieht das Internet von beispielsweise Hausrouter und OpenWRT (LAN – OUTPUT) erstellt ein neues eigenes sicheres LAN wo in unserem ersten Tutorial hier das ganze vorab über Proxmox Host Aufteilung fungiert. Sagen wir die Linux Brücke vmbr2, da lauscht ein zweiter DHCP Server von OpenWRT. Dieser ist aber nur innerhalb des Hosts erreichbar um andere Heimnetzwerke oder auch Online Server von Ihren Grundfunktionen nicht zu stören. Hier eine Modifikation die auch Proxmox annimmt um darauf auch LXC / VMs mit OpenWRT zu connecten.

				
					nano /etc/network/interfaces
				
			
				
					auto vmbr2
iface vmbr2 inet static
        
        bridge-ports none
        bridge-stp off
        bridge-fd 0
				
			

Wie Ihr also sehen könnt sieht vmbr2 vorerst leer aus was auch seine richtigkeit hat da OpenWRT alles verwaltet und auch der DHCP lauscht. Sobald man eine LXC Maschiene oder VM die Netzwerkkarte vmbr2 zuweisen tut, dann beginnt nach Grundeinstellung der VM oder LXC (DHCP mode) eine automatische Zuweisung der eigenen Lokalen Adresse von OpenWRT.

				
					nano /etc/network/interfaces
				
			
				
					# Für VM Grundeinstellung
# Für z.B Interface ens18 (Könnt Ihr auch abändern)

auto ens18
iface ens18 inet dhcp
# Für IPv6
iface ens18 inet6 dhcp
				
			

Das sind erstmal vorinformationen jetzt geht es weiter mit dem booten von OpenWRT.

3.1 OpenWRT manuelle temporäre IP Zuweisung

Startmenü von OpenWRT

Achtung: Innerhalb der KVM Konsole ist ein nur Englisches Layout aktiv.

Bitte also auf eingaben achten bei der Tastertur.

Warnung: Bitte jetzt root Passwort setzen.

				
					# Gibt dies in der KVM Shell ein und setzt vorerst ein einfaches weil wegen Englishes Layout.
passwd
				
			
				
					# listet alle Interface mit deren IP Zuweisungen auf
ip a
# Resetet alles von br-lan
ip addr flush dev br-lan
# Listet die default routen auf
ip route
# Jetzt adden wir jeweils eine WAN IP zu br-lan die auch mit z.B unseren Hausrouter übereinstimmt
ip addr add 192.168.178.124/24 dev br-lan
# jetzt setzen wir den default Gateway WAN der unsere Connection zum Hausrouter aufbauen lässt
ip route add default via 192.168.178.1 dev br-lan onlink
				
			

Jetzt könnt Ihr normalerweise innerhalb des WAN / Hausnetzes auf OpenWRT zugreifen.

3.2 Wir konfigurieren OpenWRT / Interfaces

				
					# GUI für OpenWRT - Beispiel IP-Adresse
http://192.168.178.124/
				
			
Hier zu sehen die OpenWRT GUI
Wir gehen auf: Network => Interfaces => Devices
Jetzt löschen wir alle Interfaces und setzen unsere eigenen Einstellungen
eth0 => Erste Netzwerkkarte von Proxmox für WAN eth1 => zweite Netzwerkarte für LAN (vmbr2)
Für WAN hier meine Zusammenstellung => eth0 + Beispiel IP-Adressen
Unter erweitert, können wir was z.B für Software Updates wichtig ist, DNS Server setzen.
Hier setzen wir das Interface in die Firewall Zone (WAN)

INFO: Für WAN bitte keinen DHCP Server konfigurieren, das machen wir nur bei LAN Interfaces

10.15.0.1/24 – Diese Subnet Reihe würden alle Clients per NAT und DHCP bekommen
openwrt-lan-firewall-zone
Das LAN Interface kommt also nun in die Firewall Zone LAN.
openwrt-dhcp-lan-server
Jetzt aktivieren wir den DHCP Server für LAN
openwrt-wan-firewall-rule-adden
Unter Network => Firewall => Traffic Rules: Wir fügen die Regel für WAN Acces GUI / OpenWRT
Jetzt verbinde ich einen LXC Container mit OpenWRT (vmbr2)
Hier zu sehen via DHCP haben wir eine Lokale IPv4 zugewiesen bekommen

4. Wireguard auf OpenWRT

Jetzt können wir das Wireguard Protokoll nachinstallieren

Wir gehen dazu in OpenWRT auf: System => Software.

Und installieren das Paket: luci-proto-wireguard.

Beachtet hierfür das die ersten Updates von der Repository erfolgen.

Für jede neue Protokoll installation sei es wireguard etc., empfehle ich die OpenWRT einmal neuzustarten.

Dazu geht Ihr auf System => Reboot.

Bei der Hetzner Cloud können wir unter Apps einfach die Wireguard Installation mit ausführen
Jetzt erstellen wir einen A Record für das Wireguard UI Panel von Hetzner
Fertig! Jetzt können wir uns Anmelden.
Innerhalb der Wireguard UI können wir jetzt einen Peer erstellen
Jetzt in den Globalen Server Einstellungen => MTU 1420 setzen und danach übernehmen
Jetzt können wir in OpenWRT ein neues Interface “Wireguard VPN” erstellen
Jetzt tragen wir PrivateKey, Public Key ein sowie die Lokalen VPN Adressen hier ein
Jetzt erstellen wir eine Firewall Zone namens “wireguard”
Jetzt erstellen wir einen peer in OpenWRT. Bitte auch hier von der Config die benötigten Daten eintragen
Jetzt nur noch die Zonen weiterleiten mit Masquerade und dann übernehmen.
Super! Wir haben erfolgreich eine Verbindung zu wireguard für alle Clients z.B im Subnet 10.15.0.0/24

Beitrag teilen?

Facebook
Twitter
Reddit
Email
Telegram
WhatsApp

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert