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的配置上。