19.7.6 非固定IP也有春天

19.7.6  非固定IP也有春天

上面提到,如果您要架设一台合法的MTA,最好还是要申请固定的IP以及正确对应的反解比较恰当。但如果您一定要用浮动IP来架设MTA的话,也不是不可以,只不过您需要通过上层ISP所提供的Relay权限了。这是怎么回事?让我们来看看一个实际的案例,如图19-13所示。

图19-13 利用ISP的MTA进行邮件转发

理论上,由于我们是向ISP申请IP的,所以我们的IP对于ISP的MTA来说,应该都符合Relay的要求。那如果利用这个IP来架设一个Mail Server,并且让这个Mail Server的主机名称对应为DDNS时,则我的IP与主机名称是对应的,所以当然可以架设各种网站服务器。如果没有设置以ISP的MTA作为Relay的情况下,目标MTA会反解析我们的IP,若得到此IP为非合法的主机名称时,该信件原则上是会被退件的。

如果我以ISP的MTA来作为Relay主机时,因为所在的IP本来就能够使用ISP MTA的Relay功能,所以图19-13的第一步是没问题的。然后当ISP的MTA在进行Relay而将信件寄出去时,目标MTA所看到的来源端是ISP的IP而不是我们原本的发信源。如此一来我们的MTA就能够架设起来了。

不过想要以此架构来架设MTA仍有如下需要注意的地方。

· 要有一个合法的主机名称,若要省钱,可以使用DDNS来处理。
· 上层的ISP所提供的MTA必须有提供您所在IP的Relay权限。
· 不能使用自订的内部DNS架构,因为所有Relay的信都会被送至ISP的MTA。

尤其是最后一点,因为所有外送的信件全部都会被送到ISP处,所以像自己设置的vbird.tsai这种非法的领域数据就没用了。为什么呢?如果您要将信件送给Mail.vbird.tsai,但由于上述的功能,这封信被传到ISP的MTA来处理,但ISP的MTA会不会认识您的vbird.tsai?这样就很容易理解了。

说起来很难,做起来却很简单,只要在main.cf里加上一段数据即可。假设您的环境是中国台湾地区的Hinet所提供的用户,而Hinet提供的邮件主机为ms1.hinet.net,则您可以直接这样设置:

[root@linux ~]# vi /etc/Postfix/main.cf
# 加入下面这一行即可。注意那个中括号
Relayhost=[ms1.hinet.net]

[root@linux ~]# /etc/init.d/Postfix restart

之后只要尝试寄一封信出去看看,就会了解这封信是如何寄送的了。日志文件的内容如下:

[root@linux ~]# tail -n 20 /var/log/Maillog
Nov 28 18:42:30 linux Postfix/SMTP[23673]:
515E8A26CE:to=

如此一来,您的MTA感觉上就似乎是台合法的MTA了。不过,可别利用这个权限来滥发广告邮件。因为您所通过的那个ISP邮件主机可是有记录您的IP来源,如果您胡乱操作的话,后果可是不堪设想。

分享到