How do you debug issues with WireGuard? Things usually go great but every now and then my subsonic server stops streaming (or my client stops getting the music) so his never happens on local network but o my when using WireGuard. Are there tools for debugging it? Cc @selfhosted@lemmy.world @selfhost@lemmy.ml

  • aard@kyu.de
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 year ago

    You do the usual network checks first, check if wireguard packages come in, check latest handshake. Depending on your network setup you might want to set a lower MTU than default, or enable PersistentKeepalive.

    If none of that shows something useful you can enable debug logging via debugfs:

    echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control
    

    You'll then have additional messages in dmesg. You can switch it off by doing -p instead.

    • maiskanzler@feddit.de
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 year ago

      +1 for MTU and persistent keepalive. The last one helps if the connection is lost after a certain amount of time and does not recover, the first is often the problem when connection is intermittent or just "weird".

      Setting MTU requires knowing the MTU of your connection. Many ISPs provide IPv4 encapsulated in IPv6 protocol (Dual Stack Lite, I believe), meaning that from the regular package size you have to deduct the overhead of the encapsulation and if I remember correctly, also the package overhead for wireguard.

      • BitPirate@feddit.de
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        1 year ago

        And maybe PPPoE.

        traceroute --mtu 1.1.1.1
        

        Pick the lowest value displayed for F=xxxx like e.g F=1492 and subtract 80.

        For my DSL connection the optimal value is 1412.