TMG 2010 未代理回与请求相同的网络

TMG 2010 未代理回与请求相同的网络

我遇到一个问题,托管在 Web 服务器 ( www.example.com) 上的网站在通过其公共 IP 地址访问时无法从其自己的网络访问,但它们可从所有其他网络访问。

这是网络设置:

在此处输入图片描述

我有一台 TMG 2010 SP1 机器,位于由其他人管理的路由器后面(我无法访问),位于路由器就是互联网。

“外部网络”路由器对 IP 地址进行 1:1 NAT,指向 TMG 盒上的相应私有 IP 地址。然后,TMG Edge 有一个 Web 代理规则,将请求(发往www.example.com)转发到网络 B 上的 Web 服务器。

当您尝试www.example.com通过其公共 IP 地址访问(托管在网络 B 上)时,会发生以下情况:

互联网 - HTTP 200 正常
外部 - HTTP 200 正常
网络 A-HTTP 200 OK
网络 B - 错误代码 10060:连接超时
网络 C - HTTP 200 OK

我看到流量到达 TMG 防火墙,但随后似乎丢失了。它不会将数据包转发到external network(如果转发,它会直接发回)。Wireshark 显示数据包从网络 B 接口进入,但它从未离开 TMG。

请求后,http://www.example.com/TMG 防火墙日志显示初始允许的出站请求,60 秒后显示:

  • 连接尝试失败
  • 来源网络:B网
  • 目标网络:外部
  • 网址:http://203.206.238.xxx(公共 IP 地址,不是我实际请求的 URL)

状态:10060 连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机没有响应而建立的连接失败。

我不知道问题出在哪里。我不知道是不是因为某种原因,它将公共 IP 地址代理为 URL(IP 地址有代理规则,但仅适用于 FQDN),还是完全是其他原因。

答案1

我确信这与 TMG 的设计方式有关。根据:

http://technet.microsoft.com/en-us/library/cc995133.aspx

绕过 Forefront TMG 的防火墙客户端请求

Microsoft Forefront Threat Management Gateway 旨在处理不同网络之间的通信。通常,特定网络上的客户端不应穿越 Forefront TMG 来访问位于同一网络中的主机。相反,应使用直接访问。

直接访问使防火墙客户端计算机能够执行以下操作:绕过 Microsoft 防火墙客户端配置并直接连接到资源。发出绕过 Web 代理过滤器的 Web 代理请求。

这使得防火墙客户端无需通过 Forefront TMG 即可访问位于其本地网络中的资源,并且允许客户端无需通过 Forefront TMG 作为代理即可发出 Web 请求。

这也涵盖了 TMG 在“单适配器设置”中的重大限制,这与 B 连接到 Web 服务器的方式类似:

http://technet.microsoft.com/en-us/library/cc995236.aspx

答案2

我想到两件事:

  • TMG 上的发布规则无法解析托管服务器的内部服务器名称。防火墙策略 >> 属性 >> 收件人 >> 关于计算机名称或 IP 地址的第二个文本字段。
  • 网络主机需要完整的 URL,而不是内部名称(同一位置,下一个复选框)

网络服务器日志上有什么内容吗?

相关内容