WireGuard auf Debian 13

  • Hallo Zusammen,

    ich benötige mal eure Unterstützung, da ich selbst mit meinem Latein am Ende bin.

    Ich betreibe auf Debian 12 einen WireGuard, der hervorragend läuft. Da ich gerne auf einem aktuellen System arbeite, wollte ich auf Debian 13 Upgraden aber leider läuft dann nichts mehr.

    Der WG ist so konfiguriert, dass der komplette Traffic drüber läuft.

    Versuch 1:

    Laufender Debian 12 auf Debian 13 upgraden -> Die Verbindung funktioniert, bis ich einen reboot durchführe, danach kann nicht mehr auf Internetseiten zugegriffen werden. Handshake ist vorhanden.

    Versuch 2:

    Komplette Neuinstallation auf Debian 13 -> keine Verbindung ins Internet. Handshake ist vorhanden, inkl. Daten bei senden und empfangen.

    Versuch 3:

    Komplette Neuinstallation auf Debian 12 nach exakt dem gleichen Vorgehen wie bei Versuch 2 -> WireGuard läuft problemlos und ich kann über den WG auf Internetseiten zugreifen.

    Leider finde ich im Netz nichts passendes. Bei sämtlichen Anleitungen ist die Config unter Deb12 und Deb13 identisch 🤔

  • Zur hilfreichsten Antwort springen
  • Klar, überhaupt kein Problem.

    Ich habe lediglich die IP´s unkenntlich gemacht.

    Die Config ist 100% die gleiche, wie bei meinem funktionierenden Debian 12 Server.

    wg0.conf
    ip a
    ip r
    Code
    default via xx.xx.xx.x dev eth0 onlink
    10.8.0.0/24 dev wg0 proto kernel scope link src 10.8.0.1
    xx.xx.xx.x/22 dev eth0 proto kernel scope link src xx.xx.xx.xx
    ufw
    sysctl.conf
    Code
    net.ipv4.ip_forward=1
    net.ipv6.conf.all.forwarding=1
    ndppd.conf
    Code
    proxy eth0 {
        rule fd08:8:8:8::1/64 {
            iface wg0
        }
    }
    • Hilfreichste Antwort

    Das Problem liegt am IP Forwarding.
    Unter Debian 13 wurde das "Prinzip" der Config von sysctl.d geändert.

    Die Datei sysctl gibt es nicht mehr und der Inhalt vom Ordner sysctl.d interessiert das System nicht mehr.

    Setze mal manuell den Befehl ab:

    sysctl -w net-ipv4.ip_foward=1

    oder

    echo 1 > /proc/sys/net/ipv4/ip_forward

    Bei mir steht erster Befehl in der Datei

    postup_wg0.sh

  • Das Problem liegt am IP Forwarding.
    Unter Debian 13 wurde das "Prinzip" der Config von sysctl.d geändert.

    Wow genau daran liegt es.

    Mir war nicht bewusst, dass bei Deb13 die sysctl.conf abgeschafft wurde.


    Wie kann ich das Forwarding für ipv4 und ipv6 unter debian13 dauerhaft aktivieren?

    sysctl -w net-ipv4.ip_foward=1 --> geht nicht

    echo 1 > /proc/sys/net/ipv4/ip_forward --> funktioniert bis zum nächsten reboot

  • VeePay 8. November 2025 um 21:59

    Hat einen Beitrag als hilfreichste Antwort ausgewählt.
  • Wie kann ich das Forwarding für ipv4 und ipv6 unter debian13 dauerhaft aktivieren?

    sysctl -w net-ipv4.ip_foward=1 --> geht nicht

    echo 1 > /proc/sys/net/ipv4/ip_forward --> funktioniert bis zum nächsten reboot

    In meiner wg0.conf steht folgendes:

    PostUp = /etc/wireguard/postup_wg0.sh

    PostDown = /etc/wireguard/postdown_wg0.sh

    In der postup... und postdown...sh baust du dann die echo Zeile ein.

    Es gibt einen "komplizierteren Weg" die sysctl.conf wieder zu aktivieren.

    Aber die Lösung da oben funktioniert bei mir auch nach einem Reboot.

  • Hab´s folgendermaßen gelöst und es scheint zu funktionieren.

    /etc/sysctl.d/99-ipforward.conf
    Code
    net.ipv4.ip_forward=1
    net.ipv6.conf.all.forwarding=1
    99-ipforward.conf aktivieren
    Code
    sysctl -p /etc/sysctl.d/99-ipforward.conf

    Ich danke euch vielmals ;) :thumbup:

  • Mir war nicht bewusst, dass bei Deb13 die sysctl.conf abgeschafft wurde.

    Wenn ich das richtig gelesen habe, wird nur die /etc/sysctl.conf nicht mehr unterstützt. Die .conf unter /etc/sysctl.d hingegen schon.

    So habe ich das auch verstanden und fairerweise sollte Debian beim Upgrade-Prozess eine entsprechende Warnung/einen entsprechenden Fehler angezeigt haben. Ich hatte exakt das gleiche Problem, bin allerdings nicht durch eine Nichtfunktion von Wireguard darauf gestoßen, sondern durch einen Fehler während `apt-get dist-upgrade`.

  • und fairerweise sollte Debian beim Upgrade-Prozess eine entsprechende Warnung/einen entsprechenden Fehler angezeigt haben

    Dafür gibt es die Seiten von Debian. Hier ist der ganze Release Stamm nachzulesen. Alle neuen Funktionen, überarbeitete und entfernte werden hier beschrieben.
    Sollte als Debian Anwender die erste Anlaufstelle sein. Zudem gibt es ein Debian Forum, in dem diese Änderungen im Vorfeld diskutiert werden.

    Anschließend ist es noch entscheidend welches Image installiert wird und was der Hoster zur Verfügung stellt.
    Netcup, Hetz..., Ion..., usw. bieten unterschiedliche Images an und bei allen entsprechen diese NICHT dem Networkinstall von Debian.

    Ggf. also das Netinstall Image von Debian laden und in der VPS installieren.

  • Wenn ich das richtig gelesen habe, wird nur die /etc/sysctl.conf nicht mehr unterstützt. Die .conf unter /etc/sysctl.d hingegen schon.

    Das hängt mit dem Image zusammen, welches der Hoster bereit stellt.
    Ab Debian 13 gibt es die /etc/sysctl.conf nicht mehr. Dies ist im Debian Release auch beschrieben.

    Allerdings gibt es bei verschiedenen Hoster Images, bei denen die Abarbeitung von /etc/sysctl.d erst aktiviert werden muss.

  • Netcup VPS Debian 13.1 Neuinstallation (BIOS):
    /etc/sysctl.conf gibt es nicht und ein manuelles Anlegen wird nicht berücksichtigt.

    /etc/sysctl.d Ordner existiert, aber einzelne .conf müssen aktiviert werden.

    Ion... + Hetz... Debian 13.1 Neuinstallation (minimal):
    /etc/sysctl.conf gibt es nicht und ein manuelles Anlegen wird nicht berücksichtigt.

    /etc/sysctl.d Ordner existiert wird aber nicht berücksichtigt und muss erst manuell aktiviert werden.

    ECHO Zeile (manuell) funktioniert bei allen.

    Bei mir wurde die sysctl.conf auch beim Upgrade tatsächlich nicht übernommen.

    Es kommt darauf an aus welcher Debian 12.x Version das Upgrade erfolgt ist und was unter /usr/lib/sysctl.d/ steht.


    Da ich immer auf etwas Sicherheit gehe, werden diverse Einstellungen, wie z.B. IP Forwarding, immer nur mit aktivem VPN Tunnel aktiviert und ohne auch wieder deaktiviert. Daher regel ich das grundsätzlich nur noch über die Bash Dateien mit PostUp und PostDown.

    Der Wireguard Tunnel (z.B. WG0) wird auch ausschließlich über CRON REBOOT aktiviert und somit auch alles aus der PostUp.

    Auch der WatchDog zum jeweiligen Wireguard Tunnel läuft über CRON ab.