For the complete documentation index, see llms.txt. This page is also available as Markdown.

31.5 Alpine Jail

创建 Alpine Jail 基本系统

构建基本系统:

# 下载 Alpine Linux 3.17.1 minirootfs 镜像
# fetch https://mirrors.ustc.edu.cn/alpine/v3.17/releases/x86_64/alpine-minirootfs-3.17.1-x86_64.tar.gz

# 创建 Alpine Jail 根目录
# mkdir -p /usr/jails/alpine

# 解压 minirootfs 到 Jail 根目录
# tar zxf alpine-minirootfs-3.17.1-x86_64.tar.gz -C /usr/jails/alpine/

# 创建必要的设备节点
# touch /usr/jails/alpine/dev/shm
# touch /usr/jails/alpine/dev/fd

管理挂载文件

创建 /etc/fstab.alpine 文件。其中 /tmp 挂载已被注释,避免将整个宿主机 /tmp 目录暴露给 Jail,以提高安全性:

devfs      /usr/jails/alpine/dev      devfs       rw                      0  0
tmpfs      /usr/jails/alpine/dev/shm  tmpfs       rw,size=1g,mode=1777    0  0
fdescfs    /usr/jails/alpine/dev/fd   fdescfs     rw,linrdlnk             0  0
linprocfs  /usr/jails/alpine/proc     linprocfs   rw                      0  0
linsysfs   /usr/jails/alpine/sys      linsysfs    rw                      0  0
#/tmp       /usr/jails/alpine/tmp      nullfs      rw                      0  0  # 注释掉可避免将整个宿主机 /tmp 目录暴露给 Jail

管理 Jail 模板

/etc/jail.conf 文件中写入:

设置开机时启动,随后立即启动:

防火墙放行网络

在 pf 防火墙中允许网络访问,与前述方法相同:

为基本系统配置 OpenRC

进入 Jail。minirootfs 仅提供基础环境,安装 OpenRC 可获得完整的服务管理能力:

修改 /etc/jail.conf 文件中 Alpine 的配置:

重启 alpine Jail:

最后更新于