互联网/代理问题 Internet Explorer(PAC 文件)

互联网/代理问题 Internet Explorer(PAC 文件)

两周以来,我们的网络出现了一些互联网/代理问题。用户在尝试访问网站时,偶尔会在 Internet Explorer 11 中收到“无法显示此页面”的错误 - 但并非始终如此。有时它可以工作 10 分钟,然后一分钟不工作,等等。每个用户都在 IE 设置中设置了代理配置文件 (PAC)。现在我们尝试使用 wireshark 分析这里发生了什么,因为我们找不到代理服务器本身、PAC 文件或用户设置的任何问题。

在 wireshark 日志中,我们可以看到 IE 正在与代理服务器通信,发送 GET 请求并获得身份验证(通过 NTLMSSP 进行代理身份验证),代理还以“HTTP/1.1 302 Found (text/html)”进行应答。在下一步中,我们可以看到客户端正尝试通过网站的目标 IP 地址直接访问互联网,而这被我们的防火墙阻止了,因为客户端必须通过代理访问。

但是为什么 Internet Explorer 会尝试直接进入呢?也许有人知道?

用户正在使用 WinSrv2008R2 终端服务器 (Citrix)。我们怀疑是 Windows 更新导致的,因为我们在 2 周前安装了许多未完成的更新。但我们在网上找不到任何描述我们问题的说明。

wireshark 日志:

[...]

545159  11:18:02.456003 172.27.217.119  10.2.50.11  HTTP    599 GET http://www.our-website.de/ HTTP/1.1 

545160  11:18:02.456580 10.2.50.11  172.27.217.119  TCP 60  3128 → 55551 [ACK] Seq=1 Ack=546 Win=63424 Len=0

545161  11:18:02.457097 10.2.50.11  172.27.217.119  TCP 1434    [TCP segment of a reassembled PDU]

545162  11:18:02.457098 10.2.50.11  172.27.217.119  TCP 60  [TCP Previous segment not captured] 3128 → 55551 [FIN, ACK] Seq=2644 Ack=546 Win=63424 Len=0

545163  11:18:02.457117 172.27.217.119  10.2.50.11  TCP 54  55551 → 3128 [ACK] Seq=546 Ack=1381 Win=131072 Len=0

545164  11:18:02.457135 10.2.50.11  172.27.217.119  TCP 1317    [TCP Out-Of-Order] 3128 → 55551 [PSH, ACK] Seq=1381 Ack=546 Win=63424 Len=1263

545165  11:18:02.457145 172.27.217.119  10.2.50.11  TCP 54  55551 → 3128 [ACK] Seq=546 Ack=2645 Win=129792 Len=0

[...]

545199  11:18:02.466819 172.27.217.119  10.2.50.11  HTTP    683 GET http://www.our-website.de/ HTTP/1.1 , NTLMSSP_NEGOTIATE

545200  11:18:02.467245 10.2.50.11  172.27.217.119  TCP 60  3128 → 55552 [ACK] Seq=1 Ack=630 Win=63360 Len=0

545201  11:18:02.467546 10.2.50.11  172.27.217.119  HTTP    637 HTTP/1.1 407 Proxy Authentication Required , NTLMSSP_CHALLENGE

545202  11:18:02.467560 172.27.217.119  10.2.50.11  TCP 54  55552 → 3128 [ACK] Seq=630 Ack=584 Win=130304 Len=0

545206  11:18:02.474303 172.27.217.119  10.2.50.11  HTTP    1271    GET http://www.our-website.de/ HTTP/1.1 , NTLMSSP_AUTH, User: OUR_DOMAIN\user

545207  11:18:02.475012 10.2.50.11  172.27.217.119  TCP 60  3128 → 55552 [ACK] Seq=584 Ack=1847 Win=62144 Len=0

545213  11:18:02.519326 10.2.50.11  172.27.217.119  HTTP    835 HTTP/1.1 302 Found  (text/html)

545214  11:18:02.519359 172.27.217.119  10.2.50.11  TCP 54  55552 → 3128 [ACK] Seq=1847 Ack=1365 Win=129536 Len=0

545216  11:18:02.524742 172.27.217.119  #Website_IP#    TCP 66  55553 → 80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1

545217  11:18:02.524880 172.27.217.119  #Website_IP#    TCP 66  55554 → 80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1

545218  11:18:02.525377 #Website_IP#    172.27.217.119  TCP 60  80 → 55553 [RST, ACK] Seq=1 Ack=1 Win=8192 Len=0



545219  11:18:02.525487 #Website_IP#    172.27.217.119  TCP 60  80 → 55554 [RST, ACK] Seq=1 Ack=1 Win=8192 Len=0

我们可以在防火墙日志中看到连接被阻止:

4   May 30 2017 11:18:02    106023  172.27.217.119  55553   #Website_IP#    80  Deny tcp [...]

// 编辑:PAC 文件:

function FindProxyForURL(url, host)
{
   if (isPlainHostName(host)) { return "DIRECT"; }
   if (host == "127.0.0.1") { return "DIRECT"; }

// 10.x.x.x
   if (shExpMatch(url,"https://10.*.*.*") || shExpMatch(url,"http://10.*.*.*") || shExpMatch(url,"ftp://10.*.*.*"))
   {
    return "DIRECT";
   }
// 172.27.x.x
   if (shExpMatch(url,"https://172.27.*.*") || shExpMatch(url,"http://172.27.*.*") || shExpMatch(url,"ftp://172.27.*.*"))
   {
    return "DIRECT";
   }
// 192.168.x.x
   if (shExpMatch(url,"https://192.168.*.*") || shExpMatch(url,"http://192.168.*.*") || shExpMatch(url,"ftp://192.168.*.*"))
   {
    return "DIRECT";
   }
// KV-SafeNet (INCAS Medical)
   if((host == "www.incas-medical-safenet.de")) { return "DIRECT"; }
   if((host == "188.144.47.250")) { return "DIRECT"; }
   if(isInNet(host, "188.144.0.0", "255.254.0.0")) { return "DIRECT"; }


    // If the requested website is hosted within the internal network, send direct.
    if (isPlainHostName(host) ||
        shExpMatch(host, "*.local") ||
        isInNet(dnsResolve(host), "10.0.0.0", "255.0.0.0") ||
        isInNet(dnsResolve(host), "172.16.0.0",  "255.240.0.0") ||
        isInNet(dnsResolve(host), "192.168.0.0",  "255.255.0.0") ||
        isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
        return "DIRECT";

   return "PROXY 10.2.50.11:3128; PROXY 10.2.50.10:3128";
}

国王问候,尼科

答案1

您的防火墙阻止了不应该阻止的流量,或者将流量路由到不应该路由到的防火墙。

您的代理文件配置为直接访问“172.16.0.0”、“255.240.0.0”,其中包括地址范围:172.16.0.0 - 172.31.255.255。您提供的示例是针对 172.27.217.119,它应该被允许,但被您的防火墙丢弃了。

相关内容