Chuyển nhà cung cấp VPN: quy hoạch tên máy chủ, không chỉ IP
Bản ghi DNS mới không di chuyển các phiên hiện có. Hãy quy hoạch ai kiểm soát tên, khi nào mỗi máy khách phân giải tên đó và cách bạn sẽ ngừng dùng điểm cuối cũ.
Bản ghi DNS của bạn đúng, bản thay thế khỏe mạnh, và vẫn có những máy khách dành hàng giờ để quay số địa chỉ cũ. Một vài máy thất bại ngay lập tức với một tên phân giải được nhưng không bao giờ trả lời. Cả hai kết quả đều đến từ một khoảng trống: tên máy chủ thay đổi thứ máy khách tra cứu, không phải thời điểm nó tra cứu, và cũng không phải thứ nó tin tưởng khi câu trả lời đến.
Triệu chứng: bản ghi đúng, đường hầm cũ
Một hồ sơ lưu tên không phải là máy khách liên tục phân giải tên đó. Hầu hết phân giải một lần, khi áp dụng cấu hình hoặc khi đường hầm đi lên, rồi dùng lại địa chỉ đó cho đến khi phiên kết thúc. TTL dài chồng lên trên là lý do việc chuyển đổi phải được quy hoạch quanh các lần kết nối lại chứ không phải quanh việc sửa DNS.
Không hành vi nào trong hai hành vi là khiếm khuyết, và chính điều đó khiến triệu chứng khó hiểu. Máy khách làm việc với một câu trả lời có được trước đó, và không có gì phía máy chủ cho thấy đó là câu trả lời nào. Hãy đưa việc kết nối lại vào cửa sổ bảo trì và nói cho người dùng biết họ sẽ thấy gì, hoặc dành cửa sổ đó để trả lời phiếu hỗ trợ. Một hàng đợi báo cáo giống nhau là kết quả thường gặp.
Ai kiểm soát tên và máy khách xác minh điều gì
Quyền kiểm soát vùng quyết định tốc độ di chuyển của một cuộc di trú. Hãy giữ bản ghi tại một nhà đăng ký mà bạn có thể đăng nhập, và ghi lại ai khác có thể thay đổi nó.
Niềm tin không đi theo tên. Một máy khách dựa trên TLS có thể kiểm tra danh tính chứng chỉ hoặc tên được ghim, trong khi WireGuard xác thực khóa công khai của đối tác và bỏ qua hoàn toàn tên máy chủ. Sự khác biệt đó quyết định việc sửa DNS đã đủ hay mỗi hồ sơ cần dấu vân tay mới. Một thay đổi bản ghi không bao giờ được cấp quyền cho một điểm cuối mà không ai phê duyệt.
Giữ quyền truy cập quản trị và truy cập khôi phục xa khỏi tên máy khách công khai. Mất một tài khoản lưu trữ không nên lấy luôn bản ghi chuyển hướng máy khách. Lưu đường khôi phục ở nơi không phụ thuộc vào nhà cung cấp mà bạn đang rời bỏ.
Khi nào mỗi máy khách đọc lại tên
Thời điểm phân giải là thuộc tính của từng máy khách, vì vậy hãy kiểm tra bản triển khai mà bạn thực sự phát hành trước khi hứa một cửa sổ chuyển đổi. wg-quick phân giải điểm cuối khi giao diện đi lên và giữ địa chỉ đó cho đến khi đường hầm khởi động lại. Một máy khách OpenVPN tra tên khi kết nối, và việc nó có xem lại khi kết nối lại hay không phụ thuộc vào các tùy chọn của nó.
| Client | When it resolves | What it verifies |
|---|---|---|
| wg-quick | At interface start, cached for the session | Peer public key, not the name |
| OpenVPN 2.6 | On connect, possibly again on reconnect | Certificate identity or pinned name |
| Mobile clients | May hold the answer across sleep or a network change | Platform trust store, same certificates |
Máy khách di động là điều bất ngờ thường gặp, vì chúng có thể giữ một địa chỉ đã phân giải qua giấc ngủ hoặc thay đổi mạng. Chỉ công bố bản ghi A và AAAA nếu bản thay thế trả lời ở cả hai họ. Một địa chỉ trả lời ở một họ không chứng minh gì về họ kia, và một bản ghi AAAA chết thêm thời gian chờ vào mỗi lần thử. Ghi lại hành vi phân giải cho từng máy khách bạn hỗ trợ, rồi kiểm thử trên những thiết bị mà người ta thực sự dùng.
Kết nối lại là hành động của người dùng ở hầu hết máy khách, và máy chủ không thể ép buộc. Hãy đưa bước đó vào ghi chú bảo trì, kèm một dòng về những gì người dùng sẽ thấy khi nó xảy ra.
Chuyển đổi dựa trên bằng chứng, rồi ngừng dùng điểm cuối cũ
Trước khi chuyển, hãy chứng minh từng lớp ở bản thay thế: trình lắng nghe trả lời, tường lửa cho cổng đi qua, các tuyến trở về đúng hướng, tên phân giải tới địa chỉ mới, và một danh tính đã biết được chấp nhận. Một trình lắng nghe chấp nhận kết nối không giống với một trình hoàn tất bắt tay, nên hãy kiểm thử bắt tay chứ không phải cổng. Giữ danh sách thu hồi hiện tại bên cạnh cấu hình, vì một bản sao lưu được khôi phục sẽ tạo lại danh sách đối tác như cũ và sẽ mở lại quyền truy cập mà bạn đã đóng. Ghi lại bạn đã kiểm thử với danh tính nào, vì «nó chạy được» không phải bằng chứng mà ai cũng có thể lặp lại.
getent hosts vpn.example.com
ss -lunp | grep 51820
wg show wg0 latest-handshakes
Trong lúc chuyển đổi, hãy theo dõi các lần thử kết nối ở cả hai điểm cuối cho cùng một danh tính. Một máy khách vẫn xác thực với địa chỉ cũ là một hồ sơ hoặc một câu trả lời đã lưu trong bộ nhớ đệm chưa bao giờ di chuyển. Ngừng dùng điểm cuối cũ theo một kế hoạch có ngày tháng, vì hai dịch vụ chấp nhận một danh tính để lại hai cánh cửa mở.
Bài kiểm thử chuyển đổi là một phiên ứng dụng qua điểm cuối mới, không phải ping. Khi phiên đó chạy được và điểm cuối cũ không ghi nhận lần thử được cấp quyền nào trong một chu kỳ kết nối lại đầy đủ, việc di chuyển đã hoàn tất.