使用 Winmail 架设防病毒防垃圾的邮件网关

为什么要架设防病毒防垃圾邮件网关?
目前 Internet 垃圾邮件的数量越来越多,很多企业使用 Microsoft Exchange 或者 IBM Lotus Notes/Domino, 购买和这些产品配合的专用的防病毒防垃圾邮件网关价格昂贵, 这时采用价格低又具有较强防病毒防垃圾功能的 Winmail 做为邮件网关, 不失为一种性价比高的解决办法。

怎样使用winmail架设防病毒防垃圾的邮件网关?

系统架构图

 

邮件网关上安装两块网卡,一块连接外网(如ip为202.102.12.122),一块连接内网(如ip为192.168.0.2),假设邮件服务器的ip为192.168.0.1,你公司的域名为mycompany.com,邮件网关主机名为mail.mycompany.com。

首先设置你的dns解析,增加一条A记录mail,ip地址为202.102.12.122。把 mycompany.com 的mx记录指向mail.mydomain.com,注意,这里要指向你的邮件网关而不是邮件服务器。

在 winmail 邮件网关上安装 winmail。在快速安装向导的时候可以不需要设置。把所有的服务都停了,只保留smtp和admin两个服务 ,smtp服务就不用说了,admin服务是用来管理 winmail 网关的,支持远程管理哦。接下来我们来配置 winmail 邮件网关。 如图所示:


在smtp设置中填上你的helo主机名 mycompany.com。如图:


在smtp设置中的允许转发外域中加入 mycompany.com 这个域,这样网关就会接受发往mycompany.com这个域的信件,然后再进行转发。如图:


在信任主机IP中,把你的邮件服务器的IP 192.168.0.1加入到不需要认证的发信主机列表中,这样你的邮件服务器发往网关的信件就不需要用户认证了。如图:


在"SMTP 设置"/"外域直接递送"中,设置你的域名 mycompany.com 直接递送到192.168.0.1,这个一定要设置,不然网关会通过dns服务器去查询mycompany.com的mx记录,也就是网关本身,就会造成循环递送了。如图:


 

以上配置完成后,应该能收到 internet 的邮件了。至于你的邮件服务器如何发信,你可以选择通过网关发信,也可以直接递送出去,具体设置需要看你的邮件服务器软件了。

当你的邮件服务器放在公网上的时候,也可以使用 winmail 做网关来过滤垃圾邮件和病毒邮件, 需要两个外网IP。 图如下:

所有发往邮件服务器的邮件先经过邮件网关进行过滤,再通过网关发到邮件服务器,邮件服务器可以直接发送邮件,也可以选择网关进行转发。

当然,也可以把winmail邮件网关和邮件服务器安装在一台机器上,这样的话,需要修改邮件服务器的smtp端口,然后在 winmail 的直接外域递送中设置相应的smtp端口。

邮件服务器及邮件网关都放在内网的情况,图如下:

 

邮件网关架设好了,请看下面相关文章设置winmail邮件网关来进行垃圾邮件和病毒过滤,
http://www.magicwinmail.com/mailantispam.php
http://www.magicwinmail.com/mailfilter.php
http://www.magicwinmail.com/antivirus.php

通过Winmail中的 SMTP, Queue 日志查看过滤情况。

我在发件人黑名单里设置了test@amaxit.vicp.net这个用户,然后从这个用户发了封信到test@mycompany.com,系统日志显示如下,
2005/06/15-15:30:15 2020 Connect from 119.119.119.161
2005/06/15-15:30:15 2020 remote ehlo = test.com
2005/06/15-15:30:15 2020 max msg size = 20480000
2005/06/15-15:30:15 2020 remote sent 'mail from' = FROM:<test@amaxit.vicp.net> SIZE=1078
2005/06/15-15:30:15 2020 mail from = test@amaxit.vicp.net
2005/06/15-15:30:15 2020 bad mail from = test@amaxit.vicp.net

下面是我选中了通过dns检查发送者邮件地址中的域名,而amaxit.vicp.net这个域名是不存在的。日志显示如下:
2005/06/15-15:34:55 1512 Connect from 119.119.119.161
2005/06/15-15:34:55 1512 remote ehlo = test.com
2005/06/15-15:34:55 1512 max msg size = 20480000
2005/06/15-15:34:55 1512 remote sent 'mail from' = FROM:<test@amaxit.vicp.net> SIZE=1078
2005/06/15-15:34:55 1512 mail from = test@amaxit.vicp.net
2005/06/15-15:35:10 1512 refused 'mail from' because return MX does not exist test@amaxit.vicp.net

下面是使用了helo检查的日志
2005/06/15-15:42:00 2744 Connect from 119.119.119.161
2005/06/15-15:42:00 2744 remote ehlo = amaxit.vicp.net
2005/06/15-15:42:00 2744 max msg size = 20480000
2005/06/15-15:42:00 2744 remote sent 'mail from' = FROM:<test@amaxit.vicp.net> SIZE=1086
2005/06/15-15:42:00 2744 mail from = test@amaxit.vicp.net
2005/06/15-15:42:01 2744 refused 'helo'/'ehlo' because hostname(amaxit.vicp.net) is not match with your ip(119.119.119.161)

还有可以拒绝一些发垃圾邮件的ip地址或ip地址段,来拒绝垃圾邮件,功能较多,不能一一道来,赶快去架设一个试试吧。