Một đường hầm dựng lên rồi khởi động lại mỗi nửa phút thường không phải vấn đề mật mã hay MTU. Đó là một danh tính bị dùng hai lần. Máy chủ thấy một tên chung quen thuộc, coi phiên mới là phiên mới nhất, và thiết bị cũ phát hiện mình đã bị thay thế. Từ phía máy khách, điều đó trông như hết thời gian không hoạt động và khởi động lại, nên cuộc điều tra thường bắt đầu ở sai chỗ.

Bắt đầu từ khoảng cách khởi động lại

Khoảng cách là manh mối trước mọi thứ khác. Một nhịp đều khớp với cửa sổ ping-restart chỉ ra phiên đang bị thay thế chứ không phải đường đi hỏng, vì lỗi đường đi hiếm khi đều đặn đến vậy. Ghi lại khoảng cách chính xác giữa các lần khởi động lại và dòng lý do trong nhật ký máy khách. Hết thời gian rồi khởi động lại kể câu chuyện khác với một lần bắt tay thất bại.

Kiểm tra khi nào các lần khởi động lại bắt đầu so với một thiết bị thứ hai. Một máy tính xách tay mới, điện thoại hay hồ sơ được sao chép sang máy dự phòng là những tác nhân thường gặp, và thời điểm thường khớp với ngày ai đó thiết lập nó.

Ghi lại khoảng cách và lý do. Cả hai đều là bằng chứng, và cả hai đều rẻ để thu thập.

Đọc những gì máy chủ nói về lần đăng nhập thứ hai

Trên máy chủ bạn kiểm soát, nhật ký nêu tên chung và cho thấy một kết nối thứ hai đang đến. Không có duplicate-cn, lần đến đó thay thế phiên hiện có cho cùng tên, và thông báo thường nói thẳng điều đó. Có duplicate-cn, hai phiên cùng tồn tại và triệu chứng thay đổi: các máy khách vẫn hoạt động nhưng chia sẻ một bộ thiết lập cho mỗi máy khách và một quyết định thu hồi. Đọc hai mục cùng nhau, vì việc thay thế chỉ thấy được theo trình tự.

Trên một dịch vụ lưu trữ, bạn có thể không có nhật ký máy chủ nào cả. Manh mối khi đó là thời điểm: một đường hầm ổn định sụp mỗi khi máy khác kết nối, và trong nhật ký máy khách không có gì ngoài hết thời gian.

So sánh các khối chứng chỉ và khóa trong cả hai hồ sơ, không chỉ tên máy chủ từ xa. Các hồ sơ được sao chép thường chỉ khác nhau ở tên tệp.

Tách danh tính ở phía máy chủ

Cấp một chứng chỉ cho mỗi thiết bị qua CA ký cho máy chủ này. Với Easy-RSA, điều đó nghĩa là một tên máy khách riêng cho từng thiết bị, và hồ sơ sau đó được dựng từ chứng chỉ đó cùng khóa của nó. Tên chung trở thành danh tính của thiết bị, và đó đúng là thứ máy chủ còn thiếu. Đặt tên theo thiết bị chứ không theo người, để một lần thay thế tạo ra tên mới.

Khóa kênh điều khiển dùng chung là chuyện khác. tls-crypt hoặc tls-auth bảo vệ kênh điều khiển cho mọi máy khách và được thiết kế để chia sẻ. Nó không phải danh tính máy khách, và thay nó sẽ không sửa được chứng chỉ bị trùng.

Giữ chứng chỉ, khóa và mọi tệp cấu hình theo máy khách dưới cùng một tên chung, nếu không việc ánh xạ sẽ hỏng ở lần kết nối sau. Sự không khớp ở đó tạo ra một máy khách xác thực xong rồi không nhận được gì.

Giữ địa chỉ và thiết lập thẳng hàng sau khi tách

Địa chỉ cố định mang đến cách xung đột thứ hai. Nếu máy chủ cấp chúng qua ifconfig-pool-persist hoặc một tệp theo máy khách, các bản ghi đó vẫn trỏ tới tên cũ. Hai thiết bị có thể nhận cùng một địa chỉ đường hầm ngay cả sau khi đã tách chứng chỉ, và lỗi đó trông khác vòng lặp ban đầu.

Cập nhật ánh xạ cùng lúc với chứng chỉ, rồi kết nối lại cả hai thiết bị và so sánh địa chỉ được cấp. Địa chỉ trùng xuất hiện như mất mát ngắt quãng chứ không phải một lần kết nối lại sạch sẽ.

Gửi những thiết lập cần khác nhau theo từng thiết bị qua tệp riêng của thiết bị đó, không qua một mẫu dùng chung. Mẫu dùng chung cũng khiến lần trùng sau khó phát hiện hơn.

Thu hồi danh tính cũ cho đúng cách

Thu hồi chứng chỉ khi phần cứng bị loại bỏ hoặc mất, thay vì xóa hồ sơ khỏi máy cũ. Việc thu hồi tạo CRL mới, và máy chủ cần tệp đó ở nơi crl-verify trỏ tới. Khi có chỉ thị đó, một CRL thiếu hoặc không đọc được khiến máy chủ từ chối mọi máy khách, nên hãy thử một tài khoản đã biết sau mỗi lần cập nhật.

Giữ một bản kiểm kê gắn mỗi chứng chỉ với một người hoặc thiết bị, kèm ngày cấp và ngày thu hồi. Bản kiểm kê đó trả lời ai còn quyền truy cập mà không cần đọc tên tệp, và ngăn hồ sơ được sao chép tiếp theo khởi động lại vòng lặp.

Bài viết liên quan