Có lẽ bạn nên bắt đầu với việc sử dụng Bảng = tắt
trong wg-quick conf trên cả S và P. Giá trị của IP được phép =
khi đó sẽ không gây ra thay đổi đối với các quy tắc định tuyến tuyến đường/chính sách trên chúng.
CHỈNH SỬA: Trên thực tế, bạn nên rời đi Bảng =
không bị ảnh hưởng trên P trừ khi bạn cần IP được phép =
của S trên đó là 0.0.0.0/0
thay vì 192.168.60.0/24
vì một số lý do, ví dụ: cần lưu lượng truy cập bắt nguồn từ chính nó để được định tuyến S. Bạn không cần phải loay hoay với các tuyến đường và quy tắc định tuyến trên P vì ngay cả tiền tố trong Địa chỉ=192.168.60.2/24
sẽ nhận được cấu hình tuyến đường cần thiết. Đoạn tiếp theo có thể không áp dụng cho những gì bạn cần -- mặc dù nó có thể cung cấp cho bạn một số thông tin chi tiết bổ sung về cách mọi thứ hoạt động.
Và có lẽ bạn nên sử dụng một mạng con IP bổ sung cho S và P, ví dụ. 192.168.59.0/30
. Điều này sẽ giúp bạn tránh được rắc rối khi cần thêm quy tắc ip. Nhớ thêm subnet route cho 192.168.60.0/24
trên P mặc dù, như với Bảng = tắt
, chỉ các tuyến tiền tố sẽ được hạt nhân thêm vào cho (các) tiền tố trong Địa chỉ=
lĩnh vực). Tận dụng tốt các PostUp=
(và PreDown=
) btw.
Tôi không cho rằng bạn muốn định tuyến lưu lượng truy cập bắt nguồn từ chính S đến P, vì vậy bạn có thể muốn quy tắc ip sau thay thế:
# quy tắc ip thêm iif wg0 từ tra cứu 192.168.60.0/24 200
Nếu bạn thực sự cần muốn định tuyến, ví dụ: các giao dịch khác với ssh và máy chủ wireguard trả lời P, bạn có thể có thêm:
# quy tắc ip add iif lo tra cứu 200
# quy tắc ip add iif lo ipproto tcp sport 22 tra cứu chính
# quy tắc ip thêm iif lo ipproto udp sport 51820 tra cứu chính
Lưu ý: bạn không thể chỉ khớp với từ 192.168.60.1
đã thêm vào quy tắc đầu tiên và bỏ qua hai quy tắc còn lại, bởi vì đối với các lưu lượng truy cập không trả lời, địa chỉ nguồn thường (nếu không phải luôn luôn) được chọn dựa trên tuyến đường đã quyết định -- địa chỉ này chưa được đặt vào thời điểm này.
Lưu ý rằng thứ tự của lệnh thường xác định mức độ ưu tiên, vì vậy hãy đảm bảo bạn thêm quy tắc "bộ siêu" trước quy tắc "tập hợp con", nếu không quy tắc sau sẽ bị quy tắc trước ghi đè.
Ngoài ra tốt nhất là giữ bảng 200
trống cho đến khi tất cả các quy tắc mong muốn được đặt đúng vị trí, nếu không, quyền truy cập từ xa của máy chủ có thể bị cắt.
Cuối cùng, nexthop không có ý nghĩa gì trong lộ trình đến đường hầm L3:
# tuyến ip thêm bảng dev wg0 mặc định 200
Tái bút Đảm bảo rằng bạn không chỉ cho phép chuyển tiếp IP trong tường lửa mà còn cho phép nó bằng sysctl.