Lưu lượng trên eth0 không có nghĩa là đường hầm VPN bị rò rỉ
Địa chỉ công cộng trên card mạng vật lý thường là lớp bọc của chính đường hầm. Hãy so sánh các giao diện, rồi hỏi nhân hệ thống xem nó chọn thiết bị nào.
Thấy địa chỉ công cộng trên eth0 khi đường hầm đang hoạt động có cảm giác như bằng chứng rằng đã có thứ gì đó thoát ra. Thường thì ngược lại: các gói của chính đường hầm phải đi qua card mạng đó để tới máy chủ, và chúng trông như những luồng UDP hoặc TCP bình thường. Gói bên trong chỉ xuất hiện trên thiết bị đường hầm. Phân biệt hai thứ đó là việc đọc lớp bọc, không phải tin vào số byte.
Mọi gói của đường hầm vẫn đi qua dây
Đường hầm là một giao diện, không phải sợi dây. Máy khách lấy một gói bên trong, bọc nó lại và gửi kết quả tới địa chỉ và cổng của máy chủ trong hồ sơ. Trên card mạng vật lý bạn thấy lớp bọc; trên thiết bị đường hầm bạn thấy thứ đã được bọc.
Ở chế độ UDP, luồng bên ngoài là một cặp địa chỉ và cổng duy nhất theo mỗi chiều, vì thế một đường hầm khỏe mạnh trông gần như nhàm chán trên eth0. Chính cặp duy nhất đó là thứ cần tìm trước tiên.
Bắt một giao diện mỗi lần
Chỉ bắt một giao diện mỗi lần khi bạn định so sánh số đếm. Giao diện giả any thu thập mọi thiết bị cùng lúc, nên một gói được chuyển tiếp xuất hiện ở lối vào và lối ra, còn gói được tạo cục bộ xuất hiện hai lần dưới hai dạng khác nhau. Số gói bằng nhau nhưng số byte khác nhau là bình thường, vì lớp bọc lớn hơn thứ nó chở. ARP, DHCP và thông báo định tuyến IPv6 thuộc về liên kết cục bộ và không nói gì về ứng dụng của bạn.
sudo tcpdump -i eth0 -n host 203.0.113.10 and udp port 1194Thay địa chỉ và cổng bằng giá trị của chính hồ sơ. Nếu luồng đó đều đặn thì đường hầm đang chở thứ gì đó.
Hỏi nhân hệ thống xem nó chọn thiết bị nào
Hỏi nhân hệ thống xem nó sẽ chọn thiết bị nào, rồi xác nhận trên dây. Việc tra tuyến là quyết định, còn việc bắt gói là bằng chứng rằng quyết định đã được tuân theo. Chúng trả lời những câu hỏi khác nhau và bạn cần cả hai.
ip route get 1.1.1.1
ip -6 route get 2606:4700:4700::1111Kết quả tách đôi là phát hiện thường gặp: IPv4 đi vào đường hầm còn IPv6 đi ra card mạng vật lý vì hồ sơ chỉ đẩy các tuyến IPv4. Đó là rò rỉ thật, và nó vô hình trong một lần bắt gói chỉ có IPv4. Lọc IPv6 và để ý những địa chỉ không phải máy chủ và không phải link-local.
Chạy cả hai lần tra trước và sau khi kết nối, để bạn thấy máy khách thực sự đã thay đổi điều gì. Khác biệt giữa hai lần chạy chính là tác dụng thật của máy khách.
Khi lần bắt gói thực sự là rò rỉ
Đôi khi lần bắt gói nói đúng sự thật. Một tuyến hẹp hơn gửi một tiền tố đi vòng qua đường hầm, một mạng con mà máy khách được yêu cầu loại trừ, hoặc một quy tắc cho phép trong tường lửa chạy trước chính sách đường hầm, tất cả đều có thể đưa lưu lượng lên dây một cách công khai. Một quy tắc khớp với nhóm tiến trình cũng có thể là ngoại lệ có chủ đích. Hãy đọc giao diện và phạm vi đích của nó trước khi gọi đó là lỗi.
Sửa tuyến hoặc ngoại lệ, không sửa tường lửa. Sau đó bắt lại từ một kết nối mới và kiểm tra IPv4 và IPv6 riêng biệt, vì sửa cái này không nói gì về cái kia. hướng dẫn tcpdump trình bày các bộ chọn giao diện và hướng được dùng ở trên.