网关配置错误导致Outlook无法连线

 

最近碰到一个Outlook 无法连接的问题,经过反复研究,最后发现是网关错误导致,下面将排错方法和过程分享给大家!

环境介绍:服务器Exchange 2010,用户端:Win7+Office2010,Win10+Office2016,内网用户通过Outlook以Exchange Client方式连接到Exchange 2010,同一网络,用户禁止访问Internet,之前一直工作正常!

问题描述:突然有一天,接用户报障:Win10+Office2016用户, Outlook无法工作,显示断线,无法连接到Exchange Server,但在同一网络下,同办公室的其它同事,使用Win7+Office2010没有问题!

处理过程:

1、 因为之前一直使用都是正常,所以首先怀疑是否Win10/Office2010推送某些Patch导致,查看Update log,没有发现有新的更新。

2、 尝试新建Outlook配置,使用自动发现,在搜索邮箱设置时,停留时间很久,怀疑自动发现有问题。

网关配置错误导致Outlook无法连线_第1张图片

3、 使用Nslookup,查询DC/Exchange等解析都正常,Ping/Telnet服务器各端口也正常,连接OWA,正常,访问Autodiscover.xml,也正常。

4、 使用Outlook.exe /rpcdiag,连接状态为空,没有任何信息!

网关配置错误导致Outlook无法连线_第2张图片

5、 使用手机通过外部网络连接正常,使用笔记本电脑(Win10+Office2016)通过外部网络连接也正常,所以排除服务器本身的问题,问题集中在内部网络环境上了!

6、 进一步查看网络设置,发现服务器所使用的网关为10.*.*.254, 客户端的网关是249,因为这些用户端本来就被禁止访问Internet的,所以网关被随便指向了一个并不存在的地址!尝试把用户端网关改回来,再开Outlook,正常了,重新配置Outlook自动发现,也正常了! 询问才知道,为了禁止用户访问Internet,使用了最简单粗暴的作法:不让上网的用户,默认使用DHCP IP地址,但DHCP分配了一个不存的IP为网关!

7、 那么问题来了:Exchange 服务器在内部,用户端也在内部,内部用户,连接内部Exchange服务器,理论上是不需要经过网关的,为什么Outlook无法连线呢?后来查到微软官网有个KB:

https://support.microsoft.com/zh-cn/help/913843/error-messages-when-you-try-to-connect-outlook-2007-to-exchange-server-the-action-cannot-be-completed-or-your-microsoft-exchange-server-is-unavailable-or-cannot-start-microsoft-office-outlook

这里有说到:Outlook2007及以上版本开始,如果没有配置网关,会导致Outlook无法连线,或是配置失败!但现在的问题是,已经有配置网关,只是网关不存在,也会导致Outlook无法连接,或是自动发现配置失败?难道Outlook在启动时,需要和网关通讯?

8、 为了弄清背后的原因,再把用户电脑网关改到一个不存在的IP,重启电脑,使用工具抓包进行分析,发现在启动Outlook时,会有ARP广播包,向网络查询:Who has 10.*.*.*.249?Tell 10.*.*.222,意思是说:谁知道网关:249的ARP信息,请告诉10.*.*.*222,即这台尝试开启Outlook的电脑;在没有得到ARP回得信息时,一直有向网络广播,要求得到网关的ARP信息,而不会有一下步,到DC和Exchange 服务器的通讯!

网关配置错误导致Outlook无法连线_第3张图片

9、 当你将网关修改为一个真实存在的IP后,电脑会发送广播包,询问网关的ARP信息,得到回复,马上就会开始和DC/ Exchange服务器进行通讯,能正常开启Outlook,连线建立!而实际上,没有到网关的具体通讯!

网关配置错误导致Outlook无法连线_第4张图片

总结:先后对Outlook2007/2010/2013/2016各个版本进行了测试,得到以下结论: Outlook2007以后开始,客户端在使用Exchange Client方式连线到Exchange服务器时,一定要配置网关!而从Outlook2013开始,客户端在使用Exchange Client方式连线到Exchange服务器时,除了配置网关外,还需要知道网关的ARP信息,即可以理解为:网关要为一个真实存在的IP,但并不一定要求有路由的功能!

所以针对上面的案例,为了继续达到“简单粗暴”禁止用户访问Internet的方法,修改DHCP服务器配置,接网关项改为DNS服务器IP,即DC的IP,问题解决!

你可能感兴趣的:(运维)