У меня следующая проблема.

В моей компании есть прокси-сервер, и я не могу получить доступ к некоторым ресурсам, которые мне нужны для разработки, поэтому они предоставляют мне внешний маршрутизатор 4g. Могу ли я соединить соединения так, чтобы когда я не мог получить доступ к ресурсу через Ethernet, то пытался использовать 4g без замены соединений каждый раз?

Я имею:

Оба соединения находятся в разных диапазонах IP-адресов.

  • LAN Ethernet, который проходит через корпоративный прокси и брандмауэр.
  • WLAN 4g соединение, когда мне нужно получить доступ напрямую или с внешнего IP к ресурсу.

Я хочу:

Я прошу ресурс (URL) -> сначала проверить через ЛВС, и если я не могу использовать ЛВС для доступа к нему, используйте WLAN.

Пример (упрощенно):

  • Внутренняя страница компании -> ЛВС говорит ДА
  • Внешний ресурс, который прокси не разрешает -> LAN говорит НЕТ -> 4g говорит ДА

PD: Наши ИТ говорят, что это проблема с прокси, но я подозреваю, что порты не позволяют выводить данные или что-то в этом роде ...

Спасибо за помощь! Я не англичанин, поэтому, если вам нужно кое-что сказать, пожалуйста, закомментируйте это.

1 ответ1

0

Вы должны настроить proxy.pac.

Что такое proxy.pac

Это небольшой файл Javascript, который вы можете разместить на своем компьютере. Этим файлом вы передаете конфигурацию сети вашего веб-браузера, и будет вызван его FindProxyForURL(url,host) для маршрутизации всех URL-адресов, к которым должен обращаться ваш браузер.

Этот метод Javascript может использовать набор полезных предопределенных тестовых функций и должен возвращать либо:

  • "DIRECT" чтобы обойти прокси и попытаться напрямую подключиться к Интернету по этому URL
  • "PROXY ip:port" для маршрутизации на данный прокси (IP/ порт)
  • или несколько опций, разделенных "; " чтобы описать цепочку с отказоустойчивостью

Такая настройка позволяет очень легко описать всеобъемлющие правила маршрутизации на основе URL-адреса, к которому вы подключаетесь, или даже на основе IP-адреса вашего компьютера (домашняя сеть / сеть компании) и дня недели (рабочие дни / выходные).

Пример файла

Вот интересный пример для вас:

function FindProxyForURL(url, host) {

// If the hostname matches, send direct.
    if (dnsDomainIs(host, "intranet.domain.com") ||
        shExpMatch(host, "(*.abcdomain.com|abcdomain.com)"))
        return "DIRECT";

// If the protocol or URL matches, send direct.
    if (url.substring(0, 4)=="ftp:" ||
        shExpMatch(url, "http://abcdomain.com/folder/*"))
        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";

// If the IP address of the local machine is within a defined
// subnet, send to a specific proxy.
    if (isInNet(myIpAddress(), "10.10.5.0", "255.255.255.0"))
        return "PROXY 1.2.3.4:8080";

// DEFAULT RULE: All other traffic, use below proxies, in fail-over order.
    return "PROXY 4.5.6.7:8080; PROXY 7.8.9.10:8080";
}

Поскольку это Javascript, вы, конечно, можете создавать и использовать частные вспомогательные функции и переменные.

дальнейшее чтение

Вы найдете кучу документации через Интернет. Среди прочего:

Последний совет

Я рекомендую вам выбрать только результат FindProxyForURL из аргумента хоста или протокола URL. В частности, маршрутизация нескольких URL-адресов одного веб-сайта через разные внешние IP-адреса не всегда поддерживается, поскольку некоторые веб-сайты ожидают, что у пользователя будет стабильный IP-адрес в течение всей навигации.

Куча примеров балансировки нагрузки имеет этот недостаток.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .