利用SMTP虚拟服务器实现不同
邮件系统之间的通讯
实验背景:
目前,有两家公司,一家为xiaonuo公司,另一家为dreamfire公司。都铺设了域环境,而且都安装了Exchange 2003,公司内部员工能够实现邮件的互发。但是,公司的邮件系统不能和外部的邮件系统实现通讯。现在要求公司的邮件系统能够和外部的邮件系统实现互相通讯。
实验网络拓扑图:
理论指导:
SMTP协议是用于传输和投递电子邮件的Internet标准协议,Exchange邮件服务器把Windows系统自带的SMTP服务作为其固有的邮件传输协议,Exchange服务器之间的邮件传递都是由SMTP虚拟服务器来完成的。
SMTP虚拟服务器本质上是一个SMTP堆栈,为Exchange提供管理SMTP的机制,大多数情况下,Exchange服务器使用一个SMTP虚拟服务器实例收发电子邮件,邮件管理员可以使用“Exchange 系统管理器”来配置和控制SMTP虚拟服务器。
邮件传递分析:
用户A和用户B之间的邮件传递属于本地邮件系统之间的传递,不受出/入站口的策略限制。而用户A和用户C之间的邮件传递属于外部邮件系统之间的传递,受出/如站口的策略限制。
用户A发邮件给用户C的完整过程:
1、 用户A首先使用MUA通过SMTP协议把邮件提交给自己的MTA的SMTP虚拟服务器;
2、 MTA接收用户A发送的电子邮件之后,首先会判断是否为本地邮件,如果是,会将电子邮件保存到本地用户的电子邮箱里,等待用户接受;如果不是,MTA会联系DNS服务器,试图去解析邮件地址的后缀名,解析出IP地址之后,通过SMTP协议把邮件传递给用户C的MTA的SMTP虚拟服务器。
3、 用户C对应的MTA的SMTP虚拟服务器接收到这封邮件以后,判断本地是否有用户B。如果有,就把邮件保存在该用户C的邮箱里,等待用户接收。
4、 用户C使用MUA通过POP3或者IMAP4协议连接本地的MTA的POP3或者IMAP4虚拟服务器接收邮件。
实验步骤:
1、 注册DNS区域和MX记录
SMTP虚拟服务器依赖DNS来确定其邮件目的服务器的IP地址。通常,内部DNS名称不在Internet上发布,因此,SMTP虚拟服务器必须能够联系到外部DNS服务器,解析外部邮件地址的DNS邮件交换记录(MX 记录)。
xiaonuo公司的邮件系统如果要想实现外部邮件收发,首先应该向域名注册机构CNNIC提交域名注册申请,注册该域名的邮件交换(MX)记录。
由于环境不好模拟,本实验将DC,Exchange 2003以及DNS装在了一台主机上(现实环境中,这种做法是不科学的),本地的DNS就相当于在域名机构注册过了,(MX)记录在本地DNS上做,为了能够联系到对方的DNS服务器,将两台DNS的转发器互相指向对方的IP地址即可。
首先在DNS服务器上xiaonuo.com区域里新建一个主机A记录为mail.xiaonuo.com,然后在DNS区域xiaonuo.com里新建一个邮件交换器(MX),浏览到刚才建的主机A记录,邮件服务器的默认优先级为10,可根据情况而定。“主机和子域”文本框保存为空,建议不要键入任何名称。
另外一台DNS服务器的设置方法相同。最终设置的邮件交换记录为mail.dreamfire.com
然后,将DNS服务器各自的转发器指向对方DNS的IP地址。
设置完成之后,允许CMD,在各自的DNS服务器上进行测试,首先通过NSLOOKUP看是否能够解析到本地的DNS服务器,然后使用set type=mx,测试所有区域的DNS MX记录是否能够正确解析。
到目前为止,xiaonuo和dreamfire公司的邮件系统的名称已经成功注册了,下面就应该配置SMTP虚拟服务器的接入邮件的入站设置和发送邮件的出站设置了。以xiaonuo公司为例进行讲解:
2、首先,邮件管理员可以使用“Exchange 系统管理器”管理SMTP虚拟服务器的属性,配置Exchange的入站邮件设置。
在“常规”选项卡上,最好勾选“限制连接数不超过”,填写的数值根据情况而定。这样可以保证一些垃圾邮件或者黑客攻击堵塞SMTP虚拟服务器的通道,不能保证正常邮件的发送。也可以勾选“启用日志记录”可以通过记录分析一些邮件服务器的故障。
在“常规”选项卡上,单击“高级”按钮,可以查看AMTP虚拟服务器的TCP端口和筛选器是否启用,SMTP协议将25端口作为其服务器的标准端口,不要更改此设置。
单击“访问”里的“身份验证”确认SMTP虚拟服务器允许“匿名访问”这样可以保证所有发送过来的邮件不需要通过身份验证,如果勾选,那么发送过来的邮件必须通过身份验证方式,在现实生活中给别人发送电子邮件输入用户名和密码的很少见过。一般都是匿名发送。
单击“访问”里的“连接”可以添加访问此虚拟服务器的范围,一般在特定的环境下使用。默认情况下,任何人都可以连接。
选择“Exchange系统管理器”SMTP虚拟服务器属性里的“邮件”设置邮件传递的信息,其中前面两个默认不设置,如果设置了,优先级高于“邮件传递”里所做的设置。下面的两项参数也是微软经过大量实验总结出来的最佳值,最好不要更改。
2、 配置出站邮件设置
如果希望SMTP虚拟服务器发送外部邮件,邮件管理员可以使用“Exchange 系统管理器”配置SMTP虚拟服务器出站邮件设置:
选择“Exchange系统管理器”SMTP虚拟服务器属性里的“传递”按钮,然后选择“出站安全”勾选“匿名访问”允许内部用户使用匿名方式将邮件发送出去。
选择“Exchange系统管理器”SMTP虚拟服务器属性里的“传递”按钮,然后选择“出站连接”可以看到出站连接的一些参数,一般情况下最好不要修改。
选择“Exchange系统管理器”SMTP虚拟服务器属性里的“传递”按钮,然后选择“高级”勾选“对传入邮件执行反向DNS查找”这样可以减少30%的垃圾邮件信息,而且还可以放置一些仿冒邮件系统的欺骗。
选择“Exchange系统管理器”SMTP虚拟服务器属性里的“传递”按钮,然后选择“高级”里的“配置”,然后添加一个外网的IP地址,这里填写的IP地址和DNS里填写的转发器地址是一个道理,可以在这里填写多个外部DNS地址,这样可以保证高可靠性。
设置完成之后,在xiaonuo.com域里添加一个用户xiaonuo,并创建邮件信箱和邮件地址。同样,在dreamfire.com域里添加一个用户dreamfire,并创建邮件信箱和邮件地址。然后,使用xiaonuo给dreamfire发送电子邮件进行测试即可。