在Proxmox宿主机上运行的Openwrt的LXC容器效率相比虚拟机会更高,性能也更好。

按照正常流程完成Openwrt的安装和配置之后发现Zerotier无法正常工作。
在Shell输入 zerotier-cli listnetworks 后发现 zerotier提示PORT_ERROR的错误。

PORT_ERROR
一波搜索之后发现是Zerotier正常工作需要tun设备,但LXC容器默认没有提供。
在宿主机(PVE)上打开Shell,输入
nano /etc/pve/lxc/(容器ID).conf
回车后在文本末尾处添加
由于Proxmox在7.0版本之后采用的是cgroupv2。
所以在Proxmox7.0之前的版本添加的是:
lxc.cgroup.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
在Proxmox7.0之后的版本添加的是:
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
在7.0版本之后的PVE上使用cgroup会让tun无法正常工作。

a reference

https://forum.proxmox.com/threads/tun-tap-broken-in-lxc-in-pve-7.92226/