Hãy bắt đầu ở trường nhóm trên máy chủ VPN, không phải trong bảng tính. Những gì bạn gõ ở đó trở thành không gian địa chỉ bên trong cho mọi máy khách kết nối sau đó, và nó phải cùng tồn tại với LAN mà những máy khách ấy vươn tới, các site đã định tuyến phía sau nó và bất kỳ địa chỉ nào máy khách đã có ở nhà. Kết nối một máy khách ngay sau khi lưu nhóm, vì kết nối đầu tiên ấy cho bạn biết giá trị có hoạt động trong thực tế hay không. Từ đó phần hướng dẫn mở rộng ra ngoài: địa chỉ máy khách nhận được, đường đi của một phản hồi và bản ghi bạn để lại.

Bắt đầu ở trường nhóm, trước khi bất kỳ máy khách nào kết nối

Mỗi sản phẩm thể hiện điều này một cách khác nhau, nên hãy tìm đối tượng thực sự cấp địa chỉ. OpenVPN có chỉ thị nhóm phía máy chủ cấp địa chỉ trống tiếp theo, một cổng IKEv2 có mục nhóm gắn với cấu hình peer, còn WireGuard không có cả hai vì mỗi peer mang địa chỉ riêng trong tệp cấu hình của nó. Chỉ thị nhóm và địa chỉ theo từng peer không thể thay thế cho nhau, và sửa nhầm thì phần còn lại của hướng dẫn trở nên vô ích.

Khi đã có trường, hãy liệt kê những dải đã tồn tại: LAN văn phòng, mọi site đã định tuyến, VPC trên đám mây và bất kỳ nhóm nào còn đang vận hành. Việc chồng lấn do số học tiền tố quyết định, không phải do số máy trông quen thuộc hay không, nên hãy so sánh tổng hợp với từng dải đó. Hai dải cùng trông như 10.x là vô hại khi các tổng hợp của chúng không cắt nhau và là sự cố hỗ trợ khi chúng cắt nhau.

Sau đó quyết định địa chỉ là hàm của ai kết nối hay của khi nào họ kết nối. Cấp phát động trao những gì còn trống, còn cấp phát theo danh tính gắn một địa chỉ cố định với thông tin xác thực. Hãy ghi lại lựa chọn, vì nó thay đổi việc kết nối lại sau này phải trông như thế nào.

Đọc địa chỉ mà máy khách thực sự nhận được

Kết nối một máy khách và đọc những gì đường hầm báo cáo, chứ không phải những gì nhóm đã hứa. Máy khách hiển thị địa chỉ bên trong trong trạng thái kết nối, và trên Linux giao diện mang nó trực tiếp.

So sánh địa chỉ đó với dải bạn đã lưu. Nếu nó nằm ngoài dải, bạn đang nhìn một đường cấp phát khác với đường bạn đã sửa. Cũng kiểm tra độ dài tiền tố, vì máy khách giữ /32 không có peer trên liên kết và gửi mọi đích qua tuyến mặc định của nó.

ip -4 addr show tun0
ip route get 192.168.50.20

Máy khách kết nối từ router gia đình dùng cùng dải sẽ kết nối rồi gần như không tới được gì. Máy khách giữ tuyến cục bộ của mình cho tiền tố đó, nên địa chỉ đường hầm xung đột với mạng phía sau và lưu lượng ra khỏi giao diện sai. Trường hợp đó không thể sửa trên máy chủ; biện pháp đã ghi tài liệu là đánh số lại mạng gia đình hoặc chọn một dải nhóm đủ xa để xung đột vẫn hiếm. Ghi lại cả sự cố và biện pháp, vì bộ phận trợ giúp sẽ gặp lại nó.

Kết nối lại cùng máy khách và quan sát địa chỉ. Nhóm động có thể trả lại cùng giá trị hoặc giá trị khác và cả hai đều đúng, trong khi nhóm theo danh tính mà thay đổi địa chỉ là không tôn trọng ràng buộc. Kiểm tra ấy mất vài giây và quyết định chế độ bạn ghi ở phần đầu có phải là chế độ đang áp dụng hay không.

Theo dõi một phản hồi quay lại từ dịch vụ

Nhóm chỉ hoạt động khi các phản hồi có thể đi ngược về nó. Một dịch vụ trên LAN trả lời địa chỉ bên trong, nên cổng của nó cần một tuyến cho nhóm hoặc một phép dịch đặt trước dịch vụ. Khi yêu cầu đến qua đường hầm và phản hồi đi ra theo đường khác, một tường lửa có trạng thái hoặc một phép kiểm tra đường ngược sẽ bỏ nó, và máy khách thấy một dịch vụ kết nối được rồi treo. Hãy đặt nhóm vào thiết kế định tuyến như một khối duy nhất có thể tổng hợp, thay vì thêm tuyến cho từng máy.

Phép dịch thay đổi những gì phần còn lại của hệ thống thấy. Khi nguồn bị viết lại, địa chỉ trong tường lửa của máy và trong nhật ký ứng dụng là địa chỉ đã dịch, nên một quy tắc viết theo địa chỉ nhóm không khớp với gì và một dòng nhật ký không thể truy ngược tới máy khách. Tài liệu strongSwan về chuyển tiếp bao quát nửa phía máy chủ của đường đi đó cho một cổng IKEv2. DNS cũng mang ràng buộc tương tự, vì một tên phân giải thành địa chỉ mà máy khách không thể tới sẽ thất bại về sau và ở nơi khác.

Hai máy khách, rồi một lần thu hồi

Kết nối hai máy khách cùng lúc và đọc cả hai địa chỉ. Chúng phải khác nhau, dùng được và nằm trong nhóm, và mỗi cái phải tới được dịch vụ mà nó hướng tới. Một nhóm cấp địa chỉ trùng thường lộ ra ở đây chứ không phải ở lần thử một máy khách đầu tiên.

Thu hồi một thông tin xác thực trong khi máy khách kia vẫn kết nối, rồi thử dịch vụ từ máy khách còn sống. Một lần thu hồi làm nhiễu phiên kia cho thấy trạng thái dùng chung, thường nhất là một thông tin xác thực hoặc một địa chỉ bị dùng lại giữa các thiết bị. Kết nối lại máy khách đã bị thu hồi và xác nhận rằng nó bị từ chối chứ không được trao địa chỉ vừa giải phóng.

Kết thúc bằng một đích đáng lẽ phải bị từ chối. Máy khách tới được mọi thứ là đã được kết nối, chứ chưa được kiểm nghiệm.

Viết bốn giá trị ở nơi thay đổi tiếp theo sẽ tìm thấy chúng

Bản ghi ngắn gọn: dải và tiền tố của nhóm, chế độ cấp phát, đường quay về hoặc phép dịch đang dùng và phạm vi DNS trả lời cho những đích đó. Đặt nó cạnh cấu hình máy chủ thay vì trong phiếu, và ghi ngày. Ai sau này đổi một trong bốn thứ sẽ cần ba thứ còn lại trước mặt, vì thay đổi kích thước nhóm làm gãy tuyến và thay đổi tuyến làm gãy câu trả lời DNS.

Giữ kèm ghi chú sở hữu: dải đường hầm thuộc về máy chủ VPN, và một đặt trước tạo trong phạm vi DHCP của LAN không đặt trước gì cho máy khách bên trong đường hầm. Một dòng ấy ngăn được việc làm lại phổ biến nhất, khi ai đó thêm một đặt trước và chờ địa chỉ đường hầm đi theo nó.

Bài viết liên quan