config.json đó trong thiết lập OpenVPN của bạn thuộc chương trình nào?
Một tệp tên config.json có thể thuộc về GUI, daemon hoặc định dạng xuất chứ không phải OpenVPN. Hãy tìm bộ phân tích trước khi sửa hoặc thay khóa.
Bạn tìm thấy một tệp tên config.json, trong đó có nhắc đến một máy chủ VPN, và giả định đến ngay: đây hẳn là kết nối OpenVPN. Thường thì không phải. Một tệp JSON với tên đó có thể thuộc về giao diện máy tính để bàn khởi chạy ứng dụng khách, thuộc về daemon lưu cài đặt riêng của nó, hoặc thuộc về định dạng xuất của một sản phẩm, và mỗi thứ đều có lược đồ riêng.
Tên tệp là manh mối ít hữu ích nhất. Hãy bắt đầu từ tiến trình đọc tệp, sau đó kiểm tra xem định dạng nó mong đợi có phải JSON không, và chỉ sau đó mới quyết định liệu sửa tệp có phải là cách được hỗ trợ để thay đổi điều gì đó.
Bắt đầu từ tiến trình, không phải từ tên tệp
Hãy xem thực sự cái gì đang chạy. Một đơn vị dịch vụ, một tập lệnh khởi chạy hoặc một ứng dụng khay hệ thống sẽ nêu tên tệp nhị phân mà nó khởi chạy và thường cả đường dẫn cấu hình mà nó truyền. Thư mục chứa tệp là manh mối thứ hai: thư mục dữ liệu ứng dụng, thư mục cấu hình dịch vụ và thư mục hồ sơ người dùng ngụ ý những chủ sở hữu khác nhau.
Sau đó hãy đọc tài liệu của sản phẩm sở hữu thành phần đó. Nếu JSON thuộc về một lớp bao, các khóa của nó là khóa của lớp bao, và một đối tượng trông có vẻ hợp lý được dựng theo ví dụ của sản phẩm khác sẽ bị từ chối hoặc bị bỏ qua một cách im lặng.
Hai tệp cùng tên trong các thư mục khác nhau là một cái bẫy phổ biến. Một tệp có thể là trạng thái được tạo ra mà dịch vụ ghi lại mỗi lần khởi động, tệp kia có thể là mẫu mà con người phải sửa. Sửa nhầm tệp sẽ tạo ra một bản sửa chỉ tồn tại đến lần khởi động lại tiếp theo.
Hồ sơ Community OpenVPN thực sự là gì
Community OpenVPN 2.6 đọc một định dạng văn bản dựa trên tùy chọn. Hồ sơ là một chuỗi chỉ thị: dòng chế độ ứng dụng khách, dòng thiết bị, điểm cuối từ xa, cùng các tùy chọn danh tính, mã hóa và tuyến đường, và nó có thể nhúng chứng chỉ cùng vật liệu khóa bên trong các khối nội tuyến.
Định dạng đó được chính ứng dụng khách phân tích từng dòng. Đưa cho nó một tài liệu JSON qua tùy chọn config không bật bộ phân tích JSON; dòng đầu tiên sẽ bị từ chối như một chỉ thị không xác định. Đổi tên tệp JSON để kết thúc bằng .ovpn cũng không chuyển đổi nội dung của nó, và một tệp tùy chọn hợp lệ không trở nên không hợp lệ chỉ vì phần mở rộng của nó khác thường.
OpenVPN Connect và OpenVPN 3 Linux có các đường nhập và quản lý hồ sơ riêng. Những sản phẩm này có thể nhận một hồ sơ và lưu nó trong cơ sở dữ liệu hoặc trạng thái dịch vụ của riêng chúng, điều đó không giống với một tệp JSON tình cờ mô tả một máy chủ.
Sửa trạng thái do một thành phần khác sở hữu
Nếu JSON được tạo ra, việc sửa nó là một cuộc đua. Một dịch vụ đang chạy có thể ghi lại nó khi tắt, khi kết nối lại hoặc ở lần thay đổi cài đặt tiếp theo, và một chỉnh sửa thủ công biến mất mà không có lỗi. Hãy ưu tiên lệnh nhập của sản phẩm, API quản lý hoặc giao diện cài đặt, vì những đường đó cập nhật trạng thái nội bộ mà tệp đại diện. Một tệp quay lại sau khi khởi động lại cho bạn biết đường nào là bền vững.
Nếu bạn vẫn sửa một tệp được tạo ra, trước tiên hãy dừng dịch vụ, giữ một bản sao lưu và thực hiện thay đổi nhỏ nhất có thể. Sau đó kiểm tra xem dịch vụ có ghi lại tệp khi khởi động không, vì một tệp quay lại khi khởi động nghĩa là nguồn chân lý thực sự ở nơi khác và chỉnh sửa đó sẽ không bao giờ tồn tại.
Mật khẩu và khóa riêng nội tuyến là một vấn đề riêng. JSON có thể mang một khóa đầy đủ dễ như một tệp tùy chọn, vì vậy hãy coi mọi xuất khẩu là bí mật, giữ nó xa các ổ đĩa chia sẻ và che giá trị trước khi dán cấu trúc vào một câu hỏi trên diễn đàn.
Xác minh thay đổi và bảo vệ tệp
Xác minh không phải là “JSON phân tích được”. Phân tích chỉ chứng minh rằng các dấu ngoặc khớp nhau; nó không nói gì về việc chủ sở hữu có nhận ra các khóa hay không. Hãy kiểm tra trạng thái của chính sản phẩm: danh sách hồ sơ đang hoạt động, kết nối được chọn và một lần kết nối lại thực sự dùng các giá trị mới. Một hồ sơ xuất hiện trong danh sách nhưng không bao giờ trở thành hồ sơ được chọn vẫn chưa phải là hồ sơ đang được dùng.
Theo dõi nhật ký của thành phần bạn đã sửa, không chỉ nhật ký của ứng dụng khách VPN. Một lớp bao từ chối tệp của bạn thường báo điều đó trong nhật ký của chính nó, và một ứng dụng khách chưa bao giờ nhận được tệp trông giống hệt một ứng dụng khách nhận được cài đặt xấu.
Giữ một bản sao của tệp đang hoạt động và ghi lại phiên bản sản phẩm bạn đã kiểm thử. Những định dạng này thay đổi giữa các bản phát hành, và một cấu trúc từng hoạt động năm ngoái có thể bị từ chối sau khi nâng cấp với một thông báo hoàn toàn không nhắc đến lược đồ.
Tóm tắt hành trình: xác định tiến trình, đọc tài liệu của nó, xác nhận tệp có phải JSON hay không, dùng đường sửa được hỗ trợ và xác minh qua trạng thái của chính sản phẩm. Tên tệp chưa bao giờ trả lời bất kỳ câu hỏi nào trong số đó.