Vì sao một chính sách bảo mật IPsec không phải là một mục trong bảng định tuyến
Một tuyến hoạt động không chứng minh được gì về IPsec. Hãy đọc tra cứu tuyến và các bộ chọn của chính sách cho cùng một luồng, rồi xác nhận rằng một liên kết bao phủ nó.
Ping tới 10.20.0.5 qua đường hầm và không có gì quay lại, trong khi bảng định tuyến khẳng định mạng con đó có thể tới được. Định tuyến và IPsec trả lời những câu hỏi khác nhau, và chỉ một trong hai là về khả năng tới được. Tra cứu chuyển tiếp chọn một đường, sau đó cơ sở dữ liệu chính sách bảo mật quyết định đường đó phải được bảo vệ, để nguyên hay bị từ chối. Khi hai bên không đồng ý, gói chết lặng lẽ, vì vậy hãy đọc chúng theo thứ tự đó.
Bắt đầu bằng tra cứu, không phải bảng
Hỏi nhân điều nó thực sự sẽ làm: ip route get 10.20.0.5 in ra tuyến được chọn, giao diện ra và địa chỉ nguồn mà nó sẽ dùng. Tiền tố, quy tắc chính sách, dấu hoặc nguồn ưu tiên đều có thể thay đổi câu trả lời đó, nên tra cứu trực tiếp tốt hơn đọc bảng bằng mắt.
Kiểm tra một đích bên trong dải được bảo vệ, không phải địa chỉ cổng. Tới được cổng phía bên kia chỉ chứng minh có một tuyến nào đó; nó không nói gì về mạng con mà bạn thực sự cần. Sau đó xác nhận giao diện mà tra cứu chọn chính là giao diện bạn mong đường hầm sử dụng.
Khớp các bộ chọn ở cả hai phía
Cơ sở dữ liệu chính sách có các mục riêng, mỗi mục nêu hướng, nguồn, đích và giao thức, rồi nói điều gì phải xảy ra với các gói khớp. Dùng ip xfrm policy để liệt kê chúng; các cờ cho biết hành động là bảo vệ, bỏ qua hay chặn. Một chính sách có bộ chọn rộng hơn hoặc hẹp hơn luồng thử nghiệm của bạn sẽ không khớp với nó, và gói đi ra mà không được bảo vệ. Đó chính là lỗi bạn đang tìm, không phải một tuyến bị thiếu.
So sánh các giá trị thực tế: nguồn, đích, giao thức và cổng. Nếu tra cứu phân giải một cặp địa chỉ trong khi mục chính sách bao phủ một cặp khác, hai góc nhìn mô tả lưu lượng khác nhau. Chạy lại cả hai với cùng một bộ giá trị trước khi kết luận, nếu không bạn sẽ sửa một chính sách chưa từng nằm trên đường.
Khớp chính sách không phải trạng thái đã cài đặt
Một chính sách khớp chỉ nói rằng gói phải được bảo vệ; nhân vẫn cần một liên kết bảo mật để thực hiện việc bảo vệ. Liệt kê chúng bằng ip xfrm state, hoặc bằng swanctl --list-sas khi strongSwan đàm phán, và đọc các bộ chọn cùng bộ đếm trên mỗi mục.
Khi một chính sách khớp và không có liên kết nào bao phủ cùng các bộ chọn, gói bị bỏ thay vì được gửi dưới dạng văn bản rõ. Đó là kiểu bỏ gói cần tìm khi đường hầm đang hoạt động nhưng một mạng con đơn lẻ thất bại. Các bộ đếm nói phần còn lại: một liên kết không bao giờ tăng chưa từng được chọn, còn một liên kết tăng mà vẫn kết thúc bằng việc bỏ gói thì chỉ về phía đầu xa. Sửa bộ chọn và làm mới khóa là hai cách sửa khác nhau, nên hãy quyết định cần cách nào trước khi chạm vào cấu hình.
Đường hầm dựa trên tuyến vẫn cần gì
Một giao diện XFRM khiến đường hầm trông như một thiết bị mà bạn có thể định tuyến vào, điều này thực sự hữu ích. Nó không loại bỏ chính sách và trạng thái quyết định điều gì xảy ra khi gói tới đó. Tuyến chỉ đóng góp một bước nhảy tiếp theo và không hơn.
Nếu thiết bị tồn tại và tuyến chỉ vào nó trong khi không có liên kết nào khớp với các bộ chọn bên trong, gói bị loại bỏ, và không lượng sửa tuyến nào tạo ra khóa hay bộ chọn. Kiểm tra giao diện với cùng nguồn và đích mà bạn đã định tuyến, rồi so sánh điều đó với danh sách trạng thái.
Làm rõ quyền sở hữu trước khi sửa bất cứ thứ gì
Tường lửa trên máy chủ thêm một quyết định thứ ba mà không cơ sở dữ liệu nào biết. Một tuyến đúng cộng một chính sách khớp cộng một liên kết đã cài vẫn có thể kết thúc bằng một gói bị bỏ, và ứng dụng chỉ báo hết thời gian chờ. Xác nhận tường lửa cho phép lưu lượng được bảo vệ trước khi đổ lỗi cho IPsec. Bắt gói trên thiết bị đường hầm và trên giao diện vật lý cho thấy gói biến mất ở phía nào của mã hóa.
Quyền sở hữu cấu hình quyết định liệu bản sửa của bạn có sống sót qua lần khởi động lại hay không. Một thành phần có thể cài trạng thái trong khi thành phần khác quản lý tuyến, và chỉnh sửa thủ công trên thành phần thứ hai sẽ bị ghi đè vào lần sau khi đường hầm khởi động. Thay đổi cấu hình sở hữu, rồi đọc lại cả hai góc nhìn; RFC 4301 giữ hai cơ sở dữ liệu tách biệt khi bạn phải giải thích sự phân chia đó cho người khác.