我目前正在解决一个问题,即Windows 7和XP系统上的某些用户无法访问我们networking上的SSL网站。 同样的网站在我们的服务器(Server 2003,完全最新的,Ubuntu服务器盒)和我们所有的OSX机器上都能正常工作。 我们的网关是一台运行ISA 2003的机器,它为networking提供防火墙和NAT服务。
到目前为止,我已经把它缩小到了一个MTU问题 – 当我强制Windows 7到MTU 1100(例如)站点工作正常,但是当我将MTU更改回到1500时,站点拒绝加载。 当用“不要碎片”和指定的特定大小进行“pingtesting”时,可以确定MTU,但是在过去的几个小时内也改变了几次。
在networking级别,当站点拒绝加载时,远程服务器直接在SSL握手之后(或者非常接近结束)发送TCP复位。
有没有办法强制一个特定的IP地址的MTU? 另外,是否有任何解释这种行为(也许一种方法来validation自动pathMTU发现工作)?
这个网站是远程的吗? 它是否使用站点到站点的VPN隧道? 许多vpn隧道你必须改变MTU,因为隧道数据包的开销。 当网站有GRE或IPSEC隧道时,我也看到类似的问题。 事实上,我们甚至不知道它在那里,但显然,办公室在一座build筑物上使用了2个不同的楼层,由十几个人隔开,而build筑物不会让他们运行自己的networking,他们不得不使用build筑物是“公共”的,所以有人在networking上build立了两个路由器之间的隧道。