wireguard broke with recent update on fedora 31

Barry Scott barry at barrys-emacs.org
Tue Dec 31 13:03:13 CET 2019


I had wireguard working but the recent update of somethng has broken it.

I'm happy to help debug, run test code.

My server end is fedora 31, which is up to date.

kernel-5.3.16-300.fc31.x86_64
wireguard-dkms-0.0.20191226-1.fc31.noarch
wireguard-tools-1.0.20191226-1.fc31.x86_64

The server has 2 phys interfaces, external that is connected to the internet (no NAT)
and internal that is home network. I uses systemd-networkd for the phys interfaces.
wireguard uses a service that runnings these commands to start it up.

    ip link add wg0 type wireguard
    wg setconf wg0 /etc/wireguard/wg0.conf
    ip -4 address add 172.16.4.1/24 dev wg0
    ip link set mtu 1420 up dev wg0

(I also tried a smaller MTU, 1280, with no change).

I use firewalld configured to allow access through wg0.
I have also turned off firewalld to eliminate iptables rules
as a source of problem.

$ wg
interface: wg0
  public key: KNwXI8p8zJVed81RI3WhHQuYEUxIe0/PDP77Z2YSKTI=
  private key: (hidden)
  listening port: 51820

peer: bXUXQRJ9e2RXuxpSofQPVsvGMb5idhZiiF3lTOs1PRQ=
  endpoint: 213.205.240.12:43029
  allowed ips: (none)
  latest handshake: 33 seconds ago
  transfer: 1.02 KiB received, 3.11 KiB sent
  persistent keepalive: every 30 seconds

peer: JGxzN0iT+WIL2rltsWfaKD1IFC/f7b/AxF9peecTDEU=
  allowed ips: (none)
  persistent keepalive: every 30 seconds

peer: hom+2y5nNr9UnsSeyNJvWS6RkvnbTQOWwd8Zopsuzwo=
  allowed ips: 0.0.0.0/0
  persistent keepalive: every 30 seconds

peer bX... is an Android phone running wireguard v0.0.20191220.

A tcpdump show 2 ways comms with the phone

$ tcpdump -n -i external port 51820
11:35:09.545035 IP 213.205.240.12.43029 > 86.19.118.184.51820: UDP, length 112
11:35:09.792170 IP 86.19.118.184.51820 > 213.205.240.12.43029: UDP, length 32
11:35:14.533234 IP 213.205.240.12.43029 > 86.19.118.184.51820: UDP, length 112
11:35:14.800147 IP 213.205.240.12.43029 > 86.19.118.184.51820: UDP, length 148
11:35:14.802647 IP 86.19.118.184.51820 > 213.205.240.12.43029: UDP, length 92
... etc...

But I see nothing for "tcpdump -i wg0". And these stats:

$ ip -s addr show wg0
4: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1280 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none
    inet 172.16.4.1/24 scope global wg0
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast
    180        2        1       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    92         1        0       3       0       0


Run test from phone here. Turn on wireguard, attempt to browse to http://172.16.4.1.

$ ip -s addr show wg0
4: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1280 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none
    inet 172.16.4.1/24 scope global wg0
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast
    180        2        28      0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    188        4        0       3       0       0

The RX errors have increased. dmesg is dull.

Barry




More information about the WireGuard mailing list