Iximiuz Labs

iximiuz Labs,在真实服务器上通过引导式学习路径练习 Linux、Docker、Kubernetes 与网络技能的在线实验室。

变更根目录:chroot 入门教程

chroot 是1979年Unix引入的文件系统隔离机制,通过修改内核中进程根目录指针实现隔离。现代容器运行时(containerd、CRI-O)已不再使用chroot,改用Mount Namespaces和pivot_root。教程演示了用crane导出Alpine根文件系统并进入chroot环境,同时指出chroot无法隔离PID、网络栈和内存,root用户仍可逃逸。
评论点赞收藏4 天前

Linux线程与并发:从内存布局到调度原理

Linux内核把线程实现为轻量级进程(LWP),通过clone系统调用创建,共享父进程的虚拟地址空间但拥有独立的执行栈和寄存器。每个线程有唯一的内核TID(gettid),而同属一个进程的所有线程共享同一个TGID(getpid返回的值)。并发不等于并行——单核CPU上线程是快速切换执行的,真正同时执行需要多核。线程每创建约需2-8MB栈内存,万级并发时上下文切换开销会显著超过实际工作。
评论点赞收藏10 天前

编写一个不包含 main() 函数的合法 C 程序

通过完整拆解 GCC 编译链接流程,揭示 main 只是 C 运行库约定的入口,内核实际跳转的是 _start。教程演示了使用 -nostartfiles 跳过启动文件,手写汇编 _start 并直接调用 sys_write 和 sys_exit 系统调用,成功生成不依赖 libc 且不含 main 函数的可执行 ELF 文件。
评论点赞收藏21 天前

从零构建容器桥接网络:深入解析容器网络原理

从零实现单主机容器网络,深入解析 Network Namespace、Veth Pair、Bridge 和 NAT 的工作原理。文章通过实际命令演示了如何隔离网络环境、连接容器与宿主机,并解决了多容器路由冲突问题。适合希望彻底理解 Docker 网络底层机制、摆脱黑盒操作的工程师阅读。
评论点赞收藏36 天前

eBPF 与 Wasm 结合:告别样板代码的工程实践

文章以 Inspektor Gadget 为例,介绍如何将 eBPF 程序与 Wasm 模块打包成 OCI 镜像。这种方式让开发者只需关注内核事件捕获和数据处理的逻辑,无需重复编写加载、挂载和清理等样板代码。 通过实际演示,展示了如何运行 gadget 并查看其内部结构。这种架构简化了 eBPF 开发流程,提高了代码的可复用性和便携性,是云原生安全与可观测性领域的一个实用工程实践。
评论点赞收藏58 天前

服务器工作原理:TCP Socket动手入门指南

本文通过Python代码从零构建一个简单的TCP服务器和客户端,深入讲解Socket、TCP协议、数据包分片与重组、连接建立及端口机制。 文章不仅解释了底层网络原理,还详细剖析了操作系统如何处理文件描述符、监听队列(backlog)以及accept调用的阻塞行为,适合后端工程师理解网络编程基础。
评论点赞收藏76 天前

从局域网到VXLAN:非网络工程师的网络基础

本文详细讲解了从局域网(LAN)到虚拟扩展局域网(VXLAN)的网络基础概念。涵盖了物理段、冲突域、广播域、VLAN以及IP包在不同层级间的传输机制。 文章重点解释了L2与L3段的边界关系,以及VXLAN如何通过封装UDP在三层网络上构建虚拟二层网络,突破了传统VLAN的数量限制。
评论点赞收藏79 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。