Wireguard runs fine on Windows, troubles with Linux (F40)

Hi all

I'm running a Wireguard server using PiVPN at home. Using the configuration file with Windows, all works fine - however it's not working properly on Fedora 40 (KDE) with the exact same configuration file. Any hints on how to debug this would be appreciated.

Starting connection:

desktop:[~]: wg-quick up net-HC-Desk1.conf 
[#] ip link add net-HC-Desk1 type wireguard
[#] wg setconf net-HC-Desk1 /dev/fd/63
[#] ip -4 address add 192.168.200.4/24 dev net-HC-Desk1
[#] ip link set mtu 1420 up dev net-HC-Desk1
[#] resolvconf -a net-HC-Desk1 -m 0 -x
[#] ip -4 route add 192.168.100.0/22 dev net-HC-Desk1

What I have tried so far to analyse:

Pinging remote DNS server (pihole)

desktop:[~]: ping 192.168.101.1
PING 192.168.101.1 (192.168.101.1) 56(84) bytes of data.
64 bytes from 192.168.101.1: icmp_seq=1 ttl=63 time=312 ms
64 bytes from 192.168.101.1: icmp_seq=2 ttl=63 time=336 ms
--- 192.168.101.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 311.799/323.759/335.720/11.960 ms

Pinging remote DNS server (pihole) using host name

desktop:[~]: ping pihole.example.net
ping: pihole.example.net: Name or service not known

Using nslookup to resolve remote host name

desktop:[~]: nslookup pihole.example.net
Server:         192.168.101.1
Address:        192.168.101.1#53

Name:   pihole.example.net
Address: 192.168.101.1

Pinging hosts on the public network

desktop:[~]: ping www.google.com
PING www.google.com (2a00:1450:400a:808::2004) 56 data bytes
64 bytes from zrh04s16-in-x04.1e100.net (2a00:1450:400a:808::2004): icmp_seq=1 ttl=59 time=15.3 ms
^C
--- www.google.com ping statistics ---
2 packets transmitted, 1 received, 50% packet loss, time 1001ms
rtt min/avg/max/mdev = 15.341/15.341/15.341/0.000 ms

Trying to SSH into the remote server

desktop:[~]: ssh -v 192.168.101.1
OpenSSH_9.6p1, OpenSSL 3.2.2 4 Jun 2024
debug1: Connecting to 192.168.101.1 [192.168.101.1] port 22.
debug1: Connection established.
debug1: identity file /home/user/.ssh/id_ed25519 type 3
debug1: identity file /home/user/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_9.6
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.4p1 Debian-5+deb11u3
debug1: compat_banner: match: OpenSSH_8.4p1 Debian-5+deb11u3 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 192.168.101.1:22 as 'user'
debug1: load_hostkeys: fopen /home/user/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ssh-ed25519
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: curve25519-sha256 need=32 dh_need=32
debug1: kex: curve25519-sha256 need=32 dh_need=32
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
Connection closed by 192.168.101.1 port 22

Tracerouting the IP of the remote server

desktop:[~]: traceroute 192.168.101.1
traceroute to 192.168.101.1 (192.168.101.1), 30 hops max, 60 byte packets
1  * * *
2  * * *
3  * * *
4  * * *
5  * * *
6  * 192.168.101.1 (192.168.101.1)  90.619 ms  90.594 ms

WG configuration

desktop:[~]: sudo wg show
interface: net-HC-Desk1
public key: xxxx
private key: (hidden)
listening port: 48833

peer: xxxx
preshared key: (hidden)
endpoint: (redacted):51820
allowed ips: 192.168.100.0/22, 192.168.200.0/24
latest handshake: 1 minute, 8 seconds ago
transfer: 10.16 KiB received, 31.91 KiB sent

ip link show

desktop:[~]: ip link show net-HC-Desk1 
22: net-HC-Desk1: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/none