Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Windows 8

Khắc phục: Ứng dụng Modern Windows không hoạt động qua kết nối VPN

Bạn có thể gặp tình huống một số ứng dụng Windows 8 Modern (ứng dụng Metro) không thấy Internet (không kết nối được đến server, v.v.) khi sử dụng một số loại kết nối VPN đến các nhà cung cấp dịch vụ. Tuy nhiên, thường thì vấn đề này không xảy ra với tất cả các ứng dụng Metro. Tức là một số ứng dụng hoạt động (thường là các ứng dụng Metro tiêu chuẩn), và một số thì không. Đồng thời, các ứng dụng Windows cổ điển hoạt động với Internet bình thường không gặp vấn đề gì.

Nếu bạn đặt một router phần cứng khởi tạo kết nối VPN đến nhà cung cấp trước máy tính, vấn đề sẽ không xảy ra. Điều này có nghĩa là vấn đề chỉ xảy ra trên Windows 8 khi nó phải tự thiết lập đường hầm VPN.

Vấn đề này đã tồn tại lâu, nhưng cho đến nay chưa có giải pháp chính thức từ Microsoft (Ít nhất tôi không tìm thấy). Trong bài viết này, chúng ta sẽ xem xét nguyên nhân gây ra vấn đề và cách khắc phục.

Như bạn biết, các ứng dụng Modern Windows 8 khác biệt với các ứng dụng Windows cổ điển. Trong bối cảnh này, chúng ta quan tâm đến việc chúng chạy trong môi trường cách ly với quyền truy cập vào giao diện loopback của máy tính bị vô hiệu hóa theo mặc định. Vì tất cả các giao diện đường hầm (pptp, l2tp, pppoe) sử dụng VPN đều là giao diện loopback, hầu hết các ứng dụng Metro không thể gửi lưu lượng mạng đến chúng, và do đó không thể truy cập Internet. Tương tự áp dụng cho các proxy server cục bộ (từ các trình chặn quảng cáo đơn giản như Privoxy đến các proxy server đầy đủ).

Để cấp cho ứng dụng Metro quyền truy cập mạng đầy đủ, bạn phải thêm privateNetworkClientServer vào manifest APPX. Khi phát triển ứng dụng trong Visual Studio, quyền truy cập này được bật, nhưng sau khi ứng dụng đã được xuất bản trên Windows Store, nhà phát triển phải bật tính năng này thủ công trong file manifest.

Vì các giao diện đường hầm trên Windows là loopback, bạn sẽ phải nhờ nhà phát triển sửa đổi ứng dụng hoặc sử dụng giải pháp thay thế để làm cho ứng dụng Metro hoạt động chính xác.

Để thực hiện giải pháp thay thế, chúng ta sẽ sử dụng máy chủ proxy HTTP/HTTPS miễn phí Fiddler, được thiết kế cho việc debug ứng dụng web và kiểm tra toàn bộ lưu lượng HTTP giữa máy tính và các server Internet (cụ thể, nó có thể dùng để lấy liên kết tải trực tiếp file cài đặt APPX của bất kỳ ứng dụng Metro nào từ Windows Store).

  • Tải xuống Fiddler Web Debugger từ trang web này (https://www.telerik.com/download/fiddler). Đối với Windows 8 trở lên, bạn sẽ cần Fiddler cho .Net 4. (Giả định bạn đã cài đặt .NET Framework v4 trên máy tính)
  • Cài đặt Fiddler với cài đặt tiêu chuẩn.
  • Mặc định, ứng dụng Modern không thể được debug bằng Fiddler, vì nó hoạt động như một proxy server cục bộ trên máy tính của bạn (ứng dụng Metro theo mặc định không thể gửi lưu lượng qua giao diện proxy cục bộ). Bạn có thể xóa hạn chế này (Loopback Restriction) trong container chương trình AppContainers cho một ứng dụng Metro cụ thể bằng tiện ích mở rộng của Fiddler — Windows 8 AppContainer Loopback Utility (enableloopbackutility.exe). Tải xuống và cài đặt tiện ích này.
  • Sau khi cài đặt các tiện ích, khởi động Fiddler và trong menu Tools chọn Win8 Loopback Exemptions (bạn cũng có thể làm tương tự bằng cách nhấn nút Windows 8 đầu tiên trên thanh công cụ). Khắc phục: Ứng dụng Modern Windows không hoạt động qua kết nối VPN
  • Trước khi thực hiện bước tiếp theo, hãy đảm bảo VPN của bạn đã được thiết lập (hoặc proxy server cục bộ đã khởi động).
  • Chọn các ứng dụng Metro Windows 8 mà lưu lượng cần đi qua Fiddler và hạn chế truy cập loopback cần được xóa. Nếu bạn cần chọn tất cả ứng dụng, nhấn Exempt All và lưu cấu hình (Save Changes). Khắc phục: Ứng dụng Modern Windows không hoạt động qua kết nối VPNMẹo. Như bạn thấy, trong cửa sổ này chỉ rõ rằng vì lý do bảo mật và độ tin cậy, Windows chặn ứng dụng Metro gửi lưu lượng mạng đến máy tính cục bộ. Tiện ích AppContainer Loopback Exemption Utility vô hiệu hóa hạn chế này cho mục đích debug và kiểm tra.
  • Thu nhỏ Fiddler (đừng đóng nó!) và kiểm tra truy cập mạng từ các ứng dụng Metro.

Quan trọng. Nếu bạn cài đặt ứng dụng modern mới, bạn sẽ phải thủ công thêm nó vào danh sách Loopback Exemption.

Fiddler không phù hợp cho việc sử dụng sản xuất trong môi trường doanh nghiệp do một số bất tiện trong triển khai và quản lý. Nhưng như một giải pháp thay thế cho phép làm việc với ứng dụng Metro trong cấu hình VPN, nó khá hữu ích.

Vậy là chúng ta đã xem xét cách sử dụng Fiddler để cấp quyền truy cập Internet cho ứng dụng Metro qua bất kỳ kết nối VPN hoặc proxy server cục bộ nào.