如何在LXD管理的LXC容器中允许/ dev / net / Tun?
我试图让Openvpn在LXD / LXC容器内运行,并将流量容器的流量重定向到VPN。
目的是取代完全成熟的VM(和玩具LXD 🙂
我设法从我的主DHCP服务器获取IP,设置iptables规则以伪装/转发流量,但是当我尝试启动openvpn时,它被缺少(访问)/ dev / net / tun设备阻止。
我在ServerFault https://serverfault.com/questions/429461/no-tun-device-in-lxc-guest-for-openvpn上发表了这篇文章,但它似乎不适用于当前版本的LXC和/或LXD管理配置……
编辑:我尝试使用这个咒语,但它没有成功:
lxc config set mycontainer raw.lxc 'lxc.cgroup.devices.allow = c 10:200 rwm'
EDIT2:试过lxc config device add mycontainer tun unix-char path=/dev/net/tun major=10 minor=200
但是在下一站/开始时,我得到了
错误:配置设备tun失败:未实现
现在我甚至不能lxc config device remove mycontainer tun
因为它抛出相同的未实现的错误。 容器似乎丢失了……
你要:
lxc config device add CONTAINER tun unix-char path=/dev/net/tun
在一个没有特权的容器里,我也在努力做到这一点。 我最终做的是
mknod /path/to/your/container/root/tun c 10 200 chown 100000:100000 /path/to/your/container/root/tun
然后在容器内
mkdir /dev/net ln -s /root/tun /dev/net/tun
这意味着我不必对lxc conf进行任何更改
在启动容器之前,需要在主机上创建tun设备: sudo mknod /path/to/your/container/dev/net/tun c 10 200