Lỗi xuất hiện khi nhập, trước mọi quá trình thương lượng, và nêu tên một chỉ thị mà ứng dụng khách từ chối chấp nhận. OpenVPN Connect chạy mã thư viện OpenVPN 3, vốn không triển khai tùy chọn fragment của ứng dụng khách cộng đồng chút nào. Điều đó biến đây thành câu hỏi về khả năng tương thích giữa hai đầu, chứ không phải câu hỏi tinh chỉnh kích thước gói.

Xóa dòng đó tạo ra một tệp mà ứng dụng khách sẽ phân tích, và một máy chủ có thể vẫn mong đợi định dạng mà dòng đó mô tả. Hãy lần theo từ màn hình nhập ra ngoài trước khi sửa bất cứ thứ gì.

Chỗ quá trình nhập dừng lại

Bộ nhập phân tích các chỉ thị trước khi liên hệ máy chủ, nên việc từ chối ở đó là quyết định cục bộ về cú pháp chứ không phải kết quả mạng, và danh sách chỉ thị không được hỗ trợ của OpenVPN ghi nhận đúng giới hạn đó. Điều đó giải thích vì sao cùng một tệp có thể chạy trong ứng dụng khách cộng đồng mà lại hỏng trong Connect trên cùng một máy. Đọc tên chỉ thị trong thông báo và giữ lại tệp gốc, vì đoạn văn bản đó là bằng chứng duy nhất về điều ứng dụng khách phản đối. Lỗi nhập và thời gian chờ kết nối đến từ các giai đoạn khác nhau và xứng đáng nhận những phản hồi khác nhau.

Nếu thông báo nêu fragment, câu hỏi còn lại là máy chủ có phụ thuộc vào nó hay không. Hãy trả lời điều đó trước khi động vào hồ sơ bạn được giao.

fragment thay đổi điều gì trong ứng dụng khách cộng đồng

Trong ứng dụng khách cộng đồng, chỉ thị bật cơ chế phân mảnh datagram của chính OpenVPN, chia tải trọng trước khi chúng tới lớp IP bên ngoài. Nó tồn tại để vượt qua những đường đi làm rơi datagram UDP lớn và giữ cho đường hầm dùng được ở nơi không thể tin cậy việc dò MTU đường đi. Nó không phải đồng nghĩa với việc hạ MTU của giao diện, và cũng không phải phân mảnh ở mức IP do hệ điều hành thực hiện. Một ứng dụng khách thiếu cơ chế đó không thể có được nó bằng cách hạ một con số.

Vì thiết lập này cũng sống trong cấu hình máy chủ, việc xóa nó khỏi bản sao của bạn chỉ thay đổi phía bạn. Máy chủ có thể vẫn chờ một đối tác hiểu tùy chọn đó, và một hồ sơ phân tích được vẫn chưa phải là phiên kết nối được thiết lập. Hai sự thật đó giải thích trạng thái trung gian khó hiểu, nơi một tệp đã sửa vẫn kết nối rồi sau đó đình trệ.

Hãy yêu cầu một hồ sơ được dựng cho ứng dụng khách này

Con đường sạch sẽ là hồ sơ thứ hai được tài liệu hóa cho OpenVPN Connect, nếu dịch vụ có công bố. Nhiều nhà cung cấp làm vậy, và khác biệt thường nằm ở những chỉ thị họ bỏ đi chứ không phải ở điểm cuối họ trỏ tới. Hãy yêu cầu theo tên ứng dụng khách thay vì mô tả lỗi, vì bộ phận hỗ trợ ghép hồ sơ với ứng dụng nhanh hơn nhiều so với việc chẩn đoán một tệp đã bị lược bớt.

Nếu bạn vận hành máy chủ, quyết định rộng hơn ứng dụng khách của chính bạn. Tắt phân mảnh ảnh hưởng tới mọi đối tác, kể cả những bên cần nó để duy trì kết nối trên một đường đi kém. Công bố thêm một bộ lắng nghe hoặc một cấu hình thứ hai cho ứng dụng khách bị ảnh hưởng giữ cho người dùng hiện tại tiếp tục chạy, trong khi ứng dụng mới hơn nhận được thứ nó có thể phân tích. Dù chọn cách nào, hãy ghi lại cấu hình nào phục vụ ứng dụng khách nào, vì sự tương ứng đó sẽ nhanh chóng biến mất nếu không.

Kiểm tra kết nối, không chỉ việc nhập

Một lần nhập thành công chỉ chứng minh rằng bộ phân tích đã chấp nhận tệp. Hãy dựng đường hầm bằng ứng dụng khách cộng đồng trên một máy bạn kiểm soát, dùng cùng hồ sơ, và đọc nhật ký để xem quá trình thương lượng truyền tải và mã hóa. Các lệnh bên dưới làm việc đó mà không để ứng dụng máy tính cản đường.

openvpn --config client.ovpn --verb 3
ip -4 addr show tun0
curl -sS --interface tun0 -o /dev/null -w '%{http_code}\n' --max-time 8 https://example.com/

Nhật ký cho thấy lần thử đã dừng ở đâu: lỗi tùy chọn xuất hiện trước mọi trao đổi TLS, còn lỗi xác thực hoặc mã hóa xuất hiện sau đó. Nếu đường hầm lên được mà yêu cầu vẫn hỏng, vấn đề đã chuyển từ tương thích sang định tuyến. Hãy so sánh điều đó với hành vi của Connect trên cùng mạng trước khi kết luận bất cứ điều gì về máy chủ.

Giữ hồ sơ đang chạy được và phiên bản ứng dụng khách bên cạnh ghi chú. Một bản phát hành ứng dụng sau này có thể bổ sung hỗ trợ cho một chỉ thị, và điều đó thay đổi câu trả lời mà không ai phải động vào máy chủ.

Bài viết liên quan