ทำไม IPv6 ถึงไม่ทำงานในโฮมเน็ตเวิร์กของผม?
(gowtham.dev)- ในโฮมเน็ตเวิร์ก
ping google.comสำเร็จ แต่ping6 google.comล้มเหลว และสาเหตุคือมีการปิดใช้งาน คำขอ DNS สำหรับ IPv6 อยู่ในการตั้งค่า Adguard Home DNS - ACT broadband เคยไม่รองรับ IPv6 มาก่อน แต่ยืนยันได้ว่ากำลังทยอยเปิดให้ผู้ใช้ใน Chennai และเมื่อเปิดใช้งาน IPv6 บนเราเตอร์แล้วก็ทำงานได้ตามปกติ
- ระหว่างการทดสอบเครือข่ายล่าสุด ปัญหา IPv6 ก็ปรากฏขึ้นอีกครั้ง แต่ในพอร์ทัลผู้ดูแลเราเตอร์ยังยืนยันได้ว่ามี การเชื่อมต่อ IPv6 จาก ISP อยู่จริง และปัญหาเดียวกันก็เกิดซ้ำได้ทั้งบน macOS และ Raspberry Pi
- ใน
dig AAAA google.comไม่มีผลลัพธ์ DNS ทำให้ขอบเขตของปัญหาแคบลงว่าไม่ใช่การเชื่อมต่อจาก ISP หรือการตั้งค่าไคลเอนต์ แต่เป็นฝั่ง DNS server ที่จัดการ การคิวรีเรคคอร์ด AAAA - เป็นปัญหาการตั้งค่าที่เกิดขึ้นหลังจากย้าย DNS ไปใช้ Adguard Home เมื่อปีที่แล้ว และเมื่อปิดการบล็อกคำขอ DNS สำหรับ IPv6 แล้ว
ping -4และping -6ก็สำเร็จทั้งคู่โดยมี packet loss 0%
สาเหตุและวิธีแก้
- ในโฮมเน็ตเวิร์ก
ping google.comสำเร็จ แต่ping6 google.comล้มเหลว และสาเหตุสุดท้ายคือมีการปิดใช้งาน คำขอ DNS สำหรับ IPv6 ทั้งหมดอยู่ในการตั้งค่า Adguard Home DNS - ACT broadband ไม่รองรับ IPv6 อยู่ช่วงหนึ่ง แต่เมื่อไม่กี่ปีก่อนพบว่ากำลังทยอยเปิดให้ผู้ใช้ใน Chennai และหลังจากเปิดใช้งาน IPv6 บนเราเตอร์ ตอนนั้นก็ใช้งานได้โดยไม่มีปัญหา
- ไม่นานมานี้ ระหว่างปรับสภาพแวดล้อมบนโต๊ะทำงานและทดสอบการเชื่อมต่อเครือข่าย ปัญหา IPv6 ก็ปรากฏขึ้นอีกครั้ง และในพอร์ทัลผู้ดูแลเราเตอร์ยังยืนยันได้ว่ามีการเชื่อมต่อ IPv6 จาก ISP อยู่จริง
- ในการตั้งค่าเครือข่ายของ macOS ก็อนุญาต IPv6 ไว้อยู่แล้ว และปัญหาเดียวกันก็เกิดซ้ำบน Raspberry Pi ที่เชื่อมต่อกับเราเตอร์ผ่าน LAN ทำให้ยากจะมองว่าเป็นปัญหาเฉพาะอุปกรณ์ใดอุปกรณ์หนึ่ง
- เพื่อทดสอบด้วยที่อยู่ IPv6 โดยตรง จึงรัน
dig AAAA google.comแต่ไม่มีผลลัพธ์ DNS ออกมา และเนื่องจาก Google รองรับ IPv6 จึงเริ่มสงสัยว่าปัญหาอยู่ที่ฝั่ง DNS server - หลังจากนึกขึ้นได้ว่าเมื่อปีที่แล้วย้าย DNS ไปใช้ Adguard Home ก็จึงเข้าไปตรวจสอบการตั้งค่า DNS server และพบสวิตช์เล็ก ๆ ที่ใช้บล็อกคำขอ DNS สำหรับ IPv6
- เมื่อปิดการตั้งค่านั้นและบันทึกแล้ว ทั้ง IPv4 และ IPv6 ก็กลับมาทำงานได้ตามปกติ
ขั้นตอนตรวจสอบและผลลัพธ์
-
ยืนยันอาการ
- การแก้ชื่อและการเชื่อมต่อผ่าน IPv4 ทำงานได้ตามปกติ
- การแก้ชื่อหรือการเชื่อมต่อผ่าน IPv6 ล้มเหลว
- การทดสอบพื้นฐานที่ใช้มีดังนี้
ping google.com ping6 google.com
-
ตรวจสอบ ISP และการตั้งค่าอุปกรณ์
- ตอนแรกสงสัยก่อนว่า ISP อาจปิด IPv6 อีกครั้ง แต่ในพอร์ทัลผู้ดูแลเราเตอร์ยืนยันได้ว่ามีการเชื่อมต่อ IPv6 อยู่
- ในการตั้งค่าเครือข่ายของ macOS ก็เปิดอนุญาต IPv6 อยู่แล้ว
- ปัญหาเดียวกันเกิดขึ้นบน Raspberry Pi ด้วย จึงยากจะมองว่าเป็นปัญหาการตั้งค่าของไคลเอนต์เครื่องเดียว
- เนื่องจากใช้งาน DNS server ของตัวเองอยู่ จึงตรวจเทียบทั้งที่อยู่ IPv6 DNS server ของเราเตอร์และ IP address ของ Ethernet interface บน Raspberry Pi ด้วย
-
เบาะแสที่ทำให้แคบลงมาที่ปัญหา DNS
- เพื่อแยกความเป็นไปได้เรื่องการส่งต่อ IPv6 DNS ผ่าน DHCP จึงพยายามตรวจสอบที่อยู่ IPv6 โดยตรง และพบว่า
dig AAAA google.comไม่แสดงผลลัพธ์ - ในขั้นตอนนี้จึงสรุปได้ว่าปัญหาไม่ได้อยู่ที่การเชื่อมต่อจาก ISP หรือการอนุญาต IPv6 บนไคลเอนต์ แต่อยู่ที่ฝั่ง DNS server ที่จัดการ การคิวรีเรคคอร์ด AAAA
- เพื่อแยกความเป็นไปได้เรื่องการส่งต่อ IPv6 DNS ผ่าน DHCP จึงพยายามตรวจสอบที่อยู่ IPv6 โดยตรง และพบว่า
-
ตรวจสอบหลังแก้ไข
- หลังจากปิดสวิตช์ที่ใช้ปิดการใช้งานคำขอ DNS สำหรับ IPv6 ในการตั้งค่า Adguard Home แล้ว
ping -4และping -6ก็สำเร็จทั้งคู่ - การทดสอบ IPv4 ส่งแพ็กเก็ตไปที่
172.217.24.1105 แพ็กเก็ต รับกลับ 5 แพ็กเก็ต มี packet loss 0% - การทดสอบ IPv6 ส่งแพ็กเก็ตไปที่
2404:6800:4007:817::200e5 แพ็กเก็ต รับกลับ 5 แพ็กเก็ต มี packet loss 0% - การเปิดใช้ IPv6 มีข้อดี เช่น latency ที่ลดลง, การเชื่อมต่อ P2P ที่ดีกว่าเพราะไม่ต้องใช้ NAT traversal, และ SLAAC
- หลังจากปิดสวิตช์ที่ใช้ปิดการใช้งานคำขอ DNS สำหรับ IPv6 ในการตั้งค่า Adguard Home แล้ว
1 ความคิดเห็น
ความเห็นจาก Lobste.rs
นี่แย่มากและ AdGuard Home ควรรู้สึกละอาย
ฉันก็ใช้ AdGuard Home เหมือนกัน และที่นี่มันถูกปิดอยู่ อีกทั้งฉันเพิ่งเปลี่ยนการตั้งค่า/เราเตอร์ไปเมื่อไม่ถึง 2 สัปดาห์ก่อน จึงค่อนข้างมั่นใจว่าฉันไม่ได้ไปแตะต้องมัน
ไม่เข้าใจว่าทำไมถึงต้องมีฟีเจอร์แบบนี้อยู่ด้วย
เวลาในบริการพวกนี้มีคนเข้ามาขอความช่วยเหลือ ไม่ว่าจะเป็นช่องทางซัพพอร์ตอย่างเป็นทางการหรือชุมชนของโปรเจกต์อย่างฟอรัม, Discord หรือซับเรดดิต คำแนะนำแรกที่ยังได้ยินอยู่เสมอก็คือ “ปิด IPv6 ซะ”
IPv6 ออกแบบมาได้แย่และตั้งค่าผิดพลาดได้ง่าย เลยทำให้คำแนะนำที่ตรงไปตรงมาที่สุดกลายเป็นให้ปิดมันไป
เมื่อกี้ฉันเพิ่งดีบักปัญหาตรงกันข้าม คือ IPv4 ใช้งานไม่ได้ในเครือข่ายที่บ้าน
มันเป็นบริการแบบ IPv6-only ที่ใช้ DS-Lite สำหรับการเชื่อมต่อ IPv4 และใน DS-Lite นั้นเราเตอร์ที่บ้านจะทำ tunneling แพ็กเก็ต IPv4 ไปยัง AFTR ซึ่งเป็น NAT ของ ISP
โดเมนของ AFTR จะถูกส่งมาผ่าน DHCPv6 และในกรณีของฉันมันเป็นรูปแบบ
something.aftr.kabelbw.deแต่ตอนนี้โดเมนนี้ resolve ไม่ได้เพราะ denic has some trouble with its DNSSEC configurationโชคดีที่ฉันไม่ได้ปิด IPv6 ไว้ที่ไหนเลย ดังนั้นทุกอย่างจึงยังทำงานได้ดี ยกเว้น GitHub