Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |
lx:net:wireguard [10.11.2022 05:19] – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden Andy Haubenschmid | lx:net:wireguard [10.11.2022 16:56] (aktuell) – Andy Haubenschmid |
---|
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 ==== |
</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 \ |
</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> |
</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. |
| |
</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> |
| .:. |