Postfix发件的频率控制

postfix发信的频率控制有几个:anvil_rate_time_unit = 120s 设置限制时间
 
smtpd_client_connection_rate_limit=5
 ip地址连接的频率控制.  含义为在120s内发送5封邮件
 smtpd_client_message_rate_limit=5
 客户端发送邮件的频率控制.(某种情况下smtpd_client_message_rate_limit和 smtpd_client_connection_rate_limit的效果是一样.smtpd_client_connection_rate_limit是指连接到服务器25端口就开始计算,smtpd_client_message_rate_limit是发送邮件时计算.)
 
smtpd_client_recipient_rate_limit=10
 rcpt to的频率控制,也就是说TO了多少个人.
 smtpd_client_event_limit_exceptions = ${smtpd_client_connection_limit_exceptions:$mynetworks}
 指不做频率控制检测的网络,默认是mynetworks.
 
 posftfix的性能控制
 之所以对postfix的性能进行控制,是为了在遇到邮件风暴时保证postfix可以正常运行。通常,我们可以通过对下列postfix参数的配置来调节postfix的性能,这些参数都是通过mail.cf配置文件进行配置的,修改以后不要忘了运行postfix reload命令来使配置生效。
 
1. 进程数限制
 可以通过default_process_limit 参数来控制postfix系统同时可以运行的最大进程数目。缺省值是50个。
 
2. 对同一目标主机的并发连接限制
 当向同一目标主机发出SMTP连接时,postfix初始化发出两个SMTP连接,如果投递成功则增加并发的SMTP连接数目,遇到拥塞时又减少并发连接的数目。postfix中通过以下的参数对同一目标主机的并发连接进行控制:
 * initial_destination_concurrency:控制对同一目标主机的初始化并发连接数目。缺省值为2。
 * default_destination_concurrency_limit:控制初始化连接后对同一目标主机的最大并发连接数目。缺省值为10。
 * local_destination_concurrency_limit:控制对同一本地收件人的最大同时投递的邮件数目。缺省值为2,因为对本地同一收件人投递邮件时投递工作只能一个接一个的进行,所以设得在大也没用。
 
3. 对同一封邮件的收件人数目限制
 通过default_destination_recipient_limit参数来控制postfix的投递代理(如
 smtp进程)可以将同一封邮件发送给多少个收件人。缺省值为50。也可以用明确指出该投递代理的参数来覆盖该缺省值。如用smtpd_recipient_limit来指定smtp投递代理可以将同一封邮件发送给多少个收件人,该参数的缺省值为1000。
 
 4. 推迟投递控制
 通过defer_transports参数,我们可以推迟投递该参数指定的邮件直到postfix明确的提出投递要求。下面我们看一个例子:
 有一个小型的局域网,用户都将邮件发送给局域网内部的一台postfix
 邮件服务器,然后通过在该服务器上拨号将邮件发送出去。这时我们可以这样指定该参数的值:
    defer_transports = smtp
 该语句表示postfix推迟投递所有的邮件直到执行sendmail -q命令,这样
 我们就可以在ppp的脚本中加上sendmail -q,以便在拨号成功后让postfix开始投递邮件。
 
5. 关于延迟邮件的再投递控制
 可以通过以下的几个参数实现对延迟邮件的再投递控制:
 queue_run_delay:设置队列管理进行扫描deferred邮件队列的频率,缺省值为1000秒。
 maximal_queue_lifetime:设置postfix在放弃投递而返回不可投递信息前,被延迟邮件再deferred邮件队列中的生存时间。
 minimal_backoff_time:当一封邮件投递失败后,邮件队列将在一段时间内忽视该邮件的存在,也就是我们前面讲的时间邮票。该参数就是用来设置最小的时间邮票。缺省值为1000秒。
 maximal_backoff_time:设置最大的时间邮票。
 
6. 对拒绝服务攻击的处理
 postfix对每一个SMTP会话都设置一个错误计数器,当该客户端的请求未
 被接受或违反那UCE规则时,该计数器就增1。随着计数器的增加,postfix将采取不同的措施来防止恶意用户的拒绝服务攻击。
 smtpd_error_sleep_time:当该错误计数器的值还很小时,postfix将暂停
 smtpd_error_sleep_time指定的时间,然后向客户端报告一个错误。该参数的缺省值为5秒。
 smtpd_soft_error_limit:当错误计数器的值超过该参数指定的值时,postfix在响应该客户端请求前将沉睡一段时间。缺省值为10。
 smtpd_hard_error_limit:当错误计数器的值超过该参数指定的值时,postfix
 中断同该客户端的连接。缺省值为100。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/31dda259a16b7e7ce40169089f527af9.html