1.
前期准备:明确需求与测试指标
- 明确用途:邮件群发/爬虫/多业务隔离/代理流量等。
- 指标列表:延迟(ms)、丢包率(%)、带宽(Mbps)、端口连通性(尤其25/587)、rDNS状态、是否被RBL列入黑名单、提供商是否允许端口25直连。
- 工具准备:mtr/traceroute/ping/iperf3/tcping/curl/telnet、ssh 客户端、管理员权限的VPS(root)。
2.
从推荐列表中筛选供应商的关键条件
- IP 数量与类型:是否提供多个独立 IPv4,是否支持子网委派(更利于 rDNS)。
- 网络出口与运营商:选择多出口或直连中国/亚太优质骨干的供应商(如 CN2、香港本地骨干),查询路由是否稳定。
- 端口策略与反滥用条款:查看是否封 25 端口、是否限制邮件流量或要求认证邮件网关。
- DDoS 防护与带宽计费方式:计费按流量还是按峰值,是否有清洗服务。
3.
拿到试用IP后实测连通性与延迟
- Ping 与 mtr:mtr -c 100
或 traceroute ,记录平均延迟与丢包点。
- 带宽测试:在服务器与测试点运行 iperf3:服务端 iperf3 -s;本地客户端 iperf3 -c -P 4 -t 30。
- 端口检测:telnet 25 / tcping 25,确认 SMTP 端口是否可连。记录不同 IP 在不同时间的表现以判定稳定性。
4.
配置多IP与路由策略(Linux 实操示例)
- 给 VPS 添加第二个 IP:ip addr add 203.0.113.2/32 dev eth0
- 为每个 IP 建表:在 /etc/iproute2/rt_tables 添加 101 mail1、102 mail2。
- 添加路由与规则:ip route add default via 203.0.113.1 dev eth0 table mail1;ip rule add from 203.0.113.2/32 table mail1。
- 验证:ip rule show;ip route show table mail1;用 curl --interface 203.0.113.2 http://ifconfig.me 检查出口 IP。
5.
性能路由比较要点(如何判断哪个 IP 更适合外发)
- 出口路径质量:用 mtr 对目标邮件服务器或主要客户 IP 测试,查看中转点丢包与延迟。
- 带宽与并发表现:用 iperf3 并发连接测试不同 IP 的并发吞吐,观察 TCP 重传。
- 实战投递测试:向多家常见邮箱(Gmail、Yahoo、163、qq)发送测试邮件,记录到达率、延迟与退信信息。
6.
反垃圾基础设置(SPF/DKIM/DMARC 与 rDNS)
- SPF:在域名 DNS 添加 TXT:v=spf1 ip4:203.0.113.2 ip4:203.0.113.3 -all。
- DKIM(以 opendkim 为例):安装 opendkim,生成密钥 opendkim-genkey -t -s mail -d example.com,添加 DNS TXT 记录,配置 /etc/opendkim.conf 并在 Postfix 指定 milter。
- DMARC:添加 _dmarc.example.com TXT:v=DMARC1; p=quarantine; rua=mailto:postmaster@example.com。
- rDNS/PTR:向 VPS 提供商申请把每个 IP 的 PTR 指向对应的 mail.example.com,确保 PTR 与 HELO/SMTP banner 一致。
7.
反垃圾进阶:服务器端限速与黑名单防护
- Postfix 限速:在 main.cf 中配置 smtpd_client_connection_rate_limit、smtpd_client_recipient_rate_limit。
- iptables 限速:示例:iptables -A OUTPUT -p tcp --dport 25 -m connlimit --connlimit-above 20 -j REJECT,或使用 hashlimit 按 IP 限速。
- 故障拦截:安装 fail2ban,针对 postfix 日志规则封禁暴力连接者。
- DNSBL 检查:运行 dig +short .zen.spamhaus.org 或使用 mxtoolbox 检测是否列入黑名单,若被列入联系提供商与相应 RBL 去查处。
8.
如果某IP被列黑的处理流程(实操步骤)
- 立即停止该 IP 的大规模发信(iptables -A OUTPUT -o eth0 -d 0/0 -p tcp --dport 25 -j REJECT 于该源IP)。
- 确认日志原因:grep postfix /var/log/mail.log,定位退信或拒收原因。
- 征询 RBL:在 spamhaus/other RBL 网站查明原因并按照其解除流程申请 delist。
- 长期策略:将发送流量迁移至新 IP,保留被列黑 IP 用于非外发用途,或申请替换 IP。
9.
运营维护与监控建议
- 日志与报警:部署 ELK 或简单的 logwatch,设定邮件投递失败率、 bounce 增加 等报警阈值。
- 自动切换策略:当主 IP 连通或投递质量下降时,利用脚本修改 ip rule 或 Postfix smtp_bind_address 切换出口。
- 定期健康检查:每周执行端口、rDNS、RBL 与投递测试并记录历史以做对比。
10.
挑选供应商时的最终对比表(实践步骤)
- 建立对比项:价格、可用 IPv4 数、rDNS 支持、是否允许 25、带宽与峰值、试用期与 SLA、客户支持响应时间。
- 逐项测试并记录(用表格记录 mtr、iperf、端口连通与 RBL 状态),对比后按“邮件可用性优先,延迟次之,价格最后”的原则排序。
11.
问:如何快速判断某个香港 IP 是否适合大规模外发邮件?
答:实际操作步骤:1) ping/mtr 到主要目标域(如 Gmail MX)检查丢包与延迟;2) telnet IP 25 确认端口可连且 HELO 未被阻断;3) 检查 rDNS 是否正确;4) 用 dig 检查是否被 RBL 列黑;5) 小批量投递到不同域名并统计到达率。若以上都通过且无 RBL,则可考虑放入外发池。
12.
问:Linux 上最稳妥的多 IP 输出路由实现步骤是什么?
答:标准流程:1) 为每个 IP 添加到网卡(ip addr add);2) 在 /etc/iproute2/rt_tables 添加自定义路由表;3) 为每个 IP 添加对应的默认路由到独立表(ip route add ... table X);4) 用 ip rule add from /32 table X 指定源地址路由;5) 验证并通过 curl --interface 或 traceroute 检查出口;6) 将 Postfix 等邮件服务绑定到相应 IP。
13.
问:如果 VPS 提供商封端口25或限制邮件,如何兼容反垃圾策略?
答:有三种做法:1) 使用提供商推荐的 SMTP 中继(Authentication relay)并在 DNS 做好 SPF/DKIM;2) 申请专门的邮件专线或商业邮件通道(付费);3) 将外发流量分散到合规的第三方 SMTP 服务(如 SendGrid、Mailgun)并在 DNS 配置授权,同时保持 rDNS 与 DKIM 对应域名一致,确保投递信誉。