Việc hết thời gian bắt tay với một cổng im lặng thường có nghĩa là hai giao thức không bao giờ gặp nhau. Một peer WireGuard nói Noise trong khi cổng IPsec chờ IKE. Địa chỉ và cổng đúng không thay đổi điều đó.

Việc dùng lại điểm cuối trong hồ sơ không kết nối hai bên. Bước tiếp theo là một yêu cầu gửi tới người vận hành cổng.

Yêu cầu thứ nhất: phiên bản giao thức

IPsec đặt tên cho một họ chứ không phải một quy trình làm việc duy nhất. IKEv2 và IKEv1 khác nhau ở các trao đổi, tùy chọn xác thực và hành vi khi mạng thay đổi. Một cổng chỉ kết thúc IKEv1 sẽ hành xử rất khác so với cổng cung cấp IKEv2. Cấu hình máy khách cũng thay đổi theo.

Hỏi dịch vụ kết thúc phiên bản nào và liệu nó chạy bản triển khai dựa trên tiêu chuẩn hay biến thể của nhà cung cấp với máy khách riêng. Menu hệ điều hành thường giấu câu trả lời đó sau một nhãn duy nhất. Nhãn không phải là giao thức.

Yêu cầu thứ hai: phương thức xác thực của máy khách

Xác thực là nơi chứa phần lớn công việc thực sự. Dịch vụ có thể mong đợi chứng chỉ máy với một mục đích sử dụng khóa mở rộng cụ thể, chứng chỉ người dùng, một phương thức EAP trên IKEv2 hoặc một khóa chia sẻ trước gắn với danh tính. Việc áp dụng cái nào quyết định máy khách cần gì.

Khóa riêng của WireGuard không phải là bất kỳ thứ nào trong số đó. Đó là khóa Curve25519 dùng trong một lần bắt tay cụ thể. Không có chuyển đổi nào biến nó thành chứng chỉ hay thông tin xác thực EAP. Công cụ nói ngược lại đang đổi tên tệp hoặc tạo ra thứ không liên quan.

Đặc tả IKEv2 trong RFC 7296 mô tả những gì một bản triển khai của phiên bản đó phải hỗ trợ. Đó là tài liệu tham chiếu cho câu trả lời mơ hồ của người vận hành, không phải hướng dẫn cấu hình máy khách.

Yêu cầu thứ ba: danh tính đáng tin cậy và các đích đến

Hỏi danh tính của cổng theo cách máy khách phải thấy, cùng với neo tin cậy xác thực danh tính đó. Sau đó hỏi dịch vụ đẩy những dải riêng và trình phân giải nào. Hai câu trả lời đó quyết định đường hầm thực sự mang gì.

Không có chúng, một kết nối đang hoạt động vẫn có thể thất bại nhiệm vụ. Một đường hầm dựng lên mà không có trình phân giải được đẩy sẽ để tên nội bộ không được trả lời. Thiếu bộ chọn lưu lượng khiến đích đến nằm ngoài đường hầm dù bắt tay đã thành công.

Việc thăm dò điểm cuối trả lời một câu hỏi khác với lỗi của máy khách. Cổng truy cập được mà không có liên kết cho thấy vấn đề xác thực, còn cổng không truy cập được cho thấy vấn đề đường đi.

# what does the endpoint offer on its IPsec ports?
sudo nmap -sU -p 500,4500 198.51.100.44

# strongSwan: what did the IKE exchange negotiate?
sudo swanctl --list-sas
sudo swanctl --list-conns

Hãy chạy thăm dò đó trước khi thay đổi bất cứ điều gì ở máy khách. Nếu các cổng trả lời mà liên kết vẫn thất bại, vấn đề là thông tin xác thực hoặc chính sách. Nếu chúng không trả lời chút nào, không chỉnh sửa hồ sơ nào sẽ giúp được.

Khi cả hai giao thức phải cùng tồn tại

Quản trị cả hai mạng là lý do chính đáng để giữ cả hai giao thức. Thiết kế thông thường kết thúc WireGuard và IPsec trên các giao diện riêng hoặc cổng riêng. Lưu lượng được phê duyệt sau đó được định tuyến giữa chúng.

Thiết kế đó đưa vào một ranh giới tin cậy và ủy quyền, và nó nên được ghi lại như vậy. Những peer nào được đi qua, theo hướng nào và dưới chính sách của ai là quyết định định tuyến và tường lửa. Không giao thức nào cung cấp điều đó.

Điều nó không phải là một chuyển đổi trong suốt. Lưu lượng đến qua WireGuard được tạo lại vào đường hầm IPsec, và mọi chính sách ở giữa đều áp dụng cho nó.

Trước tiên hãy làm rõ yêu cầu về giao thức và xác thực của máy chủ. Sau đó dùng máy khách và đường đăng ký mà người vận hành hỗ trợ, và giữ khóa riêng tránh xa các trình chuyển đổi web trong lúc đó.

Bài viết liên quan