[Bug 1811149] Re: 23 wireguard peers hang systemd-networkd
Leonid Evdokimov
leon+ubuntu at darkk.net.ru
Sat Jan 12 16:52:58 UTC 2019
I've written a small script to reproduce the issue and I got following
results using VMs from Linode:
- broken with systemd=237-3ubuntu10.9 on Ubuntu 18.04, 4.15.0-43-generic #46-Ubuntu.
- broken with systemd=237-3ubuntu10.11 on Ubuntu 18.04, 4.15.0-43-generic #46-Ubuntu.
- broken with systemd=239-7ubuntu10.6 on Ubuntu 18.10, 4.18.0-13-generic #14-Ubuntu.
The way I used to reproduce the issue was to 1) start Linode VM, 2) run
`./systemd-wg 23`.
For some reason, 23 is the magic number of peers: 22 peers, 24 peers and
1500 peers work okay, but 23 peers trigger the bug.
Given the fact that 239 is also affected, I'm submitting it upstream.
** Attachment added: "bash script to reproduce the issue"
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1811149/+attachment/5228725/+files/systemd-wg
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1811149
Title:
23 wireguard peers hang systemd-networkd
Status in systemd package in Ubuntu:
New
Bug description:
I'm running Ubuntu 18.04.1 LTS with systemd=237-3ubuntu10.9.
Linux kernel version is 4.15.0-32-generic #35-Ubuntu SMP.
wireguard=0.0.20181218-wg1~bionic from PPA.
I have a Wireguard-based VPN server that has several peers. As soon as
number of peers is 22 or lower, everything works okay. As soon as I
add the 23rd peer, restart of `systemd-networkd` service fails with
timeout while systemd-networkd hogs CPU.
Moreover, if I reboot the box while wireguard configuration is
"broken", systemd-networkd fails to apply network settings on boot and
the box is no longer accessible over the network.
Configuration is structured in a following way (keys are fake):
==> wg0.netdev
[NetDev]
Name=wg0
Kind=wireguard
Description=Wireguard VPN server
[WireGuard]
ListenPort=4500
PrivateKey=kNl7tkhCM1Crj8RhUIn8xvwcg+UoOkw26kQjQEtZk1k=
[WireGuardPeer]
PublicKey=AfM1AN4IIUe5AVypFg2pcNrQmqOtZQIJLgusbkDYXkI=
AllowedIPs=fd6f:b446:a2ca:0400:cb6f:b446:a2ca:bd0b/128
AllowedIPs=fd6f:b446:a2ca:cb6f:b446:a2ca::/96
# and 22 more [WireGuardPeer] like that
==> wg0.network
Name=wg0
[Network]
Address=fd6f:b446:a2ca:0400::1/64
[Route]
Destination=fd6f:b446:a2ca:cb6f:b446:a2ca::/96
# and 22 more [Route] sections like that
syslog logs are attached both for "good" and "bad" cases, sample of
strace logs is also attached for "bad" case.
I'm filling the issue here as the aforementioned systemd version is
already out of scope of upstream bug tracker per
https://github.com/systemd/systemd/blob/master/docs/CONTRIBUTING.md
#filing-issues
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1811149/+subscriptions
More information about the foundations-bugs
mailing list