Mở ứng dụng khách, nhấn Kết nối và đọc dòng trạng thái thay vì hộp thoại hiện ra sau đó. Một hồ sơ khựng ở Đang kết nối hoặc Đang chờ máy chủ sau mạng khách sạn, khuôn viên hoặc di động thường đã mất lớp truyền tải ở đâu đó trên đường đi, chứ không phải thông tin đăng nhập. Bước tiếp theo hữu ích là tìm hiểu mạng đó mang gì trước khi chạm vào máy chủ. Đừng thay đổi gì cho tới khi chính hồ sơ đó chạy được ở nơi khác.

Trước tiên hãy thử từ điểm phát sóng của điện thoại. Nếu đường hầm dựng lên ở đó, máy chủ, chứng chỉ và tài khoản đều ổn, và biến duy nhất còn lại là mạng trước mặt bạn.

Bắt đầu từ ứng dụng khách: đọc dòng trạng thái

Dòng trạng thái cho biết giai đoạn nào đã thất bại. Ứng dụng khách kẹt ở Đang kết nối vẫn đang phân giải tên máy chủ hoặc mở socket bên ngoài; cái chạm tới Đang chờ máy chủ có đường đi nhưng không có phản hồi; cái xác thực xong rồi rơi có vấn đề hoàn toàn khác. Nhật ký ứng dụng khách và chính các trường remote và proto của hồ sơ cho thấy ứng dụng đang cố làm gì, và --verb 4 trên ứng dụng dòng lệnh in ra cùng chi tiết đó. So sánh điều đó với mạng trước mặt bạn chính là thứ biến 'VPN bị chặn' thành một khẳng định cụ thể.

Sau đó hãy dò mạng bằng những công cụ bạn đã có. nc -vzu 203.0.113.10 1194 gửi một datagram UDP, curl -v telnet://203.0.113.10:443 báo cáo xem bắt tay TCP có hoàn tất không, và trình duyệt tải một trang HTTPS chỉ chứng minh rằng lối ra 443 đến được đúng máy chủ đó. Những phép dò nhỏ trả lời điều ứng dụng VPN không thể: cổng nào và giao thức nào thực sự rời khỏi mạng này.

Ba hành vi mạng trông giống nhau từ phía ứng dụng khách và cần những câu trả lời khác nhau. Lối ra 443 có thể mở, chỉ proxy có thể được cho phép, hoặc 443 có thể được chuyển trong suốt tới một hộp kiểm tra không đọc được nó mang gì. Trường hợp đầu sửa bằng thay đổi hồ sơ bên dưới, trường hợp hai bằng cài đặt proxy, và trường hợp ba có thể hoàn tất bắt tay rồi khựng lại khi người kiểm tra quyết định không thích luồng đó. Biết mình đang đối mặt với cái nào trong ba là khác biệt giữa một thay đổi mười phút và nửa ngày cài lại ứng dụng khách.

Chuyển listener và hồ sơ cùng nhau

Phía máy chủ, đặt listener theo điều mạng cho phép: port 443 và proto tcp trong cấu hình máy chủ, sau đó khởi động lại dịch vụ và xác nhận socket bằng ss -lntp. Phía ứng dụng khách, hồ sơ phải đồng ý, vì lớp truyền tải và cổng nằm ngoài đường hầm: proto tcp và port 443 trong .ovpn, hoặc các trường tương ứng trên màn hình cài đặt của ứng dụng. Một hồ sơ vẫn nhắm tới UDP 1194 sẽ hỏng y hệt như trước, và sự cám dỗ là đổ lỗi cho tường lửa vốn đã được sửa. Nếu cùng máy chủ đó cũng trả lời HTTPS trên 443, hai listener không thể chia sẻ địa chỉ và giao thức đó; hãy cấp cho VPN một địa chỉ thứ hai hoặc đặt bộ phân kênh phía trước.

Theo dõi kết nối đầu tiên bằng tcpdump -ni any port 443 ở cả hai đầu. Các gói rời ứng dụng khách mà không bao giờ tới nghĩa là mạng vẫn lọc, hoặc địa chỉ trong hồ sơ không phải cái bạn giả định. Các gói tới mà không có phản hồi đưa bạn trở lại nhật ký máy chủ, nơi sự không khớp giao thức hiện ra ngay như một gói bị bỏ.

Khi chỉ có proxy ra khỏi mạng

Một số mạng dành cho khách không cho phép gì ngoài proxy HTTP, đây là một ràng buộc khác với cổng đóng và loại trừ nhiều thứ hơn cả OpenVPN. Những ứng dụng khách chỉ nói PPTP, L2TP/IPsec hoặc IPsec trần không có đường đi qua nó, vì các thiết kế đó kỳ vọng giao thức bên ngoài của chúng tới thẳng máy chủ. OpenVPN làm được, với http-proxy proxy.example.net 8080 trong hồ sơ ứng dụng khách, miễn là proxy cho phép phương thức CONNECT tới cổng của bạn. Proxy SOCKS còn dễ hơn, vì nó chuyển tiếp luồng mà không quan tâm bên trong có gì.

Ở nơi ứng dụng khách không hỗ trợ proxy, một đường hầm SSH trên 443 thường là thứ còn lại. Nó thêm một lớp thứ hai, và người vận hành mạng có thể có ý kiến về việc này, nên hãy coi nó như một cây cầu cho một chuyến đi chứ không phải một kiến trúc.

Tính giá của đường dự phòng trước khi giữ nó

TCP trong TCP có một cái giá đã biết. Khi kết nối bên ngoài là TCP và tải trọng cũng là TCP, một đoạn bị mất kích hoạt truyền lại ở cả hai lớp, và kết nối bên trong lùi lại trước mất mát mà nó không thể thấy. Duyệt web chịu được điều đó; phiên tương tác và cuộc gọi cảm nhận được. Giữ listener TCP 443 làm đường dự phòng cho những mạng đòi hỏi nó, và để UDP làm mặc định cho mọi thứ vẫn còn cho nó đi qua.

Ghi lại lựa chọn trong tên hồ sơ và trong ghi chú hỗ trợ: cổng nào, giao thức nào và mạng nào đã dẫn đến nó. Sau đó hỏi quản trị viên mạng xem cổng đó có còn mở sau lần thay thiết bị tiếp theo không, vì một đường dự phòng biến mất lặng lẽ còn tệ hơn không có đường dự phòng nào.

Bài viết liên quan