Cổng phải bắt đầu một kết nối tới máy tính xách tay được nối với nó qua IKEv2, dùng địa chỉ ảo đã cấp cho máy khách đó. Đường hầm đang hoạt động, máy khách đến được mọi thứ phía sau cổng, nhưng chiều ngược lại vẫn thất bại. Sự bất đối xứng đó là bình thường: chính sách đã thương lượng mô tả địa chỉ nào được nói chuyện, không phải bên nào được khởi tạo. Ba thứ phải khớp trước khi một yêu cầu do cổng khởi tạo hoạt động.

Đường hầm không sửa địa chỉ nguồn

Một CHILD SA bao gồm một cặp bộ chọn lưu lượng, mỗi bên một bộ, và cho phép lưu lượng theo cả hai chiều của cặp đó. Nó không nói gì về việc bên nào đã mở trao đổi IKE trước. Một cổng ban đầu lắng nghe đường hầm vẫn có thể gửi gói ứng dụng đầu tiên, miễn là nguồn và đích đã chọn nằm trong các bộ chọn đã cài đặt. Khi yêu cầu đi ra từ giao diện sai, nó đơn giản là không đủ điều kiện cho đường hầm.

Định tuyến về phía máy khách là cần thiết và không đủ. Chính sách phải chấp nhận nguồn mà bạn thực sự đã dùng.

Đọc chính sách đã cài, không đọc tệp cấu hình

Hãy bắt đầu từ hiệp hội đang hoạt động và các bộ chọn của nó, vì việc cấp phát động thay đổi những gì được cài trong nhân.

ipsec statusall
ip xfrm policy

Kết quả trạng thái nêu tên kết nối, địa chỉ ảo đã cấp và các bộ chọn hiện có hiệu lực cho bên đó. Bản kết xuất chính sách hiển thị cùng các bộ chọn đó dưới dạng trạng thái nhân, và việc chọn gói thực sự tham chiếu đến nó. Hãy so sánh bộ chọn phía cổng với nguồn mà ứng dụng của bạn sẽ dùng, vì sự không khớp giải thích lỗi ngay lập tức. Hãy đọc địa chỉ hiện tại của máy khách chứ không phải địa chỉ từ phiên trước, vì VIP được cấp lại làm chính sách cũ mất hiệu lực.

Máy khách phải lắng nghe nơi gói tin đến

Ngay cả một chính sách hoàn hảo cũng đến một cổng đã đóng khi dịch vụ chỉ gắn với loopback. Trình lắng nghe phải ở trên địa chỉ đã cấp hoặc trên một địa chỉ cục bộ đại diện.

ss -ltnp 'sport = :9090'
iptables -S INPUT

Danh sách socket cho biết cổng có gắn với địa chỉ ảo hay không, và các quy tắc tường lửa cho biết các kết nối mới từ nguồn được bảo vệ có được chấp nhận hay không. Một quy tắc viết cho kết nối đã thiết lập không chấp nhận kết nối do cổng khởi tạo. Hãy giữ xác thực riêng của dịch vụ, vì việc đến qua đường hầm chỉ xác định gói tin đến từ mạng nào. Máy khách sau NAT của chính nó vẫn không cần chuyển tiếp cổng vào, vì những yêu cầu này đi bên trong đường hầm hiện có.

Kiểm tra chiều mới một cách riêng rẽ

Một yêu cầu thành công từ máy khách đến máy chủ không bao giờ đi qua đường này. Hãy tạo yêu cầu từ cổng và quan sát cả hai đầu.

ip route get 10.90.0.42 from 192.168.50.1
tcpdump -ni any host 10.90.0.42 and tcp port 9090

Việc tra cứu tuyến trả lời cổng sẽ dùng nguồn và giao diện nào, và đó là giá trị mà chính sách phải chấp nhận. Bản ghi phải cho thấy yêu cầu đi ra bên trong ESP chứ không phải TCP thường trên giao diện công cộng. Trên máy khách, hãy ghi lưu lượng đã giải mã để xác nhận việc đến và việc dịch vụ đã trả lời hay chưa. Nếu yêu cầu biến mất mà không có ESP trên đường truyền, hãy nghi ngờ địa chỉ nguồn trước tường lửa của máy khách.

Lặp lại bài kiểm tra sau khi đổi khóa hoặc kết nối lại, vì VIP có thể thay đổi. Một đường đi chỉ hoạt động đến phiên tiếp theo không phải là đường đi hoạt động.

Bài viết liên quan