Benutzer-Werkzeuge

Webseiten-Werkzeuge


lx:net:wireguard

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
lx:net:wireguard [10.11.2022 05:19] – ↷ Seite von lx:nw:wireguard nach lx:net:wireguard verschoben Andy Haubenschmidlx:net:wireguard [10.11.2022 16:56] (aktuell) Andy Haubenschmid
Zeile 1: Zeile 1:
 ====== Wireguard ====== ====== Wireguard ======
-{{ :lx:nw:wireguard.svg?300|}}+{{ lx:net:wireguard.svg?300|}}
 Nachdem ich heute endlich mal das [[https://www.wireguard.com/papers/wireguard.pdf|Whitepaper von Wireguard]] gelesen habe, musste ich Wireguard gleich mal ausprobieren. Nachdem ich heute endlich mal das [[https://www.wireguard.com/papers/wireguard.pdf|Whitepaper von Wireguard]] gelesen habe, musste ich Wireguard gleich mal ausprobieren.
 Es ist supereinfach damit ein funktionierendes VPN hinzubekommen.  Es ist supereinfach damit ein funktionierendes VPN hinzubekommen. 
-Und weil es ein Kernelmodul ist, enfällt das hin- und herschieben der Pakete wie bei [[lx:nw:openvpn|OpenVPN]]. Das macht die Verbindung massiv schneller.+Und weil es ein Kernelmodul ist, enfällt das hin- und herschieben der Pakete wie bei [[lx:net:openvpn|OpenVPN]]. Das macht die Verbindung massiv schneller.
  
 ===== Testaufbau ===== ===== Testaufbau =====
Zeile 10: Zeile 10:
 Ich habe als Netzwek 10.0.8.0/24 genommen, das Raspi hat die ip 10.0.8.9 und die pfSense hat 10.0.8.8 im Beispiel. Ich habe als Netzwek 10.0.8.0/24 genommen, das Raspi hat die ip 10.0.8.9 und die pfSense hat 10.0.8.8 im Beispiel.
  
-==== Installieren und kompilieren auf alten Linux Kernel ==== 
-Da ich noch einige alte Kernel habe, hier dann die Anleitung, wie es auf einem alten Linux installiert werden kann. 
-Dazu muss der Kernel selber übersetzt werden. Dazu brauchen wir eine Build Umgebung: 
-<code> 
- sudo apt-get install libelf-dev linux-headers-$(uname -r) build-essential pkg-config 
-</code> 
-Wireguard Kernelmodule herunterladen und übersetzen 
-<code> 
-git clone https://git.zx2c4.com/wireguard-linux-compat 
-make -C wireguard-linux-compat/src -j$(nproc) 
-</code> 
- 
-<WRAP center round info 60%> 
-der Abschnitt "Installieren und kompilieren auf alten Linux Kernel" ist noch nicht vollständig und wird später ergänzt 
-</WRAP> 
-.:.  
  
 ==== installation auf dem Raspi ==== ==== installation auf dem Raspi ====
Zeile 39: Zeile 23:
 </code> </code>
  
-Konfigurieren des Interfaces mit+=== Konfigurieren des Interfaces === 
 +siehe auch [[https://www.wireguard.com/quickstart/#command-line-interface|Wireguard CLI]] 
 <code> <code>
 wg set wg0 listen-port 1234 private-key /etc/wireguard/private.key peer \ wg set wg0 listen-port 1234 private-key /etc/wireguard/private.key peer \
Zeile 45: Zeile 31:
 </code> </code>
 Damit hören wir auf UDP Port 1234 für ankommende Verbindungen, auf pfSense nehmen wir mal den selben Port. <IP von pfSense> ist dabei die IP im lokalen Netz, also die IP unter der wir pfSense jetzt schon erreichen können. Damit hören wir auf UDP Port 1234 für ankommende Verbindungen, auf pfSense nehmen wir mal den selben Port. <IP von pfSense> ist dabei die IP im lokalen Netz, also die IP unter der wir pfSense jetzt schon erreichen können.
 +
  
 ==== Installation auf pfSense ==== ==== Installation auf pfSense ====
 +Siehe auch [[https://docs.netgate.com/pfsense/en/latest/vpn/wireguard/configure.html|Configure Wireguard - aus der pfSense Doku]]
  
 Auf pfSense unter ''System'' -> ''Package Manager'' -> ''Available Packages'' nach ''WireGuard'' suchen und auf ''+ Install'' klicken. (Die Warnung, das die Software noch nicht stabil sei, ignorieren wir mal) Auf pfSense unter ''System'' -> ''Package Manager'' -> ''Available Packages'' nach ''WireGuard'' suchen und auf ''+ Install'' klicken. (Die Warnung, das die Software noch nicht stabil sei, ignorieren wir mal)
 +
 +
 Danach unter ''VPN'' -> ''WireGuard'' -> ''Tunnel'' ein neuer Tunnel anlegen mit ''+ Add Tunnel'' Danach unter ''VPN'' -> ''WireGuard'' -> ''Tunnel'' ein neuer Tunnel anlegen mit ''+ Add Tunnel''
 <code> <code>
Zeile 58: Zeile 48:
 </code> </code>
 Auf ''Generate'' new Keys klicken um neue Schlüssel anzulegen, ''Enabled'' anwählen, ein Name geben und den Port setzen. Danach unten auf ''Save Tunnel'' klicken und die Änderungen anwenden. Auf ''Generate'' new Keys klicken um neue Schlüssel anzulegen, ''Enabled'' anwählen, ein Name geben und den Port setzen. Danach unten auf ''Save Tunnel'' klicken und die Änderungen anwenden.
-Erst jetzt bekommen wir ein Netzwerkinterface ''wg0'', dieses unter Interfaces hinzufügen, eine IP für die Firewall vergeben. <wrap hi>Achtung: Die Firewall filtert auf "WireGuard" und nicht auf dem Interface "wg0"</wrap>((Die Firewall filtert nicht auf dem Interface, (genau wie bei OpenVPN) ich finde das verwirrend)) +Erst jetzt bekommen wir ein Netzwerkinterface ''wg0'', dieses unter Interfaces hinzufügen, eine IP für die Firewall vergeben.  
- +<WRAP center round important 60%> 
 +Achtung: Die Firewall filtert [[https://docs.netgate.com/pfsense/en/latest/vpn/wireguard/settings.html#wireguard-package-settings|standardmässig]] auf der [[https://docs.netgate.com/pfsense/en/latest/firewall/rule-methodology.html#interface-groups|Portgruppe]] "WireGuard" und nicht auf dem Interface "wg0"((Die Firewall filtert nicht auf dem Interface, (genau wie bei OpenVPN) ich finde das verwirrend)) 
 +</WRAP> 
 Also dann unter ''Firewall'' -> ''Rules'' -> ''Wireguard'' die Firewall zum testen öffnen. Ich lasse z.B. ICMP Traffic zu, damit Ping funktioniert.   Also dann unter ''Firewall'' -> ''Rules'' -> ''Wireguard'' die Firewall zum testen öffnen. Ich lasse z.B. ICMP Traffic zu, damit Ping funktioniert.  
  
Zeile 100: Zeile 93:
 </WRAP> </WRAP>
  
 +==== Installieren und kompilieren auf alten Linux Kernel ====
 +Da ich noch einige alte Kernel habe, hier dann die Anleitung, wie es auf einem alten Linux installiert werden kann.
 +Dazu muss der Kernel selber übersetzt werden. Dazu brauchen wir eine Build Umgebung:
 +<code>
 + sudo apt-get install libelf-dev linux-headers-$(uname -r) build-essential pkg-config
 +</code>
 +Wireguard Kernelmodule herunterladen und übersetzen
 +<code>
 +git clone https://git.zx2c4.com/wireguard-linux-compat
 +make -C wireguard-linux-compat/src -j$(nproc)
 +</code>
 +
 +<WRAP center round info 60%>
 +der Abschnitt "Installieren und kompilieren auf alten Linux Kernel" ist noch nicht vollständig und wird später ergänzt
 +</WRAP>
 +.:. 
lx/net/wireguard.1668057577.txt.gz · Zuletzt geändert: 10.11.2022 05:19 von Andy Haubenschmid