Thường thì nó bắt đầu với một hồ sơ đã kết nối nhiều năm, được mở bằng ứng dụng khách mới hơn, và thất bại trước cả khi đường hầm khởi động. Terminal in ra nội dung như Options error: Unrecognized option ... in client.ovpn:130: tls-remote, kèm một phiên bản trong ngoặc ở cuối. Hãy đọc đó như lời phàn nàn của bộ phân tích: tệp chứa một chỉ thị mà ứng dụng khách này không còn biết.

Chỉ một thông báo đó giải thích vì sao tạo lại khóa, nhập lại mật khẩu hay kiểm tra máy chủ đều vô ích. Lỗi xảy ra khi ứng dụng khách đang đọc cấu hình của chính nó, trước khi mở socket. Việc hữu ích là xác định chỉ thị bị từ chối và thay bằng tương đương hiện tại.

Đọc dòng bị lỗi trước khi sửa bất cứ thứ gì

Hãy tự chạy ứng dụng khách thay vì khởi chạy từ biểu tượng khay hệ thống, để thông báo hiện ra và đường dẫn hồ sơ rõ ràng. Mở tệp ở dòng được báo và xem token mà ứng dụng khách đã nêu. Số dòng là dòng trong hồ sơ, không phải phiên bản; người ta hay nhầm vì cùng con số đó xuất hiện trong ngoặc như mã nhận dạng bản phát hành.

Các trình tạo hồ sơ cũ không chỉ phát ra một chỉ thị sai mà nhiều chỉ thị. Sửa lỗi đầu tiên, chạy lại ứng dụng khách và chờ lỗi tiếp theo xuất hiện. Trình tự đó là bình thường và không phải dấu hiệu rằng các sửa đổi đã làm mọi thứ tệ hơn.

Chuyện gì đã xảy ra với keysize và tls-remote

keysize từng yêu cầu độ dài khóa mật mã trong thời kỳ hồ sơ tự chọn mật mã một cách rõ ràng. OpenVPN 2.4 đã loại bỏ nó, và các ứng dụng khách sau đó đã xóa nó khỏi bảng tùy chọn, nên bộ phân tích giờ từ chối dòng đó thay vì bỏ qua. Thương lượng hiện đại suy ra độ dài khóa từ mật mã đã chọn, vì vậy chỉ thị không còn gì để điều khiển.

tls-remote đã bị xóa trong phiên bản 2.4. Nó so sánh chứng chỉ máy chủ với một tên mong đợi, và thứ thay thế là verify-x509-name, vốn khắt khe hơn về cách khớp tên. Chỉ thị cũ không còn, nên một hồ sơ mang nó sẽ không bao giờ được phân tích trên ứng dụng khách hiện tại.

Hãy sửa từng chỉ thị một trong mỗi lần thử. Nếu hồ sơ còn chỉ định một mật mã mà ứng dụng khách không cung cấp, điều đó tạo ra lỗi khác về sau, và trộn cả hai thay đổi trong một lần sửa khiến không thể biết thay đổi nào đã phá vỡ handshake. Kết nối lại sau mỗi lần sửa và giữ lại nội dung lỗi. Thói quen đó cũng để lại một phương án dự phòng đang hoạt động nếu một sửa đổi làm mọi thứ tệ hơn.

Viết lại phần kiểm tra danh tính máy chủ

Thứ thay thế nhận tên mong đợi và một chế độ so sánh. verify-x509-name vpn.example.edu name yêu cầu subject của chứng chỉ phải bằng chính xác giá trị đó. Các chế độ khác khớp tiền tố hoặc toàn bộ chuỗi subject, và chọn sai chế độ biến một hồ sơ đang hoạt động thành lỗi xác minh sạch sẽ.

Nếu đối số tls-remote cũ là common name đầy đủ của máy chủ, so sánh name chính xác thường là đúng. Nếu đó là giá trị một phần, hãy dùng chế độ tiền tố thay vì rút ngắn tên mong đợi, vì một khớp chính xác ngắn hơn sẽ không xác minh được. Khi giá trị gốc không được ghi lại, hãy hỏi người vận hành máy chủ về subject mà họ công bố.

Đừng làm im lặng phần kiểm tra để lỗi biến mất. Xóa xác minh danh tính máy chủ biến một vấn đề hồ sơ có thể sửa thành một đường hầm không được xác minh, đúng là rủi ro mà chỉ thị này tồn tại để ngăn chặn.

Hồ sơ đã sửa, chỉnh sửa cục bộ hoặc ứng dụng khách cũ hơn

Khi máy chủ thuộc về người khác, con đường sạch nhất là một hồ sơ hiện tại từ họ. Bản sao của bạn đến từ một trình tạo cũ, và bản xuất của họ đã dùng các chỉ thị hiện tại. Một lần tải xuống loại bỏ toàn bộ nhóm lỗi và giữ các sửa đổi sau này ở một chỗ.

Khi bạn sở hữu cả hai đầu, hãy sửa một bản sao và giữ bản gốc. Đổi một chỉ thị, lưu, kết nối và ghi lại phiên bản ứng dụng khách bạn đã thử. Giữ một ghi chú ngắn bên cạnh mỗi lần sửa, vì một hồ sơ bị sửa qua nhiều phiên rất khó kiểm tra lại từ trí nhớ. Chạy từ dòng lệnh trên tệp đã sửa làm vòng lặp đó nhanh, vì lỗi đi thẳng ra terminal.

Ghim hoặc quay lại một ứng dụng khách trước 2.4 cũng làm thông báo biến mất, và với một thiết bị không bao giờ được cập nhật thì đó có thể là cách tạm thời khả thi duy nhất. Hãy coi đó là tạm thời: một ứng dụng khách cũ trên máy tính hiện tại thường có nghĩa là thư viện cũ và cấu hình không được hỗ trợ, tức là vấn đề bị hoãn chứ không được giải quyết.

Sau khi đường hầm lên, hãy đọc lại toàn bộ hồ sơ một lần nữa. Những hồ sơ mang một chỉ thị đã bị xóa thường mang thêm một chỉ thị khác, và cái thứ hai chỉ lộ ra sau khi cái thứ nhất biến mất.

Bài viết liên quan