温馨提示×

Ubuntu邮件服务器如何限速

小樊
36
2026-07-05 13:33:55
栏目: 云计算

在 Ubuntu 上给邮件服务器限速,通常取决于你用的是哪种邮件系统(Postfix、Exim、Sendmail 等)。最常见的是 Postfix,下面以 Postfix + 常见限速场景 为主说明,并补充其他方案。


一、Postfix 邮件服务器限速(最常用)

1️⃣ 限制单用户发信速率(防滥发)

编辑配置文件:

sudo nano /etc/postfix/main.cf

添加或修改:

# 单个客户端最大并发连接数
smtpd_client_connection_count_limit = 5

# 单个客户端连接速率(单位:连接/秒)
smtpd_client_connection_rate_limit = 10

# 单个客户端发送邮件数量(单位:封/分钟)
smtpd_client_message_rate_limit = 20

重载配置:

sudo systemctl reload postfix

✅ 适合防止单个用户或脚本疯狂发信


2️⃣ 限制单封邮件大小(间接限速)

message_size_limit = 10485760   # 10MB

3️⃣ 限制发信频率(按时间)

Postfix 原生不支持“每天最多发多少封”,但可以用 policyd / postfwd 实现。


二、使用 postfwd 做高级限速(推荐)

1️⃣ 安装 postfwd

sudo apt update
sudo apt install postfwd

2️⃣ 规则示例(限速)

sudo nano /etc/postfwd.cf

示例规则:

# 每个发件人每分钟最多 30 封
id=1
    sender=@example.com
    action=rate(sender/30/60)

# 超过限制直接拒绝
id=2
    action=reject 你发信太快,请稍后再试

3️⃣ 启动 postfwd

sudo systemctl enable postfwd
sudo systemctl start postfwd

4️⃣ 让 Postfix 使用 postfwd

main.cf 中添加:

smtpd_recipient_restrictions =
    permit_sasl_authenticated,
    reject_unauth_destination,
    check_policy_service inet:127.0.0.1:10040

三、限制外发带宽(网络层限速)

如果你是想限制邮件服务器整体出口带宽

使用 tc(流量控制)

# 限制 eth0 出口 1Mbps
sudo tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms

查看:

tc qdisc show dev eth0

删除:

sudo tc qdisc del dev eth0 root

四、限制 SMTP 认证用户(防爆破 + 限速)

Fail2ban(防暴力破解)

sudo apt install fail2ban

Postfix 默认支持,无需额外配置。


五、常见限速场景对照表

需求 推荐方案
限制单用户发信速度 postfwd
限制并发连接 Postfix 参数
限制每分钟发信数 postfwd
限制每天发信数 postfwd / 日志分析
限制出口带宽 tc
防止暴力破解 fail2ban

六、建议的安全配置组合 ✅

smtpd_client_connection_count_limit = 5
smtpd_client_connection_rate_limit = 10
smtpd_client_message_rate_limit = 30
message_size_limit = 10485760

配合 postfwd + fail2ban 是最稳妥方案。


如果你愿意,可以告诉我:

  • 使用 Postfix / Exim / 其他
  • 发信限速 还是 收信限速
  • 用户级 / IP 级 / 整体带宽

我可以给你一套可直接复制使用的完整配置

0