我正在尝试在非标准 smtp 端口上设置额外的 Postfix smtpd 服务,这允许不使用 TLS 的 smtp 身份验证来支持无法使用 TLS 的旧打印机(通过电子邮件发送扫描和报告)。但是,此打印机仍应提供有效的用户名和密码。
这是服务定义master.cf
:
50025 inet n - - - - smtpd
-o smtpd_tls_auth_only=no
-o { smtpd_client_restrictions=check_client_access hash:/etc/postfix/printer_whitelist,permit_sasl_authenticated,reject }
和/etc/postfix/printer_whitelist
:
8.8.8.8 OK
0.0.0.0/0 REJECT
理论上这应该
- 拒绝所有没有 IP 的客户端
8.8.8.8
- 允许
8.8.8.8
,但前提是身份验证成功
实际上,该printer_whitelist
表似乎不能正常工作。除了上面定义的拒绝之外,我还尝试了0.0.0.0/32 REJECT
, 。0.0.0.0 REJECT
* REJECT
我怎样才能匹配出规则之后被拒绝的所有客户端OK
?
答案1
使用cidr:/etc/postfix/printer_whitelist
而不是hash:/etc/postfix/printer_whitelist
解决了这个问题。