Các công tắc truyền của router là nhượng bộ chuyển tiếp cho một thiết bị phía sau chúng, không phải dịch vụ VPN. Chúng không đăng ký router làm máy khách, không giữ thông tin đăng nhập và không đẩy mọi thiết bị trong nhà qua một lối ra từ xa. Điều chúng làm là định hình cách một giao thức vượt qua bản dịch địa chỉ và các bộ lọc. Khi điều đó rõ ràng, công tắc trở nên dễ kiểm tra và dễ để tắt.

Router thực sự làm gì

Router nằm giữa máy khách và một đối tác IPsec và chuyển tiếp các gói mà nó chưa bao giờ được thiết kế để hiểu. Các nhà sản xuất triển khai tính năng này theo ít nhất ba cách: một trợ thủ giao thức theo dõi hoặc ghi lại trạng thái, một ngoại lệ bộ lọc dừng việc bỏ ESP, hoặc một chế độ tương thích dành cho máy khách cũ. Nhãn trong giao diện web hiếm khi nói bạn có cái nào trong ba. Chỉ ghi chú firmware hoặc một bản chụp gói mới nói được điều đó.

Một trợ thủ cũng có thể làm mọi thứ tệ hơn. Phần hỗ trợ viết cho luồng cũ đôi khi can thiệp vào máy khách vốn đã xử lý bản dịch đúng cách. Khi một máy khách hiện đại hoạt động với tùy chọn tắt, để nó tắt là cấu hình tốt hơn.

Truyền không bao giờ trao cho router khóa của các đối tác. Nó vẫn thấy địa chỉ và cổng bên ngoài, và vẫn áp dụng chính sách chuyển tiếp của riêng nó cho chúng.

NAT và NAT-T quyết định đường đi

IPsec không được xây dựng để sống sót qua bản dịch địa chỉ, nên các tiêu chuẩn đã thêm một lớp bọc. NAT traversal đóng gói ESP bên trong UDP, cho phép một bảng NAT thông thường mang luồng, và cuộc thương lượng đồng ý về việc chuyển đổi đó trong IKE (RFC 3948). Bản thân IKE dùng UDP 500, còn đường đi được bọc thường dùng UDP 4500.

Đó là lý do một quy tắc tường lửa chỉ cho phép giao thức 50 không đủ trên một đường đi đã được dịch. Chặn 4500 phá vỡ trường hợp mà lớp bọc tồn tại, và chặn 500 dừng cuộc thương lượng trước khi bất kỳ đường hầm nào hình thành. Cả hai chiều đều quan trọng, vì một router theo dõi trạng thái thường chỉ cho phép phản hồi sau khi đã thấy yêu cầu. Đến được một cổng không giống với hoàn tất xác thực, cũng không giống với chuyển tiếp lưu lượng được bảo vệ.

Các cách bố trí cũ khác nhau đủ để một hướng dẫn viết cho chúng có thể gây nhầm lẫn. Khi máy khách cung cấp cả hai chế độ, hãy thử chế độ mà đối tác của bạn ghi lại chứ không phải chế độ có nhiều kết quả tìm kiếm hơn.

Tìm giai đoạn thất bại

Chia vấn đề thành thương lượng, xác thực, bảo vệ kết nối con và chuyển tiếp bên trong, rồi thu thập bằng chứng cho từng giai đoạn một. Một lần khởi động lại tạm thời thay đổi kết quả chỉ chứng minh rằng có một trạng thái nào đó đã tham gia.

sudo tcpdump -ni any 'udp port 500 or udp port 4500'
ip xfrm state list
ip xfrm policy list

Bản chụp cho thấy quá trình trao đổi có đến được đối tác hay không và phản hồi có quay về hay không, điều này tách vấn đề lọc khỏi vấn đề thông tin đăng nhập. Danh sách trạng thái cho thấy các liên kết bảo mật đã thiết lập, nên một danh sách trống sau khi thử cho thấy vấn đề thương lượng chứ không phải định tuyến. Danh sách chính sách cho thấy những bộ chọn nào đã được cài đặt, và chính ở đó đích ngoài mạng con bị loại trừ. Hãy đọc cả hai đầu ra xfrm trước khi chạm vào router, vì chúng mô tả điều máy chủ tin chứ không phải điều router cho phép.

Nếu gói tin đi ra mà không có gì quay lại, hãy chuyển bản chụp sang phía WAN của router. So sánh hai bản chụp sẽ định vị điểm bị bỏ mà không cần đoán.

Tắt thứ bạn không cần

Một chiếc máy tính xách tay hoạt động không chứng minh router phục vụ nhiều máy khách cùng lúc. Mỗi máy khách tạo trạng thái dịch và cuộc thương lượng riêng, và một số trợ thủ chỉ theo dõi một luồng. Hãy thử số phiên đồng thời mà bạn thực sự cần, từ những mạng bạn thực sự dùng. Nếu máy khách thứ hai thất bại trong khi cái đầu tiên chạy tốt, đó là phát hiện, không phải một đường hầm chập chờn.

Chỉ để tùy chọn bật khi bản chụp cho thấy cần thiết. Ghi phiên bản firmware bên cạnh kết quả, vì những hành vi này thay đổi giữa các bản phát hành. Mục tiêu là một đường hầm máy khách bạn đã xác minh, không phải một công tắc bật lên với hy vọng.

Bài viết liên quan