Đường hầm dựng lên, máy khách nhận một địa chỉ IPv6 từ pool, và dù vậy mọi đích IPv6 vẫn hết thời gian chờ. Trong đường hầm không có gì hỏng: IPv6 chạy rất tốt bên trong giao vận IPv4, và đó chưa bao giờ là phần khó. Địa chỉ bạn cấp là một lời hứa mà máy chủ không thể giữ, vì lối ra không có upstream IPv6 nào để gửi nó tới. Việc sửa thuộc về lối ra, không phải hồ sơ máy khách.

Triệu chứng: có địa chỉ mà không có đường

Kiểm tra phía máy khách cho thấy một địa chỉ IPv6 trông như toàn cầu trên thiết bị đường hầm và một tuyến trỏ vào nó, nên điều này bị đọc nhầm thành lỗi máy khách. Lưu lượng đi vào đường hầm, máy chủ giải gói, rồi gói tin rơi xuống một máy chủ mà bảng định tuyến không có tuyến mặc định IPv6 tới bất kỳ nơi thật nào. Tùy theo ngăn xếp, bạn nhận được không thể tới ngay lập tức hoặc bị bỏ im lặng, và trong cả hai trường hợp máy khách thấy một hết thời gian chờ trông giống hệt tường lửa.

Hãy đọc bảng định tuyến của chính máy chủ trước khi chạm vào máy khách, vì nửa còn thiếu của đường nằm ở đó. Một máy chủ chỉ có một tuyến mặc định IPv4 đã cho bạn câu trả lời rồi.

Theo dõi gói tin sau khi giải gói

Bên trong đường hầm, gói tin là IPv6 thường và nguồn của nó là địa chỉ máy khách. Máy chủ bóc lớp đóng gói giao vận rồi giữ một gói IPv6 gốc phải được chuyển tiếp tới bước nhảy IPv6 kế tiếp. Tuyến mặc định IPv4 không thể mang nó, và dịch nó sang IPv4 là một chức năng khác mà không ai triển khai. Đó là toàn bộ sự cố, và nó không liên quan gì đến việc trình nghe VPN có trả lời qua IPv4 hay không.

Cơ chế đóng gói IPv6 trên IPv4 được mô tả trong RFC 4213, và chi tiết quan trọng ở đó là hai đầu vẫn cần kết nối IPv6 thật ở phía bên kia đường hầm. Bọc một tiêu đề không tạo ra upstream.

Hai lớp đường hầm, hai lần kiểm tra độc lập

Kiểm tra từng lớp riêng, vì một đường hầm ngoài đang chạy sẽ che một đường hầm trong bị hỏng. Kiểm tra đường ngoài bằng ping IPv4 từ máy khách tới máy chủ và xác nhận cổng bạn dùng. Sau đó kiểm tra đường trong trên máy chủ, nơi ip -6 route phải hiển thị một tuyến mặc định hoặc một tuyến cụ thể học được từ upstream thật, và ip -6 addr phải hiển thị một tiền tố nguồn mà upstream chấp nhận. Bất cứ điều gì ít hơn thế chỉ là trang trí trên giao diện.

Một địa chỉ duy nhất-cục bộ, hoặc một tiền tố trông như toàn cầu mà không gì định tuyến ngược về, sẽ vui vẻ xuất hiện trên giao diện và không đi đâu cả. Khả năng tới được từ công cộng do upstream cấp, không phải do hình dạng của địa chỉ.

Điều tương tự cũng đúng ở máy khách: ip -6 route get 2001:4860:4860::8888 nên nêu tên thiết bị đường hầm, và nếu nó nêu thiết bị vật lý, máy khách hoàn toàn không dùng VPN cho IPv6.

Tiền tố nguồn, kích thước và ICMPv6

Hỏi upstream xem nó sẽ chấp nhận những tiền tố nguồn nào để chuyển tiếp, và dùng một trong số đó cho pool máy khách. Một nhà cung cấp đưa bạn /64 cho giao diện của chính máy chủ không hẳn đang định tuyến cho bạn một /64 thứ hai hay một khối lớn hơn, và khác biệt là một buổi chiều gỡ lỗi mà một phiếu hỗ trợ giải quyết bằng một câu hỏi. Hãy hỏi bằng văn bản và giữ câu trả lời cùng cấu hình.

Hãy dự trù phần đóng gói thêm mà ngăn xếp của bạn thực sự dùng, và giữ ICMPv6 hoạt động, kể cả Packet Too Big. Tiêu đề thứ hai làm nhỏ tải trọng dùng được, nên một đường trả lời ping nhỏ vẫn có thể thất bại khi truyền tệp, và một tường lửa bỏ hết ICMPv6 biến một vấn đề kích thước có thể sửa thành hố đen. Hãy thử một lần truyền lớn trước khi công bố dịch vụ.

Điều gì là một vấn đề hoàn toàn khác

Tới được một ứng dụng chỉ IPv4 từ một máy khách chỉ IPv6 là dịch, không phải đóng đường hầm, và cần thứ gì đó như một bố cục NAT64 được triển khai có chủ đích. Đích sẽ không hiểu thêm một tiêu đề đường hầm chỉ vì bạn đã thêm một cái. Các dịch vụ chuyển tiếp lịch sử cũng đáng được chăm sóc như vậy: RFC 7526 đã bãi bỏ mô hình relay anycast 6to4, nên một hướng dẫn viết quanh nó mô tả thứ không còn relay công cộng được duy trì.

Nếu máy chủ không có upstream IPv6 dùng được, các lựa chọn là một upstream được hỗ trợ, một lối ra khác, hoặc một quyết định được ghi lại rằng IPv6 ở ngoài đường hầm. Điều không chấp nhận được là nói với máy khách rằng có dịch vụ IPv6 trong khi kết nối IPv6 thông thường của họ lặng lẽ vòng qua VPN.

Bài viết liên quan