我所在公司的一个客户更改了他们的互联网连接,现在我们无法再通过我们的局域网连接到他们。
为了帮助我解决这个问题,客户站点的网络人员配置了他们的防火墙,以便任何 IP 都可以打开到他们公共 IP 地址的 HTTPS 连接。我应该打开https://<customer's IP>
浏览器并获取一个网页。好吧,它可以从任何我尝试过的网络(甚至通过我的智能手机),只是不是来自我公司的局域网。
我认为这可能是我们的防火墙的问题(虽然我检查了它的规则并且它允许出站 TCP 端口 443 到任何地方),所以我只是将一台 PC 直接连接到我们提供商的网络连接,完全绕过了防火墙,但它仍然不起作用(其他一切都正常)。
所以我向我们的互联网提供商的客户服务寻求帮助,他们让我对我们客户的 IP 进行 tracert。tracert 成功了,因为输出中显示的最后一跳是我想要到达的主机。所以他们说没问题。:(
我也尝试telnet <customer's IP> 443
过作品还有:我得到一个空白页,光标闪烁(我尝试使用另一个随机端口,它给出了一个错误消息,这是应该的)。但是,从我的局域网中任何 PC 的任何浏览器,我都无法打开该 URL。
我尝试使用 Wireshark 检查网络流量:我看到数据包通过,并且有响应返回,但我认为我看到的数据包比我成功连接到另一个 HTTPS 网站时少得多。请参阅所附的屏幕截图:我不得不模糊 IP,无论如何,较长的字符串是我电脑的本地 IP 地址,较短的字符串是客户的公共 IP。
我不知道还能尝试什么。这是唯一一个出现这种情况的 IP... 有什么想法我可以尝试找到解决此问题的方法吗?
谢谢,如果您需要更多详细信息,请告诉我。
编辑:当我说“它不起作用”时,我的意思是:页面无法打开,浏览器长时间加载,最终显示错误,提示页面无法打开。我现在不在办公室,所以我无法粘贴确切的消息,但这是浏览器超时时通常收到的消息。当我说“它起作用”时,我的意思是浏览器加载并显示网页(这是客户防火墙管理界面的登录页面:因此有防火墙品牌的徽标,还有输入用户 ID 和密码的字段)。
更新 13/09/2012:再次尝试通过我们的 Internet 连接(没有防火墙)连接到客户的网络。我这样做了:
- 在备用笔记本电脑上运行 Kubuntu 12.04 实时发行版;
- 更新了所有我能更新的软件包并安装了 WireShark;
- 将其连接到我的 LAN 并验证我无法打开
https://<customer's IP>
。验证此尝试的 Wireshark 跟踪与我已经发布的跟踪相同; - 验证我可以使用 rdesktop 连接到另一个客户的主机(它有效);
尝试将 rdesktop 设置为
<customer's IP>
,输出如下:kubuntu@kubuntu:/etc$ rdesktop <customer's IP> Autoselected keyboard map en-us ERROR: recv: Connection reset by peer
断开笔记本电脑与局域网的连接;
- 断开防火墙与外网的连接,连接笔记本电脑。设置其网络配置,以便我可以访问互联网;
- 验证我可以通过 http 和 https 连接到其他网站以及通过 RDP 连接到其他客户的主机 - 一切都按预期工作;
- 已验证我仍然可以跟踪路由到
<customer's IP>
:我可以; - 经验证仍然无法打开
https://<customer's IP>
(与之前的结果完全相同); - 检查了这次尝试的 WireShark 跟踪并注意到了不同的行为:我可以看到发往客户 IP 的数据包,但根本没有回复;
尝试再次运行 rdesktop,结果略有不同:
kubuntu@kubuntu:/etc/network$ rdesktop <customer's IP> Autoselected keyboard map en-us ERROR: <customer's IP>: unable to connect
最后放弃了,把所有东西恢复到原来的样子,关掉笔记本电脑,我保存的 WireShark 痕迹就丢失了。:( 但我仍然记得它们。:)
你能从中得到什么吗?非常感谢。
更新日期 12/09/2012 n.2:我遵循了评论中 MadHatter 的建议。从防火墙内部,我得到了以下信息:
user@ubuntu-mantis:~$ openssl s_client -connect <customer's IP>:443
CONNECTED(00000003)
如果我现在输入GET /
输出暂停几秒钟然后我得到:
write:errno=104
我将尽快尝试同样的方法,但要绕过防火墙。
谢谢。
更新日期 12/09/2012 n.3: 所以,我认为 ISA Server 正在改变我的测试结果... 我尝试直接在防火墙上安装 Wireshark 并监控 Extranet 网卡上的数据包。当目标是客户的 IP 时,无论我尝试连接什么服务(HTTPS、RDP 或 SAProuter),我都只能看到出站数据包,而看不到来自他们那边的任何响应数据包。
看起来 ISA 服务器正在“伪造”远程服务器的答复,这就是我使用 telnet 或 openSSL 客户端建立连接的原因。
这是来自我们的 LAN 内部的 wireshark 跟踪:
但是这是外网网卡上的trace:
这更有意义...我会将此信息发送给客户的技术人员,看看他是否能从中得到什么。
感谢大家花时间阅读我的问题并提出建议。我会再次更新这篇文章。
答案1
我建议检查您的浏览器的代理设置。
正如您所说,您可以顺利地通过 telnet 端口 443 进行连接。问题出在您的 LAN 中,因此请首先检查浏览器的代理设置。
答案2
我知道你们会恨我的……连接已经开始正常工作了。我什么也没做:显然客户端的防火墙已经重新启动这招很管用。
再次感谢花时间阅读我的问题并提出建议的所有人。多亏了你们,我学到了一些新技巧。我给所有技巧都点了赞,希望我没有漏掉任何一条。