邮件服务在网络里的角色是越来越重要,不管是因特网上还是在局域网内部,大家都已经习惯使用电子邮件来处理日常的工作了。在Windows Server 2003出现之前,想在一台Windows NT Server或者Windows 2000 Server上构建一台邮件服务器是比较麻烦的事情,基本上是Windows NT 4.0 Server+Exchange 5.5 Server或者是Windows 2000 Server+Exchange 2000 Server这两种解决方案。这两种方案功能强大,完全可以满足大型企业的需要,但配置繁琐,而且对硬件设备要求较高,如果在一个中小型网络里使用此设计方案,多少有点“高射炮打蚊子”的感觉。在实际应用当中,大部分中小型网络只需要最基本的电子邮件的收发功能。Windows Server 2003为此新增加了邮件服务组件。本文主要介绍如何利用Windows Server 2003来为一个中小型网络建立邮件系统。
局域网内部邮件系统
内部邮件系统的构建相对简单一些,不用考虑带宽、IP地址、域名注册等一些问题。在局域网内部实现邮件服务需要3种服务:DNS、SMTP、POP3服务。图1中有2个网段,每个网段都有一个邮件系统,这里为了演示所以使用了两个邮件系统,其实对于两个小型网络来说,是完全可以共用一个邮件系统的。
在A网段内部实现邮件服务可参照下面的具体步骤:
1.确定服务器和客户端。
A网段设置2台服务器,DNS服务器和邮件服务器(运行POP3服务和SMTP服务)各一台,也可以将两种角色放到同一台服务器上。服务器的操作系统是Windows Server 2003企业版;客户端操作系统为Windows 9x/Me/2000/XP或Windows Server 2003均可。
2.安装操作系统和相应的服务组件。
○操作系统安装步骤省略,IP地址配置如图1所示;
○DNS服务:“控制面板”→“添加删除程序”→“添加删除Windows组件”→“网络服务”→“域名系统(DNS)”;
图1 内部邮件系统网络拓扑图
○POP3邮件服务:“添加删除Windows组件”→“电子邮件服务”;
○SMTP服务:“添加删除Windows组件”→“应用程序服务器”→“Internet信息服务(IIS)”→“SMTP Service”。提示:当您安装POP3邮件服务时,服务器会自动选择安装SMTP服务。
○为了便于管理,可利用MMC工具将DNS服务、POP3服务、IIS-SMTP服务和本地用户管理集合起来,以方便使用。具体步骤:“开始”→“运行”输入MMC后点“确定”,找到“文件菜单”→“添加删除管理单元”→“添加”后选择相应的服务名称,单击“添加”→“关闭”→“确定”,现在就可以使用了。为了便于以后使用,我们可以将控制台保存起来,找到“文件菜单”→“选项”→控制台模式“用户模式→完全访问”→“确定”,点击“文件菜单”→“保存”可将控制台保存到桌面。
3.D NS服务器设置。
○建立abc.com区域;
○建立smtp.abc.com/192.168.0.16和pop3.abc.com/192.168.0.16主机记录;
○建立与父文件夹域名abc.com相同的邮件交换记录(见图2)。
图2 DNS服务器设置
4.POP3服务器设置。
○首先选择邮件存储路径,默认的邮件存储路径为系统所在分区的\Inetpub\Mailroot\下面,所有收到的邮件存储在mailbox子目录下。最好将邮件目录存储在一个非系统所在盘、并且有足够磁盘空间的NTFS文件系统的分区上。邮箱所占磁盘空间可以按照用户数量乘每用户的邮箱大小来计算,另外还要考虑邮件队列、坏邮件所占空间。
具体实现步骤:“开始”→“管理工具”→“POP3服务”,鼠标右键单击服务器名“属性”→“根邮件路径”→“浏览”选择相应的路径即可。
○设置POP3服务工作端口号,保持默认值110即可(见图3)。
图3 邮件服务器属性设置
○设置身份验证的方法有三种。如果已经建立邮件域名,则身份验证方法将不能更改,除非删除所有现存邮件域名。更改完验证方法后,需要重新启动POP3服务。
○日志级别:日志级别一共有四级,级别越高,记录的时间越详细,但会占用大量的磁盘空间,还会对性能有所影响(见图3)。
5.建立域名和邮箱。
○建立abc.com域。打开POP3服务控制台,在服务器名称右键单击,选择“新建”→“域”输入abc.com。
○建立[email protected]邮箱。在域名abc.com上右键单击,“新建”→“邮箱”输入邮箱名和密码。如果是本地用户验证模式,则建立邮箱的同时建立相对应的本地用户账号(见图4);如果是加密文件验证模式时,建立邮箱用户界面如图5所示。
图4 在本地身份验证式建立邮箱
图5 在加密密码文件身份验证模式建立邮箱
6.管理邮箱空间。
○如果是本地用户和活动目录验证方式,邮箱容量大小可以通过NTFS文件系统的磁盘配额功能实现,如对所有用户的信箱容量都设置为5MB(见图6)。如果要对某个用户进行特殊设置,比如将[email protected]的信箱容量设置为10MB,可打开图6中的“配额项”,对特殊用户进行设置,“配额项”的界面如图7所示;
图6 利用磁盘配额定制邮箱容量
○如果是加密密码文件身份验证,则可以通过配额文件来限制邮箱的容量,可以使用“winpop createquotafile”命令来建立配额文件。比如要设置[email protected]邮箱容量为5MB,首先建立一个模板本地用户tmp_abc,并在邮箱所在NTFS分区上对tmp_abc设置配额项5MB,然后在命令行下执行“winpop createquotafile [email protected] /user:tmp_abc”。注意:为提高安全性,使用完以后,需将tmp_abc用户禁用;
如果对整个域的邮箱进行容量设置,只要将[email protected]邮箱的配额文件复制到其他邮箱目录下即可。[email protected]邮箱配额文件的路径为C:\Inetpub\mailroot\Mailbox\abc.com\P3_bill.wang.mbx\Quota,Quota为文件名。
图7 利用配额项给个别用户进行设置
○监视用户邮箱的使用情况。可以利用事件查看器和配额项来监视磁盘的使用情况,也可以用POP3邮件服务器控制台来监视用户邮箱的使用情况。另外通知客户端尽量将已读的邮件下载到本地计算机上,以节省邮件服务器的磁盘空间。
7.更改邮件账户密码。
○如果是加密密码文件身份验证,可以通过“winpop changepwd [email protected] 123456”,其中“123456”为新密码。
○其他两种身份验证方式还可以通过本地用户和组管理工具或者活动目录用户和计算机管理工具来更改密码,也可以用“net user bill.wang 123456”来设置新密码。
8.SMTP服务器的设置。
○当在POP3邮件服务器控制台里建立abc.com后,在SMTP服务器上就会自动建立abc.com,不用做其他设置就可以在abc.com邮件域里发送和接收邮件。
○设置SMTP服务器邮件属性,包括每封邮件的大小、每次会话大小、每个连接可以发送的邮件数、每个邮件的最多收件人数、存储死信目录等。具体步骤:打开“Internet信息服务管理器”→选择“默认的SMTP虚拟服务器”→单击鼠标右健“属性”→“邮件”。
○设置SMTP服务器出站重试间隔时间和出站安全,保持默认即可。如果需要设置,可以打开“Internet信息服务管理器”→选择“默认的SMTP虚拟服务器”→单击鼠标右健“属性”→“传递”。
9.客户端设置。
○客户端的IP地址、DNS设置必须正确,详细步骤略;
○客户端邮件收发软件以Outlook Express为例,接收邮件(POP3)和发送邮件(SMTP)服务器为pop3.abc.com和smtp.abc.com。账户名为电子邮件地址,如[email protected],此处必须输入全名。如果POP3服务器端选择“对所有客户端连接要求安全密码身份验证(SPA)”,则账户名为电子邮件的前缀,如bill.wang,并且客户端要将“使用安全密码验证登录”选中(见图8)。
图8 客户端Outlook Express设置
到此A网段邮件系统建立完毕,内部用户已经可以互发邮件,但是不能外发邮件。B网段的邮件系统建立与A网段相同。下面看一下如何实现A、B两个网段互发邮件。
1.DNS服务器设置。
○可以将2台DNS服务器合并为一台,也可以互相作为对方的二级辅助DNS服务器,提供了容错又提高了访问速度;
○如果有多台多级别的DNS服务器,可以在DNS服务器上设置转发。比如有10台DNS服务器,1台负责lroot根(就是一个点)区域,根域委派了3台各负责.com、.net、.cn域DNS服务器,其余的负责类似a.com、b.net、a.com.cn的二级域。就可以将当前的DNS服务器设置为转发到负责根域的DNS服务器。转发设置在DNS服务器的邮件属性里(见图9)。
图9 设置DNS转发
2.SMTP服务器设置。
默认状态下为了安全起见,SMTP服务器不允许发送目的地是其他邮件域的邮件。要想实现外发邮件,可以按照以下步骤的设置:
○个别邮件域的设置,比如允许邮件只发送到xyz.com域或者所有以cn结尾的域。步骤如下:打开“Internet信息服务管理器”→“默认的SMTP虚拟服务器”→“域”→单击鼠标右健“新建”→“域”→“远程”,输入需要建立的远程域名xyz.com(输入*.cn代表所有以cn结尾的域)“确定”。双击新建立的xyz.com,选中“允许将传入邮件中继到此域”,路由域选择“使用DNS以发送到此域”。也选中“将所有邮件转发到中继主机”,直接输入对方的邮件服务器的域名或者IP地址,IP地址用[]括上,如[192.168.0.10]。
图10 设置SMTP服务身份验证模式
○设置转发所有域。有两种设置方法,一种是利用验证用户的身份,通过验证的用户可以发送所有邮件,第二种是通过允许/限制IP地址来实现。对于接入Internet的SMTP服务器为了提高安全性,可以采用身份验证的方法,而对于在局域网内部的用户,则可以采用允许某个IP地址段来实现。
设置身份验证。打开“Internet信息服务管理器”→单击鼠标右键“默认的SMTP虚拟服务器”→“属性”→“访问”→“身份验证”。身份验证有三种方法,匿名访问、基本身份验证、集成Windows身份验证,且三种方法可以并选。对于拥有活动目录域结构的局域网内部可以采用最后一种,客户端直接将当前登录名和密码传送的服务器进行验证,对于Internet用户可以采用基本身份验证(见图10)。注意:当服务器需要身份验证时客户端必须做相应的设置,以Outlook Express为例。打开“工具”菜单→“账户”→选中相应的账号“属性”→“服务器”,选中“我的服务器要求身份验证”,打开“设置”,输入正确的账户名和密码(见图11)。
图11 客户部设置发送邮件身份验证
设置IP地址范围。打开“Internet信息服务管理器”→单击鼠标右健“默认的SMTP虚拟服务器”→“属性”→“访问”→“中继”。这里可以允许一个IP地址或者一个IP地址段,也可以拒绝一个IP地址或者一个IP地址段(见图12)。
图12 设置SMTP服务中继限制IP地址段
○新建SMTP虚拟服务器。可以在一台服务器上建立多个SMTP虚拟服务器,只要分配不同的IP地址或者端口号即可。这样可以让不同的SMTP服务器为不同的用户服务,比如建两台SMTP虚拟服务器,一台分配内部IP地址,只为局域网内部服务,另外一台分配真实的公共IP地址为Internet用户服务。
○启用日志记录。当邮件服务器启用以后,为了安全起见,也为了日后的观察和取证,推荐启用日志记录。设置方法:单击鼠标右健“默认的SMTP虚拟服务器”→“属性”,选中“启用日志记录”。日志格式选择“W3C扩展日志文件格式”。在属性里可以选择“新日志计划”的周期,在“高级”里面可以选择详细的扩展日志选项(见图13)。这些扩展日志选项如果选择得太少,就失去了监视的作用;如果选择的太多,日志文件会快速增长占用大量的磁盘空间,这时就要及时对日志文件进行备份和清理。
图13 设置SMTP服务器扩展日志选项
将邮件系统接入Internet
如果要将邮件系统接入Internet,要考虑以下几个问题:
1.申请因特网接入专线,同时申请固定公有IP。案例网络(见图14)申请了一个共享1Mb/s的专线,固定公有地址是211.88.88.135/211.88.88.136,子网掩码255.255.255.128,网关是211.88.88.129,DNS服务器是202.106.196.115
2.注册域名。到域名注册机构注册公司域名,比如到北京万网注册abc.com域名。
3.域名解析。所有域名解析可以通过注册机构的DNS服务器,如万网的DNS服务器,也可以自建DNS服务器,然后在注册机构进行重定向,重定向以后自建的DNS服务器将解析所有域名。最后建立相关的DNS记录,例如pop3.abc.com、smtp.abc.com主机记录和@abc.com的邮件交换记录,这三条记录的地址均指向邮件服务器的外部公共IP地址。
4.安全性。可以考虑安装防火墙、启用身份验证、使用SSL套接字加密,甚至可以将邮件服务器放到局域网内部,然后在防火墙上设置端口映射。
图14是一个基本的邮件服务解决方案。对于此方案有以下几点需要提示:
图14 接入Internet的邮件系统
1.此方案将邮件服务和代理服务分开有利于网络流量分流,可以减轻代理服务器的的负荷;
2.服务器为多网卡多IP配置。每台服务器需要2块网卡和2个IP地址,分别接入内网和外网;
3.如果条件允许,可以在外网增加防火墙;
4.可以将邮件服务器配置为单网卡,放到网络内部,以提高安全性。但需要在代理服务器上做端口映射。此方案实施起来较复杂,并且需要特殊的代理服务软件;
5.可以将代理服务和邮件服务放到一台服务器上,可以节省一台服务器和一个IP地址;
在实现过程中如果不能收发邮件,问题主要集中在DNS解析和SMTP服务中继这两个方面。这时一定要注意客户端出错时的错误信息,是无法连接到服务器还是拒绝发送邮件还是发送错误,前者是DNS解析或者网络问题,中间和后者基本是SMTP拒绝转发或者不能和远程SMTP服务器通信所致。
首先检查问题是否出在DNS解析上面,对于DNS问题的常用解决办法有以下几种:
1.使用ipconfig /all命令检测客户端和服务器的IP地址、子网掩码、网关、DNS设置是否正确;
2.使用ping命令检测客户端和服务器与DNS服务器和邮件服务器网络是否相同;
3.在客户端使用ping或者nslookup命令检测pop3.abc.com、smtp.abc.com主机记录解析是否正确;
4.在邮件服务器上使用nslookup或者restest(此命令可检测邮件交换记录是否注册)命令检测@abc.com邮件交换记录解析是否正确。使用nslookup测试邮件交换记录的方法:“开始”→“运行”→输入nslookup“确定”,输入“set type=mx”,选择查询记录类型为邮件交换记录,然后直接输入需要查询的邮件后缀,如sina.com(见图15)。使用retest工具测试邮件交换记录的方法较为简单,直接输入“restest sina.com”即可,sina.com为需要检测的电子邮件后缀。
图15 使用Nslooup命令检测邮件交换记录
如果排除了DNS解析的问题,就要检查SMTP服务器是否有问题,常用的检测办法用以下几种:
1.检查SMTP服务器是否工作。在命令行下输入“telnet smtp.abc.com 25”,如果出现提示“220 服务器名称 Microsoft ESMTP MAIL Service ,Version:6.0.3790.0 ready at”等信息,表示SMTP服务器已经正常工作;
2.检查SMTP服务器的身份验证方式,并检查客户端是否做了相应的设置。比如账户名是bill.wang还是[email protected];
3.检查SMTP服务器中继限制里的IP地址列表是否配置正确;
4.检查SMTP服务器是否限制连接人数;
5.检查SMTP服务器的邮件大小、会话大小、每个连接的邮件数、每个邮件的收件人数是否设置正确;
6.检查SMTP服务器建立的远程域的DNS域名是否能解析。
POP3邮件服务器的远程管理
有时由于某种原因不能亲自坐在邮件服务器前进行现场的邮件管理,这是我们可以使用Windows Server 2003提供的远程管理功能来实现。常用的远程管理方法有:
1.Windows Server 2003终端服务。终端服务是在Windows NT就已经提出的一个远程访问服务器桌面的一个功能,此服务在服务器上安装以后,客户端安装相对应的客户端连接工具后,就可以连接到服务器上进行管理。
○终端服务器的安装。在服务器的“控制面板”→“添加/删除程序”→“添加删除Windows组件”里可以安装安装终端服务,具体步骤略;
○Windows XP已经包括了此客户端软件,叫做“远程桌面连接”,位置在“开始”→“程序”→“附件”→“通讯”→“远程桌面连接”。Windows Server 2003有两个终端服务器客户端软件,一个与Windows XP相同,另外一个是新增的叫做“远程桌面”,此工具在一个控制台界面里可以连接多个远程服务器,位置在“开始”→“管理工具”→“远程桌面”;
○其他操作系统的终端服务客户端软件存放在终端服务器的C:\Windows\system32\clients\tsclient\win32目录下。
2.基于Web浏览器的远程管理。如果远程管理时所使用的网络带宽有限,可以考虑使用基于IIS6.0的Web浏览器远程管理。打开浏览器直接输入“https://服务器地址:8098”,注意此处为https安全通讯协议,以保证通讯信息的安全。连接到服务器以后,首先接受加密安全通讯证书,然后输入具有管理权限的用户名和密码,就进入管理界面了(见图16)。
图16 基于Web浏览器的远程邮件管理
3.远程桌面。在服务器端起用远程桌面以后,客户端可以利用终端服务客户端软件进行连接。在服务器端起用远程桌面:“我的电脑”→单击鼠标右键“属性”→“远程”→选中“允许用户远程连接到这台计算机”,然后在“选择远程用户”里添加允许授权的用户,默认状态下管理员已经具有此权限。
4.远程协助。远程协助是通过MSN即时通信软件实现的,详细配置过程略;
5.Telnet命令行工具。在服务器端启动Telnet服务,可以通过“管理工具”→“服务”→“Telnet”手动启动,也可以利用tlntadmn命令来启动和管理服务器。客户端在命令提示符下直接输入“Telnet服务器地址”,经过验证连接成功后即可进行管理。注意使用Telnet进行远程管理时,只能使用命令行的形式进行管理。
6.其他第三方软件。可以使用其他厂商开发的软件进行管理,如PCAnywhere。另外某些黑客软件也具有远程管理的功能,这里不再讲述。