将 FreeBSD 上的 Ansible 主机和客户机都安装在 Jail 中

目前,我正在努力将其转化为 Ansible Playbook =D ,我也刚刚从 mwl.io 订购了 FreeBSD Mastery Jails 一书,这将是非常有用的

在我的实验室里,我使用 OPNSense 防火墙,它也是我的 DHCP 服务器,默认网关设置为 172.16.28.1,它还充当我的 DNS。下面我们将使用 zroot 作为 zpool 的名称

在主机上执行:

vi /etc/sysctl.conf

添加内容:

# Allow jail raw sockets
security.jail.allow_raw_sockets=1

# Allow upgrades in jail
security.jail.chflags_allowed=1

执行以下内容:

sysctl security.jail.allow_raw_sockets=1
sysctl security.jail.chflags_allowed=1

添加内容:

运行以下内容:

添加以下配置:

运行以下内容:

添加以下 DNS 配置:

执行以下内容:

以下是我敲入的内容:

添加以下配置:

运行以下内容:

奇怪的是......上面的操作在我的 jail 机器里失败了,但当我在真实的硬件设置上设置同样的东西时,它可以正常工作并添加软件包...... jail 得到一个错误,说“Could not update catalogue”(无法更新目录)。

我应该把我的 jail 设置成 Ansible 的 target:

将 ListenAddress 改为 jaill 的 IP。同时在文件末尾添加一个新行,显示以下配置:

执行以下内容:

authorized_keys 应该包括 cat ansible.pub 的输出(不管你给你的 ssh 密钥对起什么名字)在它自己的一行中。

从这里开始,我就在我的普通 FreeBSD 笔记本上执行命令:

添加以下内容:

不需要一直输入 -i hosts

回到 jail 中(我们可能不再需要把 ansible 放在 wheel 组中......这需要考虑。)

添加以下配置:

不需要一直输入 -K 和 sudo 密码,只需使用按键即可。

我在我的主机上添加了一个 [jails] 部分,其中有 jail 的 IP,像以下这样:

现在我可以成为 sudo,而不必输入密码了:

最后更新于

这有帮助吗?