Server Installation/Wireguard: Unterschied zwischen den Versionen
Tobias (Diskussion | Beiträge) |
Tobias (Diskussion | Beiträge) |
||
| (17 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 18: | Zeile 18: | ||
wg set wg0 peer <new_client_public_key> allowed-ips <new_client_vpn_IP>/32 |
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) === |
=== 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/ |
|||
| ⚫ | |||
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 43: | Zeile 52: | ||
==== wg Konfiguration einspielen ==== |
==== wg Konfiguration einspielen ==== |
||
| ⚫ | |||
Für Linux-Systeme mit NetworkManager: |
|||
| ⚫ | |||
=== 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 49: | Zeile 61: | ||
==== Installation der notwendigen Pakete ==== |
==== Installation der notwendigen Pakete ==== |
||
opkg-oni install kmod-wireguard wireguard-tools luci-proto-wireguard |
|||
==== |
==== Schlüsselerstellung ==== |
||
| ⚫ | |||
''' |
|||
| ⚫ | |||
| ⚫ | |||
wg genkey | tee ${AP}.aps.key | wg pubkey > ${AP}.aps.pub |
|||
| ⚫ | |||
VPN_KEY="$(cat ${AP}.aps.key)" |
|||
''' |
|||
Der |
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>.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" |
||
==== 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 |
|||
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
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