Exchange 2016 客户端外网环境无法使用outlook2013/2016连接故障

 

组网环境:

   Win2012R2 ,WIN 7 ,Outlook2013\2016

   SMTP01SMTP02使用NLBIPDNSmail.xxx.com

   MX为邮件网关,内外网的DNS都是mx.xxx.com

   证书包含了相关的所有主机名和域名。

   客户端导入根证书,非域环境内网测试正常。

   ECP上将所有虚拟目录配置了外部URL地址。

   DNS内外网都配置了自动发现,SRVPRT,解析及测试正常。

 

故障描述:

  内网域外用户使用outlook2013\2016客户端能正常连接,外部网络环境异常,使用×××正常。

外网环境下,Outlook2013首次连接时会提示解析错误,exchange服务器无法连接,然后一直无法连接;Outlook 2016首次能够连接,几分钟后会收到提示服务器配置已改变,请重启客户端,重启过后无法连接,提示与outlook2013一样。

 

故障范围:

1、  外部DNS解析

2、  对外端口映射

3、  防火墙策略

4、  客户端设置

5、  服务器设置

 

问题分析:

 

1、  查看外部DNS,外部的OWA记录指向内部服务器(SMTP01SMTP02NLB地址的外网IPMX记录指向邮件网关MX和外网IP,查询相关资料,设置无误,可以排除。

2、  对外映射了邮件网关的25端口保障邮件收发,OWA映射了NLB443端口保证OWAMAPI正常连接(未开放POP3),貌似也没什么问题。

3、  防火墙策略开放了服务器到外部的所有服务,同时也开放了外部到服务器的MAILHTTPS服务,好像也没问题。

4、  Outlook 2013设置的anywhere服务器是mail.xxx.com,验证使用NTLMoutlook2016只能自动设置,好像也没什么其他地方可以设置。

5、  服务器如果有问题,但为何内网和×××又能正常,是否有问题还不清楚。

 

解决过程:

1、   先检查内网和外网连接状态看有何不同。

2、   使用outlook 2016都是连接HTTPHTTPS,内网连接正常,外网异常。

3、   使用outlook 2013时发现连接的是RPC 6001,×××连接正常,外网异常

4、   在防火墙映射NLB6001端口并在策略放行。

5、   再次测试outlook2013出现和outlook2016同样现象,首次能正常连接,然后提示服务器信息改变,重启客户端后异常。

6、   检查服务器信息,发现服务器地址被改为内网的地址,RPC协议变成了HTTPSSL加密,其他选项里设置anywhere的连接选项消失不见,内网地址会自动负载均衡。

7、   查找Exchange RPC相关资料,发现outlook 2013 sp1以上版本会默认使用MAPI协议,查找MAPI相关信息了解到MAPI可以手动配置虚拟目录(安装时只了解exchange2016会自动开启MAPI特性),由于ECP上没有显示MAPI的虚拟目录,可能服务器默认配置的MAPI地址都是服务器名称。

8、   按官方指导配置MAPI的外部RUL地址, 配置方法:https://technet.microsoft.com/zh-cn/library/mt634322;详细参数:https://technet.microsoft.com/zh-cn/library/dn595082

9、   再次连接测试,发现服务器地址自动变成了手动配置MAPI的外部URL地址,且正常连接,至此,问题解决。

 

问题原因:

  未指定MAPI的外部URL,客户端使用MAPI成功连接后,服务器将客户端的服务器地址自动配置为内部服务器的URL地址,内部客户端使用内网DNS正常,但外网客户端使用外部DNS则无法解析,导致outlook在外网环境连接服务器提示无法解析服务器。

 

解决方法:

1、   手动配置MAPI的外部URL地址。(推荐)

2、   将内网服务器地址在外网进行解析。