我突然每天收到很多垃圾邮件,我正尝试通过 IP 过滤来源。
在我的main.cf
文件中我有这个:
smtpd_client_restrictions =
check_client_access cidr:/etc/postfix/blacklist,
permit
在此blacklist
文件中,我按照以下方式定义了 IP 地址和网络https://linux.die.net/man/5/access。我不按域名过滤,因为每个垃圾邮件都有不同的域名。
1.2.3.4 REJECT Blacklisted
5.6.7 REJECT Blacklisted
我cdb
以前用过,除了网络(),其他都很好用5.6.7
。我换了,cidr
显然是推荐的,但我仍然收到垃圾邮件,尽管网络在我的黑名单文件中。
我sudo postmap /etc/postfix/blacklist && sudo postfix reload
将网络添加到黑名单文件后这样做了,但没有过滤垃圾邮件。
答案1
指定明确的网络掩码。
语法cidr
桌子与更简单的索引文件(如 DB 或 DBM)不同,它需要一个明确的掩码 - 并使用它来更好地表示小于或大于 /8 /16 /24 的块。
# network_address/network_mask result
192.0.2.0/24 REJECT Blacklisted
203.0.113.128/28 REJECT Blacklisted
使用以下方法测试您的文件postmap -q
:
# postmap -q 203.0.113.144 cidr:/path/to/example.cidr
# postmap -q 203.0.113.143 cidr:/path/to/example.cidr
REJECT Blacklisted
如果出现语法问题,将会发出警告,如果 IP 与任何列出的网络不匹配,则不会打印结果。