Ứng dụng khách chết giữa lúc tải xuống và biểu tượng trên khay biến mất. Việc truyền vẫn tiếp tục qua kết nối ở nhà. Chính trình tự đó là lý do một kill switch tồn tại, và Windows có thể tiến gần đến nó mà không cần sản phẩm thứ hai.

Có hai cách đáng biết. Chúng thất bại ở những chỗ khác nhau, và không cách nào là câu trả lời đầy đủ.

Cách thứ nhất: chỉ cho phép chương trình trên một hồ sơ

Tường lửa Windows giới hạn quy tắc trong các hồ sơ Domain, Private và Public. Mẹo là gán cho bộ điều hợp đường hầm một phân loại và bộ điều hợp vật lý một phân loại khác. Sau đó bạn viết một quy tắc ra cho phép chương trình được bảo vệ trên hồ sơ đường hầm và chặn nó ở mọi nơi khác. Tường lửa đọc phân loại, không đọc tên bộ điều hợp.

Trước hết đặt kết nối VPN thành Private và mạng vật lý thành Public. Sau đó thêm quy tắc chặn cho chương trình áp dụng cho những hồ sơ bạn không muốn. Tiếp theo xác nhận việc gán bằng Get-NetConnectionProfile, vì quy tắc đi theo chính việc gán đó.

Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory

New-NetFirewallRule -DisplayName 'Block browser off VPN' -Direction Outbound `
  -Program 'C:\Program Files\Mozilla Firefox\firefox.exe' -Action Block -Profile Public

New-NetFirewallRule -DisplayName 'Allow browser on VPN' -Direction Outbound `
  -Program 'C:\Program Files\Mozilla Firefox\firefox.exe' -Action Allow -Profile Private

Điểm yếu mang tính cấu trúc. Một quy tắc hồ sơ đi theo phân loại, nên khi Windows phân loại lại một mạng khách sạn, việc chặn có thể thôi áp dụng. Không có gì trong danh sách quy tắc thay đổi khi điều đó xảy ra.

Cách thứ hai: xóa tuyến mặc định vật lý

Cách tiếp cận bằng tuyến thô hơn và dễ kiểm toán hơn nhiều. Ghi lại cổng vào vật lý, để VPN tự cài tuyến mặc định với số đo thấp hơn, rồi xóa tuyến mặc định vật lý. Sau đó không gì khác có thể mang lưu lượng.

route print -4
route delete 0.0.0.0 mask 0.0.0.0 192.168.50.1
route print -4 | findstr /c:"0.0.0.0"

Khi ứng dụng khách chết, tuyến VPN biến mất cùng bộ điều hợp của nó. Máy chuyển sang ngoại tuyến thay vì rò rỉ, và đó chính là thứ một kill switch phải tạo ra.

Hai chi tiết quyết định nó có trụ được một tuần. DHCP đặt lại cổng vào mỗi khi liên kết rung. Một bộ điều hợp vật lý có địa chỉ tĩnh tránh được bất ngờ đó. Địa chỉ của chính máy chủ VPN cũng phải tiếp tục truy cập được. Không có tuyến tới máy chủ đó, ứng dụng khách không bao giờ kết nối lại được sau lần đứt đã kích hoạt việc chặn.

Cách thứ ba: không cổng vào, một tuyến máy chủ thường trú

Lựa chọn thứ ba bắt đầu bằng việc xóa cổng vào khỏi cài đặt bộ điều hợp. Sau đó một tuyến thường trú duy nhất tới điểm cuối VPN thay thế nó. Máy sau đó có thể nói chuyện với máy chủ và không với gì khác cho đến khi đường hầm dựng lên.

route -p add 198.51.100.44 mask 255.255.255.255 192.168.50.1 metric 1
route print -4 | findstr 198.51.100.44

Khôi phục cổng vào khôi phục internet bình thường, điều đó biến nó thành một công tắc bật tắt sạch sẽ. Nó không phụ thuộc vào một tập lệnh theo dõi sự kiện giao diện. Nó cũng không quan tâm mạng được phân loại thế nào.

Cái giá là sự cô lập hoàn toàn khi đường hầm xuống. Các bản cập nhật dừng lại, và bản thân việc tải xuống đã khởi xướng bài tập này cũng dừng. Trên máy tính xách tay công việc điều đó thường đúng, còn trên máy cá nhân đó là quyết định phải đưa ra có chủ đích.

Vì sao biểu tượng quả địa cầu không chứng minh điều gì

Windows báo cáo khả năng tiếp cận qua một phép dò tới điểm cuối của Microsoft. Phép dò đó không nói gì về đường hầm của bạn. Một đường hầm đang kết nối có thể nằm sau quả địa cầu báo không có internet, và một đường hầm chết có thể hiển thị kết nối khỏe mạnh.

Hãy thử bằng cách giết tiến trình ứng dụng khách rồi cố gắng chạm tới một địa chỉ công cộng bằng số. Một truy vấn tên có thể được trả lời từ bộ nhớ đệm, nên cả biểu tượng lẫn câu trả lời DNS đều không phải bằng chứng.

Cần ghi lại gì sau một lần đứt thật

Chạy bài thử như một trình tự chứ không phải một lần kiểm tra. Giết tiến trình thay vì ngắt kết nối, rồi thử một địa chỉ dạng số ở cả hai họ. Sau đó khôi phục ứng dụng khách và xác nhận nó vẫn chạm tới máy chủ của mình qua tuyến bạn đã giữ.

taskkill /IM openvpn-gui.exe /F
ping -4 198.51.100.44
ping -6 2606:4700:4700::1111
route print -4 | findstr /c:"0.0.0.0"

Lặp lại trình tự sau khi ngủ, sau khi đổi Wi-Fi và sau khi chuyển từ cáp sang không dây. Chính ở những chuyển tiếp đó cả phương pháp hồ sơ lẫn hành vi DHCP đều thất bại. Một quy tắc đứng được trên bàn làm việc không nhất thiết đứng được trong khách sạn.

Viết bước hoàn tác bên cạnh mỗi quy tắc và tuyến. Microsoft ghi lại việc tạo quy tắc ra trong tài liệu tham chiếu quy tắc tường lửa Windows, và đó là nguồn tốt hơn một hướng dẫn chỉ toàn ảnh chụp màn hình.

Bài viết liên quan