Dlaczego aplikacje Windows 8 Metro nie widzą Internetu przez VPN?

Prawdopodobnie natknąłeś się na niektóre nowoczesne aplikacje Windows 8 (aplikacje Metro) nie widzą Internetu (dają „błąd połączenia z serwerem” itp.) podczas używania niektóre typy Połączenia VPN do dostawców. Co więcej, z reguły nie wszystkie aplikacje Metro mają problem. Tj. Niektóre aplikacje działają (zwykle standardowe aplikacje Metro), a inne nie. Klasyczne aplikacje systemu Windows jednocześnie bez problemu pracujące z Internetem.

Jeśli umieścisz router sprzętowy przed komputerem użytkownika, który inicjuje utworzenie połączenia VPN z dostawcą, problem nie zostanie zaobserwowany. Tj. Dotyczy to tylko systemów Windows 8, które niezależnie instalują tunel VPN.

Problem jest dość stary, ale wciąż nie ma oficjalnego rozwiązania firmy Microsoft (przynajmniej nie mogłem go znaleźć). W tym artykule przeanalizujemy przyczynę problemu i metody jego rozwiązania..

Jak wiecie, Metro Apps Windows 8 różni się od klasycznych aplikacji Windows. W tym kontekście interesuje nas fakt, że działają one w izolowanym środowisku, z którego domyślnie odmowa dostępu do pętli zwrotnej (loopback) do interfejsu komputera. A ponieważ wszystkie interfejsy tunelu (pptp, l2tp, pppoe) na którym VPN, Ponieważ są to jedynie interfejsy sprzężenia zwrotnego, większość aplikacji Metro nie może wysyłać do nich ruchu sieciowego, a zatem przejść do trybu online. To samo dotyczy lokalnych serwerów proxy (zaczynając od najprostszych trymerów banerowych, takich jak Privoxy, kończąc na pełnoprawnych serwerach proxy).

Wskazówka. Problem nie rozwiązuje ustawień serwera proxy dla aplikacji Metro.

Aby aplikacja Metro mogła uzyskać pełny dostęp do sieci, musisz dodać możliwość do manifestu appx privateNetworkClientServer. Podczas opracowywania aplikacji w programie Visual Studio ten dostęp jest dostępny, ale podczas publikowania aplikacji w Sklepie Windows programista musi ręcznie włączyć tę funkcję w pliku manifestu.

Podczas gdy Microsoft uzna interfejsy tunelowe za pętle zwrotne, aby aplikacje Metro działały poprawnie przez VPN / proxy, będziesz musiał poprosić programistów o modyfikację aplikacji lub zastosować obejście.

Aby wdrożyć obejście, pomoże nam bezpłatny serwer proxy HTTP / HTTPS. Skrzypek, zaprojektowany do debugowania aplikacji internetowych i sprawdzania całego ruchu HTTP między komputerem a serwerami w Internecie (w szczególności można go użyć do uzyskania łącza do pobrania pliku instalacyjnego appx dowolnej aplikacji Metro ze Sklepu Windows).

  1. Pobierz Debuger sieciowy Fiddler z tej strony (http://www.telerik.com/download/fiddler). W systemie Windows 8 i nowszym potrzebujesz wersji Skrzypek dla .Netto 4 (Zakłada się, że masz już .NETv4 Framework zainstalowany na komputerze)
  2. Zainstaluj Fiddler z ustawieniami domyślnymi.
  3. Domyślnie aplikacji Metro nie można debugować za pomocą narzędzia Fiddler, ponieważ działa jako lokalny serwer proxy na komputerze (aplikacje Metro domyślnie nie mogą wysyłać ruchu przez lokalny interfejs proxy). Aby usunąć to ograniczenie (ograniczenie pętli zwrotnej) w kontenerze oprogramowania AppContainers dla konkretnej aplikacji Metro, rozszerzenie Fiddler pomoże - Windows 8 AppContainer Loopback Utility (enableloopbackutility.exe). Pobierz i zainstaluj to rozszerzenie.
  4. Po zainstalowaniu narzędzi uruchom Fiddler i w menu Narzędzia wybierz element Zwolnienia pętli Win8 (to samo można zrobić, klikając pierwszy przycisk z ikoną Windows 8 na pasku narzędzi)
  5. Przed wykonaniem następnego kroku upewnij się, że połączenie VPN zostało ustanowione (lub lokalny serwer proxy działa, jeśli występuje z nim problem).
  6. Wybierz aplikacje Metro Windows 8, których ruch powinien być „zawinięty” w Fiddler i dla których musisz usunąć ograniczenie dostępu do pętli zwrotnej. Jeśli musisz wybrać wszystkie aplikacje, kliknij Zwolnij wszystkich i zapisz konfigurację (Zapisz zmiany).Wskazówka. Jak widać, okno wskazuje, że dla bezpieczeństwa i niezawodności system Windows zabrania wysyłania ruchu aplikacji Metro na komputer lokalny. Narzędzie wyłączania pętli AppContainer wyłącza to ograniczenie na potrzeby debugowania i testowania..

  7. Zminimalizuj skrzypek (nie zamykaj go!) I sprawdź dostęp do sieci dla aplikacji Metro.
Jest ważne. Podczas instalowania nowej nowoczesnej aplikacji konieczne będzie ręczne dodanie jej do listy wyjątków Loopback.

Rozwiązanie Fiddler nie nadaje się do masowego użytku w segmencie korporacyjnym ze względu na niedogodności związane z wdrażaniem i zarządzaniem. Ale jako obejście problemu, pozwalające normalnie pracować z aplikacjami Metro w konfiguracji VPN - jest to całkiem odpowiednie.

Tak więc wymyśliliśmy, jak używać Fiddler, aby umożliwić dowolnej aplikacji Metro w Windows 8 dostęp do Internetu za pośrednictwem dowolnego rodzaju połączenia VPN lub lokalnego serwera proxy.