也许我正在追逐一个bug,但我正在尝试建立一个类似的smtp代理.我有一个后缀服务器,它接收服务器/客户端集合的所有电子邮件.它们使用smarthost(relayhost = …)将它的邮件转发给我们的公司MTA.我想限制单个服务器可以中继的消息数量,以防止淹没公司MTA. Postfix有一个名为“anvil”的程序,它能够跟踪有关用于此类事情的邮件的统计信息,但似乎没有执行.当我启动postfix并从远程服务器通过它发送了一些消息时,我运行了“inotifywait -m /usr/lib / postfix / anvil”. inotifywait表示铁砧从未运行过.谁有后缀/铁砧率控制工作?
main.cf
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no append_dot_mydomain = no readme_directory = no myhostname = site-server-q9 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = localhost relayhost = Out outgoing mail relay mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.0.0.0/8 mailBox_size_limit = 0 recipient_delimiter = + inet_interfaces = 10.X.X.X smtpd_client_message_rate_limit = 1 anvil_rate_time_unit = 1h
master.cf提取
anvil unix - - - - 1 anvil smtp inet n - - - - smtpd
最后我使用了policyd来做这种事情.我将其配置为将单个IP地址限制为每小时不超过10000条消息和1 GB.
以下是为自己写的文档的副本,以防有人发现它有用.
原文链接:https://www.f2er.com/ubuntu/348826.html以下是为自己写的文档的副本,以防有人发现它有用.
配置postfix和policyd
安装软件包后,对其配置进行以下更改.在/etc/postfix/main.cf中添加以下行
smtpd_client_restrictions = check_policy_service inet:127.0.0.1:10031
在/etc/postfix-policyd.conf中
>将WHITELISTING = 1更改为WHITELISTING = 0>将GREYLISTING = 1更改为GREYLISTING = 0>将SENDERTHROTTLE = 0更改为SENDERTHROTTLE = 1>将QUOTA_EXCEEDED_TEMP_REJECT = 1更改为QUOTA_EXCEEDED_TEMP_REJECT = 0>更改SENDER_QUOTA_REJECTION =“超出配额.”至SENDER_QUOTA_REJECTION =“超出配额,最多10,000条消息/小时!”>更改SENDER_SIZE_REJECTION =“邮件大小太大.”到SENDER_SIZE_REJECTION =“邮件大小太大.每封邮件10Mb或最大1 Gb /小时!”>将SENDERMSGLIMIT = 512更改为SENDERMSGLIMIT = 10000>将SENDERRCPTLIMIT = 3600更改为SENDERRCPTLIMIT = 10000>将SENDERQUOTALIMIT = 250000000更改为SENDERQUOTALIMIT = 1000000000>将SENDERMSGSIZE = 10240000更改为SENDERMSGSIZE = 50000000>将SENDER_INACTIVE_EXPIRE = 31d更改为SENDER_INACTIVE_EXPIRE = 1h