11.1 配置 Jail

创建 jail 目录

获得 FreeBSD 基本系统文件

编译基本系统(可选)

# mkdir -p /usr/jail/  # 创建 jail 路径
# cd /usr/src                          # 切换到 FreeBSD 源码路径,若没有可参照其他文章获得 
# make buildworld                      # 编译基本系统
# make installworld DESTDIR=/usr/jail/ # 安装到 jail
# make distribution DESTDIR=/usr/jail/ # 或者使用该命令

解压分发文件集(可选)

下载 base.txz,或者从 ISO 镜像中提取 base.txz,然后将其解压到 jail 目录。

# tar -xvf base.txz -C /usr/jail/

挂载 devfs 文件系统(非必须)。

# mount -t devfs devfs /usr/jail/dev

/etc/rc.conf 中启用 jail

# sysrc jail_enable="YES"

创建 /etc/jail.conf 文件(也可以写入 /etc/rc.conf 文件,但单独配置更便于管理)。

jail 管理

使用 jls 查看当前运行中的 jail 信息列表。

字段说明(中英对照)

英语
中文

JID

jail ID

IP Address

IP 地址

Hostname

主机名

Path

jail 路径

jail 服务启动与停止

进入 jail

在 Jail ID 为 1 的环境中执行 /bin/sh(进入 shell):

正常关闭 jail

在 Jail ID 为 3 的环境中执行 /etc/rc.shutdown(关机):

更新 jail 系统

启用 ping 支持

/etc/jail.conf 中添加以下配置:

配置完成后请重启 jail 以使配置生效。

  • 示例:

DNS 网络配置

在 jail 内创建并编辑 /etc/resolv.conf 文件,设置 DNS。

故障排除与未竟事宜

删除文件时提示没有权限

递归取消目录及其内容的系统不可修改(schg)标志:

证书验证失败

具体报错信息为:“Certificate verification failed for /C=US/O=Let's Encrypt/CN=E60020C1CD593C0000:error:16000069:STORE routines:ossl_store_get0_loader_int:unregistered”。

经检查系统时间正常。该问题通常出现在 FreeBSD 14.1 RELEASE 和 14.2 RELEASE 中。

解决方法,更新证书数据库的哈希索引:

重新执行 pkg 命令即可。

具体原因尚不明确,可参考以下链接:

最后更新于

这有帮助吗?