Zum Inhalt springen

Server Installation/Wireguard: Unterschied zwischen den Versionen

Aus Opennet
Inhalt gelöscht Inhalt hinzugefügt
Tobias (Diskussion | Beiträge)
Tobias (Diskussion | Beiträge)
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 26: Zeile 26:


=== Konfiguration eines Wireguard Clients (Debian) ===
=== Konfiguration eines Wireguard Clients (Debian) ===

Bis es über die Onifirmware funktioniert, hier der manuelle Weg, um Wireguard auf einem Linuxclient einzurichten.
Bis es über die Onifirmware funktioniert, hier der manuelle Weg, um Wireguard auf einem Linuxclient einzurichten.


==== wg Key generieren ====
==== wg Key generieren ====

⚫
mkdir /home/<user>/.wireguard/
chmod -R 700 /home/<user>/.wireguard
mkdir /home/<user>/.wireguard/
⚫
chmod -R 700 /home/<user>/.wireguard
wg genkey > wg-private.key; wg pubkey < wg-private.key > wg-public.key
wg genkey > wg-private.key; wg pubkey < wg-private.key > wg-public.key


==== wg Konfiguration anlegen ====
==== wg Konfiguration anlegen ====

vi /home/<user>/.wireguard/wireguard.conf
vi /home/<user>/.wireguard/wireguard.conf


Zeile 49: Zeile 52:


==== wg Konfiguration einspielen ====
==== wg Konfiguration einspielen ====

⚫
sudo nmcli connection import type wireguard file /home/<user>/.wireguard/wireguard.conf
Für Linux-Systeme mit NetworkManager:

⚫
sudo nmcli connection import type wireguard file /home/<user>/.wireguard/wireguard.conf


=== Konfiguration eines Wireguard Clients (Opennet Firmware 0.5.5-0.5.9 und 0.6.1) ===
=== Konfiguration eines Wireguard Clients (Opennet Firmware 0.5.5-0.5.9 und 0.6.1) ===
Zeile 64: Zeile 70:
VPN_KEY="$(cat ${AP}.aps.key)"
VPN_KEY="$(cat ${AP}.aps.key)"


Der privat Schlüssel sollte anschließend auf einem externen Speichermedium gesichert werden.
Der private Schlüssel sollte anschließend auf einem externen Speichermedium gesichert werden.
Den öffentlichen Schlüssel brauen die Admins des Opennet Wireguard Servers um eine Konfiguration zu erstellen und die IP4 Adresse zu vergeben.
Den öffentlichen Schlüssel brauen die Admins des Opennet Wireguard Servers um eine Konfiguration zu erstellen und die IP4 Adresse zu vergeben.
Dazu schicke den öffentlichen Schlüssel <AP-Nummer>.aps.pub per e-Mail an admin@opennet-initiative.de mit dem Betreff: "Anfrage eines PreShared-Key für Wireguard"
Dazu schicke den öffentlichen Schlüssel <AP-Nummer>.aps.pub per e-Mail an admin@opennet-initiative.de mit dem Betreff: "Anfrage eines PreShared-Key für Wireguard"
Zeile 85: Zeile 91:
==== Server Peer hinzufügen ====
==== Server Peer hinzufügen ====


VPN_ADDR="10.1.12.<x>"
VPN_ADDR="10.1.12.<x>/32"
VPN_PSK=""
VPN_PSK="<geteilter Schlüssel>"
uci add_list network.${VPN_IF}.addresses="${VPN_ADDR}"
uci add_list network.${VPN_IF}.addresses="${VPN_ADDR}"


Zeile 93: Zeile 99:
VPN_PORT="51820"
VPN_PORT="51820"
uci add network wireguard_${VPN_IF}
uci add network wireguard_${VPN_IF}
uci set network.@wireguard_on_wg0[0].description="kazama.on"
uci set network.@wireguard_${VPN_IF}[0].description="kazama.on"
uci set network.@wireguard_on_wg0[0].public_key="${VPN_PUB}"
uci set network.@wireguard_${VPN_IF}[0].public_key="${VPN_PUB}"
uci set network.@wireguard_on_wg0[0].preshared_key="${VPN_PSK}"
uci set network.@wireguard_${VPN_IF}[0].preshared_key="${VPN_PSK}"
uci set network.@wireguard_on_wg0[0].endpoint_host="${VPN_SERV}"
uci set network.@wireguard_${VPN_IF}[0].endpoint_host="${VPN_SERV}"
uci set network.@wireguard_on_wg0[0].endpoint_port="${VPN_PORT}"
uci set network.@wireguard_${VPN_IF}[0].endpoint_port="${VPN_PORT}"
uci set network.@wireguard_on_wg0[0].persistent_keepalive="25"
uci set network.@wireguard_${VPN_IF}[0].persistent_keepalive="25"
uci set network.@wireguard_on_wg0[0].route_allowed_ips="1"
uci set network.@wireguard_${VPN_IF}[0].route_allowed_ips="1"
uci add_list network.@wireguard_on_wg0[0].allowed_ips="0.0.0.0/0"
uci add_list network.@wireguard_${VPN_IF}[0].allowed_ips="0.0.0.0/0"
uci commit network
uci commit network
service network restart
service network restart

Aktuelle Version vom 15. Oktober 2024, 17:49 Uhr

Software für VPN Verbindungen (Virtual Private Network) - https://www.wireguard.com

Installation (Debian)

Wird bei Opennet automatisiert über die Opennet ansible Rolle 'wireguard-server' installiert.

Betrieb (Debian)

Wireguard Interface:

wg-quick up wg0
wg show wg0
wg showconf wg0
systemctl status wg-quick@wg0.service
wg-quick down wg0

Wireguard Client hinzufügen:

wg set wg0 peer <new_client_public_key> allowed-ips <new_client_vpn_IP>/32

Anfrage nach PreShared-Key bearbeiten

Nach Erhalt eines öffentlichen Schlüssels von einem Client, wird ein PreShared-Key erstellt eine IP-Adresse vergeben und die Konfiguration angelegt.

wg genpsk > /etc/wireguard/peers/${AP}/${AP}.aps.psk

Konfiguration eines Wireguard Clients (Debian)

Bis es über die Onifirmware funktioniert, hier der manuelle Weg, um Wireguard auf einem Linuxclient einzurichten.

wg Key generieren

mkdir /home/<user>/.wireguard/
chmod -R 700 /home/<user>/.wireguard
wg genkey > wg-private.key; wg pubkey < wg-private.key > wg-public.key

wg Konfiguration anlegen

vi /home/<user>/.wireguard/wireguard.conf

 [Interface]
   PrivateKey = < der frisch erzeugte eigene private Schlüssel >
   Address = 10.1.12.<x>/32
 [Peer]
   PublicKey = < öffentlicher Schlüssel des Servers >
   PresharedKey = < gemeinsamer Schlüssel >
   Endpoint = 192.168.10.19:51820
   AllowedIPs = 10.1.12.1/32
   PersistentKeepalive = 25

wg Konfiguration einspielen

Für Linux-Systeme mit NetworkManager:

sudo nmcli connection import type wireguard file /home/<user>/.wireguard/wireguard.conf

Konfiguration eines Wireguard Clients (Opennet Firmware 0.5.5-0.5.9 und 0.6.1)

Installation der notwendigen Pakete

opkg-oni install kmod-wireguard wireguard-tools luci-proto-wireguard

Schlüsselerstellung

umask go=
AP="$(uci get on-core.settings.on_id)"
wg genkey | tee ${AP}.aps.key | wg pubkey > ${AP}.aps.pub
VPN_KEY="$(cat ${AP}.aps.key)"

Der private Schlüssel sollte anschließend auf einem externen Speichermedium gesichert werden. Den öffentlichen Schlüssel brauen die Admins des Opennet Wireguard Servers um eine Konfiguration zu erstellen und die IP4 Adresse zu vergeben. Dazu schicke den öffentlichen Schlüssel <AP-Nummer>.aps.pub per e-Mail an admin@opennet-initiative.de mit dem Betreff: "Anfrage eines PreShared-Key für Wireguard"

Netzwerk Schnittstelle anlegen

Netzwerk Schnittstelle wird der Firewall Zone WAN zugeordnet

VPN_IF="on_wg0"
uci add_list firewall.@zone[1].network="${VPN_IF}"
uci commit firewall
service firewall restart

Hiermit wird die wireguard Schnittstelle angelegt

uci set network.${VPN_IF}="interface"
uci set network.${VPN_IF}.proto="wireguard"
uci set network.${VPN_IF}.private_key="${VPN_KEY}"
uci commit network
service network restart

Server Peer hinzufügen

VPN_ADDR="10.1.12.<x>/32"
VPN_PSK="<geteilter Schlüssel>"
uci add_list network.${VPN_IF}.addresses="${VPN_ADDR}"
VPN_PUB="8IXFGfo/Mh518n6ys5sOftDVytMe5EwQYGU0q8lFYHE="
VPN_SERV="kazama.on"
VPN_PORT="51820"
uci add network wireguard_${VPN_IF}
uci set network.@wireguard_${VPN_IF}[0].description="kazama.on"
uci set network.@wireguard_${VPN_IF}[0].public_key="${VPN_PUB}"
uci set network.@wireguard_${VPN_IF}[0].preshared_key="${VPN_PSK}"
uci set network.@wireguard_${VPN_IF}[0].endpoint_host="${VPN_SERV}"
uci set network.@wireguard_${VPN_IF}[0].endpoint_port="${VPN_PORT}"
uci set network.@wireguard_${VPN_IF}[0].persistent_keepalive="25"
uci set network.@wireguard_${VPN_IF}[0].route_allowed_ips="1"
uci add_list network.@wireguard_${VPN_IF}[0].allowed_ips="0.0.0.0/0"
uci commit network
service network restart