如何防止Postfix因发件人而过载?

Postfix

1 基础知识

1.1 限制单位时间内最大消息数量

smtpd_client_message_rate_limit = 1000

需要注意的是,
– 参数用于限制smtp客户端(邮件发送者)单位时间内能发送的最大消息数量
– 参数用于防止邮件服务器被单个客户端发送过多的消息而导致过载
– 参数默认值为“0”(即表示禁用此功能)
– 参数时间单位由“anvil_rate_time_unit”配置参数指定,默认值为“60s”
如果你需要验证当前配置,可以使用如下命令,

postconf | grep -i anvil_rate_time_unit

1.2 限制单位时间内最大收件人数量

smtpd_client_recipient_rate_limit = 1000

需要注意的是,
– 参数用于限制smtp客户端(邮件发送者)单位时间内能发送的最大收件人数量
– 参数用于防止邮件服务器被单个客户端发送过多的收件人而导致服务器过载
– 参数默认值为“0”(即表示禁用此功能)
– 参数时间单位由“anvil_rate_time_unit”配置参数指定,默认值为“60s”

1.3 限制单位时间内最大连接数量

smtpd_client_connection_rate_limit = 1000

需要注意的是,
– 参数用于限制smtp客户端(邮件发送者)单位时间内能发送的最大连接数量
– 参数用于防止邮件服务器被单个客户端建立过多的连接而导致服务器过载
– 参数默认值为“0”(即表示禁用此功能)
– 参数时间单位由“anvil_rate_time_unit”配置参数指定,默认值为“60s”

2 最佳实践

2.1 修改服务配置

vim /etc/postfix/main.cf

加入如下配置,

smtpd_client_message_rate_limit = 300
smtpd_client_recipient_rate_limit = 1000
smtpd_client_connection_rate_limit = 1000

然后,你可以使用如下命令检查配置语法,

postfix check

2.2 重载服务使配置生效

systemctl reload postfix

参阅文档
====================
https://www.postfix.org/postconf.5.html

没有评论

发表回复

Postfix
如何设置PostFix自动填补message-id?

1 前言 一个问题,一篇文章,一出故事。 笔者生产中的smtp服务器遇到有的邮件message-id …

Postfix
如何启用PostFix的调试模式?

1 前言 一个问题,一篇文章,一出故事。 笔者生产中的smtp服务器最近遇到日志显示投递成功,但是对 …

Bash
如何用Tigase监控postfix smtp服务?

1 前言 一个问题,一篇文章,一出故事。 笔者生产中的smtp服务器最近因为负载均衡器的路由故障而导 …