Skip to content

Instantly share code, notes, and snippets.

@wastrachan
Last active March 21, 2023 13:07
Show Gist options
  • Star 23 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save wastrachan/8d75ecf39db1fc25ae73c93989a8df11 to your computer and use it in GitHub Desktop.
Save wastrachan/8d75ecf39db1fc25ae73c93989a8df11 to your computer and use it in GitHub Desktop.
OpenVPN in LXD Container
# On the host
=============
lxc config set openvpn raw.lxc 'lxc.cgroup.devices.allow = c 10:200 rwm'
lxc config device add openvpn tun unix-char path=/dev/net/tun
# In the container
==================
1. mknod /dev/net/tun c 10 200
2. install OpenVPN (https://github.com/Nyr/openvpn-install or manual)
3. edit /lib/systemd/system/openvpn@.service -- comment out/remove `LimitNPROC=10`
4. systemctl daemon-reload or reboot container
@friki67
Copy link

friki67 commented Oct 30, 2022

Hello!

Trying to get this working in a container ubuntu/focal. When I first launch the container, I can list /dev/net/tun, so when I try to do mknod it says it exists.

But when I try to launch openvpn I always get

ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)

I've tried debian and opensuse containers, same result. What am I doing wrong?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment