当连接两块网卡时,代理脚本不起作用。如何修复?

当连接两块网卡时,代理脚本不起作用。如何修复?

我已经部署了 wpad.dat。除了某些同时连接到两个网络(以太网和另一个模拟传真调制解调器的网络适配器)的用户外,它运行良好。我也用我的笔记本电脑测试了这一点。当我通过电缆连接到 LAN 并同时通过 WiFi 连接到另一个网络时,我无法连接到互联网。当我直接提供代理地址时,它可以正常工作。

为了解决我的问题,我必须如何更改我的脚本?

function FindProxyForURL(url, host) {
    if (isInNet(host, "127.0.0.1", "255.255.255.255"))
        return "DIRECT";
    if (shExpMatch(url, "*.intranet.*/*"))
        return "DIRECT";
    if (isInNet(myIpAddress(), "172.0.0.0", "255.255.0.0"))
        return "PROXY 10.1.1.254:8080";
    return "DIRECT";
}

答案1

@Palmin 我也遇到了同样的问题,幸运的是,我偶然发现了一个解决方案在这个 social.technet 主题中! Windows 返回给浏览器myIpAddress()实现的适配器 IP 的优先级可以通过更改IP 指标

我手动将物理适配器的指标设置为 1、2 等,并将 VirtualBox Host-Only Network 放在最后。现在一切运行正常。

我为遇到同样问题的人提供的具体配置/经历:

  • Windows 7 企业版
  • VirtualBox 4.1.20 r80170

使用无线网络时,访问互联网上的网页总是失败。使用有线连接时,它们工作正常,并且始终可以访问内联网页面。禁用 VirtualBox 仅主机网络适配器解决了该问题。手动配置浏览器以始终使用代理(而不是自动检测)也解决了该问题。

为了确认 PAC 问题的性质,我使用了帕克斯特实用程序来测试我的物理地址与 VirtualBox 地址的行为wpad.dat。正如预期的那样,代理脚本返回私有 IPv4 地址的直接连接。默认的 VirtualBox Host-Only IPv4 地址在范围内192.168.x.x

修改适配器优先级并没有解决我的问题。直到我修改了每个适配器的指标后,问题才得到彻底(和彻底)解决。

答案2

我有一个解决方案,找到了:)

我必须更改网络接口的优先级。如果多个接口连接到某个网络,则有权访问代理的接口 (LAN) 必须是第一个接口。

这导致了我的解决方案:http://www.geurtsrus.com/gerke/2005/01/proxy-auto-configuration-blues.html

段落开头为:感谢 Oliver Presland (微软英国) ...

答案3

这可能行不通(抱歉)。PAC 的设计假设有一个单一的主接口,并且您可以告诉它选择应在该主接口上使用哪个代理。

最可能的原因是您的代理地址位于“错误”接口的地址范围内。您必须提供 netstat -rn 才能让我找出原因。

相关内容