1 điểm bởi GN⁺ 2 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Trong mạng gia đình, ping google.com thành công nhưng ping6 google.com thất bại; nguyên nhân là do truy vấn DNS IPv6 đã bị vô hiệu hóa trong cấu hình Adguard Home DNS
  • ACT broadband trước đây không hỗ trợ IPv6, nhưng được xác nhận là đang triển khai dần cho người dùng tại Chennai; khi bật IPv6 trên router thì hoạt động bình thường
  • Trong quá trình kiểm tra mạng gần đây, vấn đề IPv6 lại lộ ra, nhưng trên cổng quản trị router vẫn xác nhận được kết nối IPv6 từ ISP, và lỗi tương tự cũng được tái hiện trên macOS lẫn Raspberry Pi
  • dig AAAA google.com không trả về kết quả DNS, nên phạm vi vấn đề được thu hẹp không phải ở kết nối ISP hay cấu hình máy khách mà là phía máy chủ DNS xử lý truy vấn bản ghi AAAA
  • Đây là vấn đề cấu hình phát sinh sau khi chuyển DNS sang Adguard Home từ năm ngoái; sau khi tắt nút chặn truy vấn DNS IPv6 thì cả ping -4ping -6 đều thành công với tỷ lệ mất gói 0%

Nguyên nhân và cách khắc phục

  • Trong mạng gia đình, ping google.com thành công nhưng ping6 google.com thất bại; nguyên nhân cuối cùng là do toàn bộ truy vấn DNS IPv6 đã bị vô hiệu hóa trong cấu hình Adguard Home DNS
  • ACT broadband từng không hỗ trợ IPv6 trong một thời gian, nhưng vài năm trước đã được xác nhận là đang triển khai dần cho người dùng ở Chennai; sau khi bật IPv6 trên router thì khi đó mọi thứ hoạt động bình thường
  • Gần đây, trong lúc thay đổi bố cục bàn làm việc và kiểm tra kết nối mạng, vấn đề IPv6 lại xuất hiện; tuy nhiên trên cổng quản trị router vẫn xác nhận được bản thân kết nối IPv6 từ ISP
  • Trong cài đặt mạng của macOS, IPv6 cũng được cho phép; cùng vấn đề này còn tái hiện trên Raspberry Pi kết nối LAN với router, nên khó xem đây là lỗi của riêng một thiết bị
  • Để kiểm tra trực tiếp địa chỉ IPv6, tác giả chạy dig AAAA google.com nhưng không nhận được kết quả DNS nào; vì Google có hỗ trợ IPv6 nên bắt đầu nghi ngờ phía máy chủ DNS
  • Sau khi nhớ ra rằng năm ngoái đã chuyển DNS sang Adguard Home, tác giả kiểm tra cấu hình máy chủ DNS và phát hiện một nút gạt nhỏ dùng để chặn truy vấn DNS IPv6
  • Sau khi tắt thiết lập đó và lưu lại, cả IPv4 lẫn IPv6 đều hoạt động bình thường

Quá trình kiểm tra và kết quả

  • Xác nhận triệu chứng

    • Phân giải tên và kết nối IPv4 hoạt động bình thường
    • Phân giải tên hoặc kết nối IPv6 thất bại
    • Các bài kiểm tra cơ bản được dùng như sau
      ping google.com
      ping6 google.com
      
  • Kiểm tra ISP và cấu hình thiết bị

    • Ban đầu tác giả nghi ISP có thể đã lại vô hiệu hóa IPv6, nhưng trên cổng quản trị router vẫn thấy có kết nối IPv6
    • Trong cài đặt mạng của macOS, IPv6 cũng đang được cho phép
    • Vấn đề tương tự cũng xảy ra trên Raspberry Pi, nên khó coi là lỗi cấu hình của một máy khách đơn lẻ
    • Do đang dùng máy chủ DNS riêng, tác giả cũng đối chiếu địa chỉ máy chủ DNS IPv6 trên router với địa chỉ IP của giao diện Ethernet trên Raspberry Pi
  • Manh mối thu hẹp về phía DNS

    • Để loại trừ khả năng DHCP chuyển tiếp DNS IPv6 có vấn đề, tác giả thử kiểm tra trực tiếp địa chỉ IPv6 và thấy dig AAAA google.com không trả về kết quả
    • Ở bước này, vấn đề được thu hẹp: không nằm ở kết nối ISP hay việc máy khách có cho phép IPv6 hay không, mà là ở máy chủ DNS xử lý truy vấn bản ghi AAAA
  • Kiểm chứng sau khi sửa

    • Sau khi tắt nút gạt vô hiệu hóa truy vấn DNS IPv6 trong cấu hình Adguard Home, cả ping -4ping -6 đều thành công
    • Bài kiểm tra IPv4 gửi 5 gói tới 172.217.24.110, nhận 5 gói, tỷ lệ mất gói 0%
    • Bài kiểm tra IPv6 gửi 5 gói tới 2404:6800:4007:817::200e, nhận 5 gói, tỷ lệ mất gói 0%
    • Khi bật IPv6, có các lợi ích như giảm độ trễ, kết nối P2P tốt hơn mà không cần NAT traversal, và các cơ chế như SLAAC

1 bình luận

 
Ý kiến trên Lobste.rs
  • Thật kinh khủng, và AdGuard Home nên thấy xấu hổ

    • Có vẻ thiết lập đó không được bật mặc định
      Tôi cũng dùng AdGuard Home, và ở đây nó đang tắt; hơn nữa tôi mới thay thiết lập/router chưa đến 2 tuần trước, nên tôi khá chắc là mình không đụng vào nó
  • Tôi không hiểu tại sao lại tồn tại một tính năng như vậy

    • Vì toàn bộ cộng đồng chặn quảng cáo qua DNS, đặc biệt là những nơi như AdGuardPi-hole, từ trước đến nay vốn khá thù địch với IPv6 và mạng dual-stack
      Khi có yêu cầu hỗ trợ cho các dịch vụ này, dù là kênh hỗ trợ chính thức hay cộng đồng dự án như forum, Discord, hay subreddit, khuyến nghị đầu tiên vẫn thường là “tắt IPv6 đi”
  • IPv6 có thiết kế tệ và rất dễ cấu hình sai, nên lời khuyên hiển nhiên nhất là tắt nó đi

  • Tôi vừa debug xong vấn đề ngược lại: IPv4 không hoạt động trên mạng gia đình của tôi
    Đây là một dịch vụ chỉ dùng IPv6 và dùng DS-Lite cho kết nối IPv4; trong DS-Lite, router gia đình sẽ tunnel các gói IPv4 tới AFTR, tức NAT của ISP
    Tên miền của AFTR được cung cấp qua DHCPv6, và trong trường hợp của tôi nó có dạng something.aftr.kabelbw.de, nhưng hiện tại tên miền này không phân giải được do denic đang gặp một số sự cố với cấu hình DNSSEC của họ
    May mắn là tôi không tắt IPv6 ở đâu cả, nên mọi thứ đều hoạt động tốt, ngoại trừ GitHub