19.3.3 开放使用MTA Relay权限设置/etc/Mail/access

19.3.3  开放使用MTA Relay权限设置/etc/Mail/access

根据图19-1的流程分析可知,MTA主要的功能就是收信与信件转发,即Relay,上一小节提到收信的部分主要与监听接口以及主机名称有关,那能否应用Relay的功能呢?这就是本小节所需要了解的内容。

在SendMail的默认情况下只有SendMail服务器本机(localhost)可以进行信件转发,其他任何客户端都无法使用这台MTA。也就是说,除非您在这台MTA上使用Mail指令,或者使用X Window内的MUA来发信,其他的非本机用户都没有应用Relay的能力。那么这台MTA还有什么用途呢?所以,需要针对客户端的Relay功能进行开放。这个设置需要十分小心,从而避免MTA变成Open Relay的不良状态。

SendMail使用/etc/Mail/access文件来设置开放Relay或者是抵挡Relay的功能,这个文件内的格式如下。

• 规范的范围或规则:SendMail的操作。
• IP/部分IP/主机名/E-mail等:RELAY/DISCARD/REJECT。

在这两个字段之间最好使用

[root@linux ~]# vi /etc/Mail/access
localhost.localdomain           RELAY
localhost                       RELAY
127.0.0.1                       RELAY
192.168.1                       RELAY
140.116.44.202                  RELAY
.edu.tw                         RELAY

[root@linux ~]# cd /etc/Mail
[root@linux Mail]# makemap hash access < access
# 上面这个操作在“制作出hash格式的数据库”,请利用man makemap 即可了解

进行上述操作后,整个内部网段以及外部的其他固定IP主机都能够使用您的MTA来进行Relay了。不过非固定IP还是会有点困扰,因此还可以利用其他认证方式来开放使用权限。更多的Access用法将在Postfix章节中进行介绍。

对SendMail进行上述设置后,您的MTA已经可以接收信件了,也可以接收内部或特定IP的Relay信件,其他更多的设置方式可以参考SendMail的官方网站。由于Postfix本来就是用于兼容SendMail的,所以下面继续介绍Postfix的相关设置方法,您也可以用在SendMail的配置上。

分享到