Скрипт прокси не работает, когда подключены две сетевые карты. Как это исправить?

Я развернул wpad.dat. Работает как чудо, за исключением некоторых пользователей, которые подключены к двум сетям одновременно (Ethernet и другой сетевой адаптер, который эмулирует аналоговый модем для факса). Я также проверил это с моим ноутбуком. Когда я подключаюсь к локальной сети через кабель и в то же время к другой сети через 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";
}

3 ответа

Решение

У меня есть решение, Эврика:)

Мне пришлось изменить приоритет сетевых интерфейсов. Интерфейс (LAN), который будет иметь доступ к прокси, должен быть первым интерфейсом, если к какой-либо сети подключено более одного интерфейса.

Это привело к моему решению: http://www.geurtsrus.com/gerke/2005/01/proxy-auto-configuration-blues.html

Параграф начинается с: Кредиты Оливеру Преслэнду (Microsoft UK) ...

@Palmin У меня была такая же проблема, и, к счастью, наткнулся на решение в этой теме в social.technet! Приоритет IP-адресов адаптера, который Windows возвращает браузеру myIpAddress() Реализация может быть изменена путем изменения метрик IP.

Я вручную устанавливаю метрики для моих физических адаптеров на 1, 2 и т. Д., И в конце ставлю сеть только для хоста VirtualBox. Теперь это работает как шарм.

Моя конкретная конфигурация / путешествие для других, борющихся с той же проблемой:

  • Windows 7 Enterprise
  • VirtualBox 4.1.20 r80170

Доступ к веб-страницам в Интернете при беспроводном соединении всегда не удался. При проводном соединении они работали просто отлично, и страницы в интрасети были всегда доступны. Отключение VirtualBox Host-Only Network Adapter решило проблему. Ручная настройка моего браузера на постоянное использование прокси-сервера (вместо автоматического определения) также решила проблему.

Чтобы подтвердить природу проблемы PAC, я использовал утилиту pactester для проверки поведения wpad.dat с моими физическими адресами по сравнению с VirtualBox. Как и ожидалось, прокси-скрипт возвращает прямые соединения для частных адресов IPv4. Стандартный IPv4-адрес VirtualBox для хоста находится в 192.168.x.x спектр.

Изменение приоритета адаптера не решило проблему для меня. Это не было полностью (и чисто) решено, пока я не изменил метрики для каждого адаптера.

Это может не сработать (извините). Проект PAC предполагал, что существует один первичный интерфейс, и вы можете сказать, что он выбирает, какой прокси на этом первичном интерфейсе следует использовать.

Наиболее вероятная причина заключается в том, что ваш прокси-адрес находится в диапазоне адресов "неправильного" интерфейса. Вы должны предоставить netstat -rn для меня, чтобы понять это.

Другие вопросы по тегам