Đọc một dòng trạng thái ghi Security Associations (1 up, 0 connecting) và nó trông như báo cáo về một đường hầm đang hoạt động. Hai mạng con đang cho lưu lượng đi qua nó cùng lúc, nên con số có vẻ đang nói dối. Nó không nói dối; nó đếm các liên kết IKE, và một trong số đó có thể chứa nhiều con. Đọc các bản kiểm kê trước khi bạn chạm vào một đề xuất hay một tuyến đường.

Vì sao tiêu đề và lưu lượng không khớp nhau

Đầu ra stroke cũ gọi tổng của nó là các liên kết bảo mật và lấy nó từ trình quản lý liên kết IKE. Mỗi liên kết IKE đã thiết lập đóng góp một, bất kể có bao nhiêu CHILD SA bên dưới. Một phụ huynh IKEv2 thường mang nhiều con, mỗi cặp bộ chọn lưu lượng một con, và các bộ chọn đã thương lượng của một con có thể bao phủ nhiều hơn một địa chỉ hoặc tiền tố. Vì vậy số địa chỉ trong cấu hình của bạn không có quan hệ cố định với con số trên tiêu đề.

Đầu ra hiện đại đôi khi hiển thị tổng thay cho cách diễn đạt “up” cũ, và một daemon do swanctl quản lý hoàn toàn không được điều khiển bởi các thiết lập stroke cũ. Đừng mặc định cả cách diễn đạt lẫn quy tắc đếm giữa các phiên bản.

So sánh ba bản kiểm kê trước khi đổi bất cứ thứ gì

Bắt đầu với những gì đã tải, rồi đến những gì đã thương lượng, rồi đến những gì thực sự di chuyển gói tin. Đó là ba câu hỏi khác nhau và mỗi câu có lệnh riêng.

swanctl --list-conns
swanctl --list-sas

Lệnh thứ nhất liệt kê các định nghĩa kết nối mà daemon đã chấp nhận. Lệnh thứ hai liệt kê các liên kết IKE đã thiết lập cùng các con của chúng, và đó là nơi hệ thống phân cấp thật xuất hiện. Một định nghĩa có trong tệp nhưng thiếu trong danh sách đầu tiên thì chưa bao giờ được tải, và bao nhiêu lần thử lại của bộ khởi tạo cũng không sửa được. Nếu thay vào đó bạn chạy giao diện cũ, cặp tương đương là ipsec statusall và cùng danh sách swanctl, tùy thuộc plugin nào sở hữu cấu hình. Đừng trộn công cụ giữa hai daemon trên cùng một máy chủ và đừng chờ một câu trả lời nhất quán duy nhất.

swanctl --list-sas --raw | head -40
ip -s xfrm state

Dạng thô giữ các mã định danh và bộ chọn hiển thị để so sánh, và danh sách trạng thái nhân hiển thị những gì ngăn xếp cho là đã cài. Khi daemon và nhân không khớp, hoặc daemon đã khởi động lại quanh một con đang tồn tại, hoặc đối tượng nhân đã bị gỡ bên dưới nó.

Đọc hệ thống phân cấp, không đọc tổng

Một phụ huynh đã thiết lập minh họa với hai con trông như một nút với hai con bên dưới, mỗi con được gắn nhãn trạng thái và chế độ riêng. Xuất đầu ra thật và tự đếm các con thay vì đọc bản tóm tắt mà ai đó dán từ bảng điều khiển.

swanctl --list-sas
swanctl --list-conns --raw | grep -A4 'accounting'

Một phụ huynh với hai con đã cài là một đường hầm hai mạng con khỏe mạnh. Một phụ huynh với một con đã cài và một con vắng mặt là tình huống khác, và các bộ chọn của con thiếu chính là thứ cần so với đề xuất của phía xa. Trong lúc đổi khóa, một con cũ và bản thay thế của nó có thể cùng xuất hiện trong một khoảng ngắn. Giữ dấu thời gian cùng ảnh chụp, vì một phép đếm lấy giữa lúc đổi khóa trông như trùng lặp và một phép đếm lấy sau đó trông như mất mát.

Đã tải, đã cài và lưu lượng đi qua

Một con ở trạng thái đã cài có tham số đã thương lượng và một mục trong nhân. Nhưng nó chưa chắc đã chở gói tin nào: bộ chọn có thể hẹp hơn lưu lượng bạn mong đợi, và một tuyến đường có thể gửi lưu lượng đó đi nơi khác trước khi đường hầm nhìn thấy nó. Gửi một luồng khớp với bộ chọn đã thương lượng từ một máy chủ được cấp phép, rồi đọc bộ đếm của con thay vì tiêu đề. Một bộ đếm đứng ở số không trong khi bạn tạo lưu lượng khớp chỉ ra định tuyến hoặc chính sách, không phải IKE.

swanctl --initiate --child accounting
swanctl --list-sas --raw | grep -E 'bytes|packets'

Khởi động một con có tên là hành động có chủ đích với kết quả nhìn thấy được, và nó tách “kết nối nhàn rỗi vì không ai yêu cầu” khỏi “kết nối không thể lên”. Chính sách bẫy theo yêu cầu hành xử đúng như trường hợp đầu, nên hãy đọc thiết lập khởi động của kết nối trước khi gọi nó là lỗi.

Khi phép đếm thực sự sai

Nếu một định nghĩa thiếu trong bản kiểm kê đã tải, hãy xem việc tải cấu hình và phiên bản daemon nào đang chạy. Nếu nó đã tải nhưng không bao giờ thương lượng, hãy so các đề xuất, ngữ cảnh xác thực và bộ chọn với đối tác, từng con một. Mỗi lần thử chỉ đổi một phần tử và ghi lại mã định danh bạn đã đổi. Hoàn lại một đề xuất là chuyện nhỏ khi biết cái nào; đó là phỏng đoán sau ba chỉnh sửa chưa từng được tách riêng.

Trước hết hãy sửa cách đọc sai. Hầu hết báo cáo về đường hầm thứ hai “mất tích” kết thúc với hai con đã cài dưới một phụ huynh, và thứ duy nhất từng hỏng là dòng tóm tắt mà người ta tin thay vì hệ thống phân cấp.

Bài viết liên quan