两周以来,我们的网络出现了一些互联网/代理问题。用户在尝试访问网站时,偶尔会在 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,它应该被允许,但被您的防火墙丢弃了。