Doch, Wireguard funktioniert in dem Container. Jedenfalls in einem VS2-free, den CBCI Betatest Container habe ich nicht mehr.
Da der Kernel die nötige Unterstützung nicht bietet, benötigt man die Userspace-Implementierung wireguard-go von
https://git.zx2c4.com/wireguard-go/about/.
Das Tool muss man selber bauen, das muss aber nicht in dem Container geschehen. Dazu Go 1.13 oder neuer installieren und folgendes ausführen:
$ git clone https://git.zx2c4.com/wireguard-go
$ cd wireguard-go
$ make
Das resultierende Programm wireguard-go dann ggf. mit SCP auf den Container kopieren und im PATH ablegen, z.B. nach /usr/local/sbin/.
In der Wireguard-Konfiguration benötigt man einen Hook, der das TUN Device anlegt. Das sieht etwa so aus:
# /etc/wireguard/wg0.conf
[Interface]
PreUp = ip tuntap add dev tun0 mode tun
PostDown = ip link delete tun0
Address = 10.10.10.10
ListenPort = 51820
PrivateKey = ...
[Peer]
PublicKey = ...
AllowedIPs = 10.0.0.0/8
Damit sollte sich wireguard starten lassen:
# wg-quick up wg0