一个不是秘密的秘密,使用SMTP发信也会暴露源站IP。这个信息很多站长知道也有些不知道的,如何隐藏服务器源IP呢,一是可以使用第三方API发信等方法,二是使用haproxy来端口转发。第二个方法是在朋友高明松的博客看到的,实测可行。朋友的系统是centos6,我用的debian7,所以也记录下debian7的过程。
首先安装haproxy,centos很简单,直接yum -y install haproxy就行。我是用的是debian7这里遇到了点坑,apt-get安装提示没有这个包。后来搜索到https://haproxy.debian.net/,直接生成debian/ubuntu的安装命令。以haproxy 1.5为例:
echo deb http://httpredir.debian.org/debian wheezy-backports main | \ sed 's/\(.*\)-sloppy \(.*\)/&@\1 \2/' | tr @ '\n' | \ tee /etc/apt/sources.list.d/backports.list
然后就更新下安装
apt-get update apt-get install haproxy -t wheezy-backports
然后清空haproxy.cfg文件内容
cd /etc/haproxy/ > haproxy.cfg
然后把下面的内容写入到haproxy.cfg文件中
global ulimit-n 51200 defaults log global mode tcp option dontlognull timeout connect 1000ms timeout client 150000ms timeout server 150000ms listen status bind 0.0.0.0:1080 mode http log global stats refresh 30s stats uri /admin?stats stats realm Private lands stats auth admin:password stats hide-version frontend ssin bind *:465 #如果是普通模式,那这里就填25,如果是SSL模式,就需要填465 default_backend ssout backend ssout server server1 11.22.33.44 maxconn 204800 #这里的IP需要改成SMTP地址的IP,ping一下SMTP域名即可得到地址
修改完成后,执行重启命令,并设为开机启动
service haproxy restart chkconfig haproxy on
接着修改WEB服务器上的hosts文件,vim /etc/hosts,把smtp地址写进/etc/hosts文件,指向中转服务器的IP。假如我使用的是阿里云的邮件推送,那么它的SMTP服务器域名就是:smtpdm.aliyun.com 然后编辑/etc/hosts文件
[root@sscloud ~]# vim /etc/hosts 127.0.0.1 localhost ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 22.33.44.55 smtpdm.aliyun.com #22.33.44.55就是中转服务器的IP
修改完成后,执行service network restart 重启网卡即可。然后试试你的发信吧,看看邮件原文里源站IP变成了中转的服务器没有。
我的微信公众号
我的微信公众号扫一扫
2017年5月22日 下午6:40 沙发
haproxy还可以用于ss转发 XD
2017年5月23日 下午2:27 1层
@von 这个你懂的!
2018年8月20日 下午2:34 板凳
为什么我复制“把下面的内容写入到haproxy.cfg文件中”的代码会出错?是不是不能一起复制?vps是搬瓦工的。
2020年2月19日 上午10:54 地板
为什么我修改以后发邮件里出现两个IP,一个是腾讯企业邮箱的IP,一个是我自己的源IP