Postfix - mynetworks 列表选项

Postfix - mynetworks 列表选项

我正在设置 Postfix 来为不支持身份验证的内部设备转发邮件。我们将拥有多台设备。有没有更简单的方法来列出设备,而不是只用逗号分隔它们?随着时间的推移,这个列表可能会变得很长,因为子网不同。任何关于如何更好地管理这个列表的建议都会有所帮助。

mynetworks = 192.168.1.5, 192.168.1.62, 192.168.1.64

谢谢!Eric

答案1

根据您的要求,最简单的方法可能是简单地列出整个范围,例如您提供的所有 IP 都是 RFC1918(不可路由)空间,因此您可以使用类似

mynetworks = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12(如果您不熟悉它,每个 IP 范围末尾的 /XX 表示范围有多大 - /24 是 C 类)

如果您只有这些范围内的 IP 地址,即,您可以将一个主机设为 192.168.1.3,将另一个主机设为 192.168.20.44,并且两者都将被覆盖,因为它们是更大的非路由块的一部分。(但不要对可路由的 IP 地址执行此操作)。

另一种让生活更轻松的方法可能是使用哈希表、mysql 表或正则表达式列表(就像您可能对其他选项所做的那样)将此信息放入单独解析的文件中。请参阅DATABASE_README.html#类型获取查找表类型的列表

答案2

我创建了一个名为 auth_mailers 的文件:

#HQ Wired
172.16.2.2   any_value

#HQ Wireless
172.16.3.2   any_value

创建哈希表:

postmap auth_mailers

编辑我的 main.cf

mynetworks = hash:/etc/postfix/auth_mailers

重新加载后缀:

sudo /etc/init.d/postfix reload

这似乎有效,但我会做更多的测试。

答案3

如果要使用带有掩码值的网络符号,如 192.168.0.0/16,则应使用 cidr 类型,而不是哈希类型。格式相同

192.168.0.0/16          any_value
10.0.0.0/8              any_value

相关内容