计算机技术

解决SMTP发信暴露服务器源IP的方法

很久没有写博客了,一是工作比较忙,二是个人也有点懒,最近很多朋友问,SMTP发信会暴露网站服务器的IP(即使用了CDN),该怎么解决这个问题呢?解决方法其实有很多种,我就说说我目前在用的一种方法,就是使用Haproxy中转,大致上和Haproxy安装及端口转发配置这个文章差不多。好了,废话也就不说那么多了,直接开始吧。

第一步:
需要找一台机器做中转,先安装Haproxy,参考Haproxy安装及端口转发配置这篇文章,然后我们来看看配置文件:

  1. global
  2. ulimitn 51200
  3. defaults
  4. log global
  5. mode tcp
  6. option dontlognull
  7. timeout connect 1000ms
  8. timeout client 150000ms
  9. timeout server 150000ms
  10. listen status
  11. bind 0.0.0.0:1080
  12. mode http
  13. log global
  14. stats refresh 30s
  15. stats uri /admin?stats
  16. stats realm Private lands
  17. stats auth admin:password
  18. stats hideversion
  19. frontend ssin
  20. bind *:10002000
  21. default_backend ssout
  22. backend ssout
  23. server server1 11.22.33.44 maxconn 204800

我们只需要修改上面代码片段中的两处

  1. bind *:465
  2. // 如果是普通模式,那这里就填25,如果是SSL模式,就需要填465
  1. server server1 11.22.33.44 maxconn 204800
  2. //这里的IP需要改成SMTP地址的IP,ping一下SMTP域名即可得到地址

修改完成后,执行重启命令,并设为开机启动

  1. service haproxy restart
  2. chkconfig haproxy on

第二步:
登录WEB服务器,把smtp地址写进/etc/hosts文件,指向中转服务器的IP。假如我使用的是阿里云的邮件推送,那么它的SMTP服务器域名就是:smtpdm.aliyun.com 然后编辑/etc/hosts文件

  1. [root@sscloud ~]# vim /etc/hosts
  2. 127.0.0.1 localhost
  3. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  4. 10.16.156.98 sscloud
  5. 22.33.44.55 smtpdm.aliyun.com
  6. //22.33.44.55就是中转服务器的IP

修改完成后,执行service network restart 重启网卡即可。

Related Articles

发表回复

Check Also
Close
Back to top button