Postfix chroot dns 解决问题(Ubuntu 18.04.4 LTS,Postfix 3.3.0)
Postfix chroot dns resolve problem (Ubuntu 18.04.4 LTS, Postfix 3.3.0)
我在 master.cf 文件中使用 chroot=y 配置了一个 Postfix 设置(完整的原始配置)。启用 chroot 后,DNS 解析不起作用(发件人来自有效的流行服务):
"postfix/smtpd[19114]: connect from unknown[X.X.X.X]"
我尝试过的可能解决方案:
- 复制/lib/x86_64-linux-gnu/libnss_*和需要的lib文件到jail(/var/spool/postfix/...)
- 使用 systemd-resolved 并替换为 resolvconf 包(用于测试)
- static /etc/resolv.conf(不是 /run/systemd/system/resolv.conf 符号链接)
- nsswitch.conf
中的各种可能性
主机文件在 chroot 模式下工作,我已经用静态条目进行了测试。
还有其他可能的解决方案吗?
感谢您的帮助。
Z
我找到了解决方案。
如果您的系统 运行 ZFS 或有任何单独的分区(如 /var/spool),那么您需要确保该分区(后缀 chroot 所在的位置)具有执行权限。
对于 ext4 文件系统,默认值通常就足够了,zfs 需要 exec 标志。
运行 /usr/lib/postfix/configure-instance.sh
将 chroot 所需的库和配置文件复制到 /var/spool/postfix
.
我在 master.cf 文件中使用 chroot=y 配置了一个 Postfix 设置(完整的原始配置)。启用 chroot 后,DNS 解析不起作用(发件人来自有效的流行服务): "postfix/smtpd[19114]: connect from unknown[X.X.X.X]"
我尝试过的可能解决方案:
- 复制/lib/x86_64-linux-gnu/libnss_*和需要的lib文件到jail(/var/spool/postfix/...)
- 使用 systemd-resolved 并替换为 resolvconf 包(用于测试)
- static /etc/resolv.conf(不是 /run/systemd/system/resolv.conf 符号链接)
- nsswitch.conf 中的各种可能性
主机文件在 chroot 模式下工作,我已经用静态条目进行了测试。
还有其他可能的解决方案吗?
感谢您的帮助。
Z
我找到了解决方案。
如果您的系统 运行 ZFS 或有任何单独的分区(如 /var/spool),那么您需要确保该分区(后缀 chroot 所在的位置)具有执行权限。
对于 ext4 文件系统,默认值通常就足够了,zfs 需要 exec 标志。
运行 /usr/lib/postfix/configure-instance.sh
将 chroot 所需的库和配置文件复制到 /var/spool/postfix
.