LXC 容器虚拟化

百科词条 · VPS 术语 · 亦称 LXC / Linux Containers / LXC 容器

LXC(Linux Containers)是 Linux 内核提供的操作系统级轻量虚拟化技术:多个容器共享宿主机的同一个 Linux 内核,依托命名空间(Namespaces)与控制组(cgroups v2)隔离进程与硬件资源;相比 KVM 无虚拟硬件开销、内存密度高且价格亲民,但在内核调优与 TUN 设备访问上受到宿主权限约束。

双核心支撑:命名空间与 cgroups v2

LXC 依托 Linux 内核的六大命名空间(用户、网络、挂载点、PID、IPC、UTS)实现多租户视图切分:每个容器拥有独立的网络协议栈(netns)、独立的虚拟网卡和路由表;控制组(现代发行版均采用统一层级的 cgroups v2)对每个容器的 CPU 时间片配额、物理内存硬限制及磁盘读写带宽实施严格控制,开销极低。

查看来源

非特权容器(Unprivileged Containers)安全模型

LXC 核心安全机制是非特权容器:借助 User Namespaces,容器内的 root 用户(UID 0)在宿主机上实际上被映射为一个极高段的普通无权用户(如 UID 100000)。即便容器内应用遭到漏洞突破并获得容器最高权限,攻击者在宿主机层面依然只是一个无权普通进程,无法直接危害宿主机母鸡。

查看来源

对代理运行的制约(TUN 设备与内核算法)

因为容器共享宿主机内核,使用者无法在 LXC 内部执行 modprobe 挂载独立内核模块,亦无法单独更换系统内核或调整全局拥塞控制算法(BBR 状态完全取决于宿主机是否全局开启)。此外,非特权容器默认无法直接创建 /dev/net/tun 字符设备,需要服务商在宿主机配置中明确添加设备直通规则(lxc.cgroup2.devices.allow 与挂载项),否则无法开启 Sing-box / Clash 的 TUN 增强模式。

适用场景与选购建议

LXC 启动速度达到毫秒级,无硬件虚拟化指令损耗,单台宿主机可高密度部署数百台实例,因此多见于超低预算的「玩具机」或纯出站代理用途。若仅用于运行 Xray、VLESS 或标准 Socks5 服务端,LXC 性能非常轻快;但若有 Docker 嵌套虚拟化、全局 TUN 透明网关或特定内核加速需求,应优先选择 KVM 架构。

参考资料