OpenVPN client-config-dir: tên tệp so với CN của chứng chỉ
Tên tệp CCD đến từ tên chung của chứng chỉ, hoặc từ tên người dùng khi ánh xạ đó được bật. Hãy so sánh cả hai quy tắc trước khi đổi tên tệp.
Hai cái tên cùng tham gia trước khi máy khách kết nối: tên tệp trên laptop (nuc.ovpn) và danh tính mà máy chủ suy ra từ thông tin xác thực. Tra cứu client-config-dir dùng cái thứ hai. Đổi tên hồ sơ trên máy khách, hay thêm .conf vào tệp trên máy chủ, không thay đổi tệp nào mà máy chủ mở.
Phép so sánh hữu ích không phải «tôi đã dùng tên nào» mà là «máy chủ áp dụng quy tắc nào», vì xác thực bằng chứng chỉ và xác thực bằng tên người dùng/mật khẩu có thể tạo ra những tên hiệu lực khác nhau từ cùng một lần đăng nhập.
Tên hồ sơ so với tên chung của chứng chỉ
Trong cấu hình mặc định dựa trên chứng chỉ, máy chủ lấy tên chung X.509 và tìm tệp có đúng tên đó bên trong client-config-dir. Một hồ sơ tên nuc.ovpn mà chứng chỉ ghi tester sẽ phân giải thành /etc/openvpn/server/ccd/tester. Tên tệp của máy khách không bao giờ được đưa vào phép tính. Đó là nơi đầu tiên sự không khớp ẩn náu.
Vì vậy một thư mục đầy hồ sơ được đặt tên cẩn thận vẫn có thể trượt mỗi lần. Tệp không được đối chiếu theo subject, theo địa chỉ email hay theo tên hiển thị trong GUI; nó được đối chiếu theo chuỗi tên chung.
Trên hệ thống tệp phân biệt chữ hoa chữ thường, Tester và tester là hai tệp khác nhau và chỉ một tệp được mở. Hãy kiểm tra tên chung từ chứng chỉ mà máy khách thực sự trình ra, không phải từ bản sao trong ghi chú của bạn.
username-as-common-name đảo ngược quy tắc
Khi máy chủ chạy xác thực bằng tên người dùng/mật khẩu với username-as-common-name, tên người dùng đã xác thực sẽ thay thế tên chung của chứng chỉ cho lần tra cứu này.
So sánh trực tiếp hai trường hợp: với danh tính từ chứng chỉ, tệp đi theo chứng chỉ và việc đổi mật khẩu không liên quan; với danh tính từ tên người dùng, tệp đi theo tên đăng nhập và việc cấp lại chứng chỉ không liên quan. Trường nào máy chủ thay thế thì đó là căn cứ để đổi tên. Một chứng chỉ được cấp lại với CN mới âm thầm thay đổi mục tiêu tra cứu, còn tệp CCD cũ vẫn nằm trên đĩa và trông như đúng.
Có những cấu hình hỗn hợp, và phần lớn sự nhầm lẫn bắt đầu từ đó. Nếu một khối dịch vụ bật việc thay thế còn khối khác thì không, tên hiệu lực phụ thuộc vào việc phiên bản nào xử lý kết nối. Hãy xác nhận cấu hình đang hoạt động thay vì giả định tệp toàn cục được áp dụng. Tài liệu tham chiếu tùy chọn máy chủ gốc mô tả việc tra cứu theo tệp có tên và phương án dự phòng tùy chọn.
Máy chủ đọc gì và bỏ qua gì một cách âm thầm
Hai khác biệt nhỏ quyết định việc một tệp có được chọn hay không. Thứ nhất là phần mở rộng được thêm vào. Thứ hai là một ký tự lạc trong tên.
OpenVPN không thêm .conf vào tên mà nó tìm, nên tester.conf không khớp với tester. Một trình soạn thảo ẩn phần mở rộng có thể để lại tệp trông đúng trong danh sách và không bao giờ khớp.
Khi không có tệp khớp, máy chủ có thể lùi về một tệp tên DEFAULT. Vì vậy việc một số thiết lập đến được không phải bằng chứng rằng tệp riêng cho máy khách đã được dùng. Hãy so sánh địa chỉ được cấp hoặc các tuyến được đẩy với những gì tệp riêng cho máy khách sẽ tạo ra. Quyền là bộ lọc thứ ba, vì máy chủ mở tệp sau khi từ bỏ đặc quyền; một shell root đọc được nó không chứng minh điều gì.
Tên tệp đúng không xác nhận nội dung
Việc chọn và nội dung là hai lỗi riêng biệt. Sau khi mở đúng tệp, các chỉ thị của nó vẫn phải hợp lệ cho máy khách đó.
ifconfig-push phải cấp một địa chỉ mà cấu trúc mạng thực sự dùng được, và iroute chỉ có nghĩa với một mạng con được định tuyến phía sau máy khách đó.
Một danh tính, nhiều thiết bị
Hai laptop trình ra cùng một tên chung sẽ chọn cùng một tệp và nhận cùng các thiết lập riêng cho máy khách. Nếu bạn cần địa chỉ riêng hoặc việc thu hồi riêng, bạn cần danh tính riêng, chứ không phải hai bản sao của một tệp.
Phép so sánh là giữa chia sẻ một danh tính và cấp một chứng chỉ cho mỗi thiết bị. Chia sẻ dễ quản trị hơn và thu hồi thô hơn, còn chứng chỉ theo thiết bị tốn nhiều chuẩn bị hơn và cho bạn một đơn vị sạch để vô hiệu hóa.