解决 在 LXC容器 (PVE) 运行 Openwrt 时无法使用 Zerotier 问题
FishHe5
2022年04月21日 03:07
收录于文集
共4篇

在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/