Проблемы с доступом к веб-странице через VPN в корпоративной среде

#proxy #64-bit #webclient #vpn #.net-1.1

#прокси #64-разрядный #webclient #vpn #.net-1.1

Вопрос:

Моя ОС — 64-разрядная windows 7. Я нахожусь в корпоративной среде. Для подключения к Интернету я настроил IE на использование скрипта автоматической настройки прокси. Кроме того, я подключаюсь к внешнему корпоративному коммутируемому VPN (через Интернет). При подключении к VPN я вижу, что мой файл hosts изменен, и печать маршрута также изменена. Для удаленного подключения VPN используется другой сценарий автоматической настройки прокси-сервера (в разделе настройки удаленного доступа и VPN). Я могу видеть содержимое двух сценариев автоматической настройки, а также информацию о печати маршрута.

У меня есть приложение winforms .Net1.1, которое использует WebClient для загрузки XML-файла с веб-сервера.

При подключении к VPN: приложение winforms не может загрузить файл (ошибка «сервер недоступен»). Если я перейду по тому же URL-адресу в IE, я смогу загрузить файл. Более того, когда я запускаю Fiddler для проверки HTTP-сеансов, приложение winforms может загрузить XML-файл. Запуск netsh-> прокси, версии system32 и SysWOW64 показывают прямой доступ.

Я подозреваю, что проблема каким-то образом связана с конфигурациями прокси, но я не знаю, где искать в первую очередь.

Любая помощь по наведению порядка была бы действительно оценена…

Ответ №1:

Проблема может быть результатом настройки TCP на вашем компьютере с Windows 7. Попробуйте выполнить следующее, затем перезагрузите компьютер.

  1. Нажмите кнопку «Пуск».

  2. В поле поиска введите командную строку. В результатах поиска появится командная строка.

  3. Щелкните правой кнопкой мыши значок командной строки и выберите Запуск от имени администратора.

  4. Введите учетные данные администратора, и вы готовы к работе.

Как только вы перейдете к командной строке с повышенными правами:

Введите все приведенные ниже команды и нажмите Ввод после каждой.

netsh int tcp set global autotuninglevel= отключен

netsh int tcp set global autotuninglevel= отключен

сетевой интерфейс tcp установлен глобальный rss = отключен

сетевой интерфейс tcp установлен глобальный уровень автоматической настройки = отключен

netsh интерфейс tcp установил глобальный congestionprovider = нет

Ответ №2:

Просто для справки,

Оказывается, что .net framework 1.1 WebClient не понимает автоматическую настройку прокси в настройках по умолчанию:

   <system.net>
    <defaultProxy>
      <!-- 
                The following entry enables reading of the per user (LAN) Internet settings.
                Adding additional proxy settings, without first setting to "false",
                will individually override. Note that "Automatic configuration" and 
                "automatic configuration scripts" cannot be read.

                <proxy> settings:
                    usesystemdefault="[true|false]" - Read settings from Internet Options (see above)
                    proxyaddress="[string]" - A Uri string of the proxy server to use.
                    bypassonlocal="[true|false]" - Enables bypassing of the proxy for local resources.
             -->
      <proxy usesystemdefault="true" />
    </defaultProxy>
  </system.net>
  

Одним из возможных обходных путей является ручное добавление прокси-сервера в конфигурационный файл

   <system.net>
    <defaultProxy>
      <proxy usesystemdefault="false" proxyaddress="http://myproxy:myport"  />
    </defaultProxy>
  </system.net>