Kurzanleitung Debian wireguard auf Server einrichten (wireguard-go)

  • Kurzanleitung Debian wireguard auf Server einrichten (wireguard-go)

    Vorwort

    Da man auf dem vs2-free aktuell das Standard wireguard nicht nutzen kann (nicht im Kernel aktiv), habe ich mir mal angesehen wie man trotzdem wireguard nutzen kann. In meiner Anleitung habe ich 2 vs2-free Hosts verwendet. Man kann natürlich zuhause auch das normale wireguard verwenden. Ob das ganze auch mit einem Heimrouter geht muss ich erstmal noch testen. Ich habe aktuell keine Fritzbox rumliegen :) .

    Aufbau

    Host A vs2-free mit gebuchter und eingerichteter IPv4. Betriebssystem Debian 12 (Bookworm) - 64Bit - minimal v4.
    Host B vs2-cloud mit gebuchter und eingerichteter IPv4. Betriebssystem Debian 12 (Bookworm) - 64Bit - minimal v4.

    wireguard-go (Version 0.0.20220316, die aktuelle ging nicht da Debian noch kein golang 1.20 hat)

    GitHub - WireGuard/wireguard-go: Mirror only. Official repository is at https://git.zx2c4.com/wireguard-go
    Mirror only. Official repository is at https://git.zx2c4.com/wireguard-go - WireGuard/wireguard-go
    github.com

    Vorbereitung

    Debian Pakete updaten und Neustarten wenn nötig.

    Code
    apt update
    apt upgrade
    reboot


    Einrichtung von Host A (hat am Ende die IP 10.0.0.1 über wireguard)

    - golang und wireguard-tools installieren

    Code
    apt install golang wireguard-tools

    - wireguard-go herunterladen und ausführbar machen

    Code
    wget -O /usr/bin/wireguard-go https://12-u.vs2-free-users.de/mirror/wireguard-go/debian12/wireguard-go
    chmod +x /usr/bin/wireguard-go

    - wireguard keys erstellen (Privat und Public)

    Code
    mkdir -p /etc/wireguard/
    cd /etc/wireguard/
    wg genkey | tee privatekey | wg pubkey > publickey

    - wireguard config erstellen (wg0)

    Code
    vim /etc/wireguard/wg0.conf

    Inhalt

    Code
    [Interface]
    PrivateKey = <Zuvor erstellter privater Schlüssel>
    ListenPort = 51820
    [Peer]
    PublicKey = <Public Key von Host B>
    AllowedIPs = 10.0.0.2/32
    Endpoint = <Offizielle IP Host B>:51820

    - Script zum starten von erstellen

    Code
    vim /etc/wireguard/wg0-up.bash

    Inhalt

    Bash
    #!/bin/bash
    sleep 60
    wireguard-go wg0
    wg setconf wg0 /etc/wireguard/wg0.conf
    ip address add 10.0.0.1/24 dev wg0
    ip link set wg0 up

    - Script ausführbar machen

    Code
    chmod +x /etc/wireguard/wg0-up.bash

    - Autostart über cron erstellen

    Code
    echo '@reboot root /etc/wireguard/wg0-up.bash' >> /etc/crontab

    - Neustarten (danach ist alle konfiguriert)

    Code
    reboot

    Einrichtung von Host B (hat am Ende die IP 10.0.0.2 über wireguard)

    - golang und wireguard-tools installieren

    Code
    apt install golang wireguard-tools

    - wireguard-go herunterladen und ausführbar machen

    Code
    wget -O /usr/bin/wireguard-go https://12-u.vs2-free-users.de/mirror/wireguard-go/debian12/wireguard-go
    chmod +x /usr/bin/wireguard-go

    - wireguard keys erstellen (Privat und Public)

    Code
    mkdir -p /etc/wireguard/
    cd /etc/wireguard/
    wg genkey | tee privatekey | wg pubkey > publickey

    - wireguard config erstellen (wg0)

    Code
    vim /etc/wireguard/wg0.conf

    Inhalt

    Code
    [Interface]
    PrivateKey = <Zuvor erstellter privater Schlüssel>
    ListenPort = 51820
    [Peer]
    PublicKey = <Public Key von Host A>
    AllowedIPs = 10.0.0.1/32
    Endpoint = <Offizielle IP Host A>:51820

    - Script zum starten von erstellen

    Code
    vim /etc/wireguard/wg0-up.bash

    Inhalt

    Bash
    #!/bin/bash
    sleep 60
    wireguard-go wg0
    wg setconf wg0 /etc/wireguard/wg0.conf
    ip address add 10.0.0.2/24 dev wg0
    ip link set wg0 up

    - Script ausführbar machen

    Code
    chmod +x /etc/wireguard/wg0-up.bash

    - Autostart über cron erstellen

    Code
    echo '@reboot root /etc/wireguard/wg0-up.bash' >> /etc/crontab

    - Neustarten (danach ist alle konfiguriert)

    Code
    reboot
  • muss ich dann wie bei Openvpn mit preshared Key für jeden client einen Port machen?

    Nein, der Port ist bei allen Clients gleich. Aber jeder Client bekommt eine eigene IP.

    PC: AMD Ryzen 7 5700X | AMD RX6600 | 32GB RAM | Debian 12 Xfce
    Notebook: AMD Ryzen 5 5300U | Vega Graphic | 16GB RAM | Debian 12 Xfce

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!