Hai peer WireGuard dùng chung một dải: peer nào nhận gói tin
Các dải chồng lấn được giải quyết bằng tiền tố cụ thể nhất, không phải theo thứ tự. Hãy kiểm tra tuyến trước, rồi đến danh sách peer, trước khi mở rộng bất cứ điều gì.
Hai peer liệt kê những dải chạm nhau, và lưu lượng đi đến nhầm peer. Không có gì bị hỏng: WireGuard chọn peer bằng cách khớp đích với các dải đã cấu hình, và kết quả khớp cụ thể nhất sẽ thắng. Trước khi mở rộng bất cứ điều gì, hãy quyết định peer nào nên sở hữu tiền tố nào.
Tiền tố dài nhất thắng bên trong WireGuard
Mỗi mục peer mang một tập tiền tố đích. Khi một gói tin được định tuyến vào giao diện, phần triển khai tìm mục có tiền tố khớp cụ thể nhất — cùng quy tắc mà bảng định tuyến áp dụng. Vì vậy /24 thắng /16 chứa nó, và peer hẹp hơn nhận lưu lượng.
Các thiết lập road-warrior dùng điều này một cách có chủ đích. Một peer sở hữu một dải rộng cho một site, và các máy chủ riêng lẻ được tách ra bằng các mục /32 thuộc về peer khác. Mô hình này hiệu quả vì các phần tách ra cụ thể hơn, không phải do thứ tự.
Ghi lại quyền sở hữu dưới dạng bảng tiền tố và peer. Nếu hai mục mô tả cùng một tiền tố, cấu hình không còn thể hiện ý định nữa, nó thể hiện một cuộc đua.
Hệ điều hành chọn giao diện trước
WireGuard chỉ chọn trong số các peer trên một giao diện. Giao diện nào nhận gói tin được quyết định sớm hơn, bởi bảng định tuyến của máy chủ, và tuyến mặc định thứ hai hoặc một tuyến cũ có thể gửi lưu lượng đến nơi mà danh sách peer không bao giờ thấy. Đó là lý do một chẩn đoán ở cấp peer có thể đúng mà vẫn không giải thích được sự cố. Hãy kiểm tra tuyến đến đích trước khi đọc cấu hình peer, vì một tuyến trỏ đến giao diện vật lý sẽ bỏ qua toàn bộ câu hỏi.
Công cụ thường cài những tuyến đó từ các dải của peer, nghĩa là một thay đổi trong danh sách của một peer có thể âm thầm chuyển hướng lưu lượng trước đây thuộc về peer khác. Vì vậy chỉnh sửa peer là một thay đổi định tuyến được ngụy trang. Hãy xem xét cả hai cùng lúc, nếu không bạn sẽ sửa cái này và làm hỏng cái kia.
Các gói tin đến được kiểm tra theo nguồn
Danh sách dải đảm nhận hai vai trò. Với lưu lượng đi ra, nó chọn peer theo đích; với lưu lượng đi vào, nó cho phép một địa chỉ nguồn. Một gói tin đến từ địa chỉ nằm ngoài các dải của peer đó sẽ bị loại bỏ trước khi bất kỳ tường lửa nào nhìn thấy.
Sự bất đối xứng này dễ bị bỏ sót khi đọc một phía của cấu hình. Một peer có thể đến được một mạng con không vì thế mà được phép gửi từ mạng con đó, và hai chiều được thực thi bởi các kiểm tra khác nhau.
Quyền sở hữu nguồn hẹp biến điều này thành lợi thế. Cấp cho mỗi peer một /32 cho địa chỉ của chính nó và tường lửa phía dưới có một nguồn đáng tin cậy để khớp, thay vì một dải toàn nhóm mà bất kỳ thành viên nào cũng có thể đòi.
Các dải trùng lặp không phải là failover
Gán cùng một tiền tố cho hai peer không tạo ra bộ cân bằng tải hay đường dự phòng. Không có kiểm tra tình trạng và không có ràng buộc phiên: mục thắng được quyết định bởi thứ tự nội bộ của phần triển khai, và đó không phải là hợp đồng để thiết kế dựa vào. Nếu cần các lối ra thay thế, hãy thể hiện chúng ở nơi lựa chọn được định nghĩa. Một chính sách định tuyến, một chỉ số, hoặc một cặp tiền tố khác nhau với chủ sở hữu được ghi lại cho mỗi cái sẽ tạo ra hành vi bạn có thể dự đoán và kiểm thử.
Mở rộng một dải để sửa một sự cố không liên quan là lỗi phổ biến còn lại. Nó đẩy lưu lượng ra khỏi peer đang hoạt động, và triệu chứng mới đến trước khi triệu chứng cũ được hiểu.
Xác minh lựa chọn trước khi chỉnh sửa
Ba lệnh trả lời ba câu hỏi theo thứ tự. Lệnh đầu liệt kê các dải mà mỗi peer đòi. Lệnh thứ hai cho biết máy chủ sẽ dùng giao diện nào cho một đích. Lệnh thứ ba cho biết trạng thái trực tiếp của các peer sau khi lưu lượng đã chảy.
wg show wg0 allowed-ips ip route get 10.66.8.20 wg show wg0 ip rule show
Chạy chúng trước và sau một thay đổi rồi so sánh. Nếu đầu ra tuyến đã thay đổi nhưng lưu lượng vẫn đến peer sai, các danh sách tiền tố chồng lấn theo cách bạn chưa ghi lại. Nếu đầu ra tuyến không thay đổi, cấu hình peer chưa từng là thứ được tra cứu.
Ghi lại đích, giao diện đã chọn và peer đã chọn trong phiếu. Chính bộ ba đó làm cho một sự chồng lấn có thể xem xét lại sau này, và nó hữu ích hơn nhiều so với ảnh chụp màn hình cấu hình.