ฉันจะเข้าถึงที่อยู่ IPv4 จากเครือข่าย IPv6 เท่านั้นได้อย่างไร


11

ฉันต้องการเข้าถึงที่อยู่นี้ผ่านที่อยู่ IPv6:
http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/

ในเราเตอร์ Freifunk ของเราไม่มี DNS จึงdownloads.openwrt.orgไม่สามารถแก้ไขชื่อได้ เซิร์ฟเวอร์ทั้งหมดในอินเทอร์เน็ตสามารถเข้าถึงได้ผ่านที่อยู่ ipv6 เท่านั้น ตอนนี้เราไม่สามารถเข้าถึงมิเรอร์แพ็คเกจจากภายในเราเตอร์opkg installได้เลย

มันจะเป็นทางออกถ้าเราสามารถเพิ่มสิ่งนี้ลงใน config ของเราตัวอย่าง:

http://[2001:db8::1]/attitude_adjustment/12.09/ar71xx/generic/packages/

เราเตอร์ของเรากำลังเรียกใช้ OpenWRT และเป็น IPv6 เท่านั้นและฉันต้องการเพิ่มรายการ/etc/hostsเพื่อให้ชื่อโดเมนdownloads.openwrt.orgจะแก้ไขเป็นที่อยู่ IPv6 ที่เหมาะสม

เป็นไปได้หรือไม่ที่จะเปลี่ยนเส้นทาง IPv6 ไปยังโดเมน


2
ไซต์นั้นไม่มีที่อยู่ IPv6 ด้วยเหตุผลบางประการ บางทีคุณควรอธิบายว่าปัญหาที่แท้จริงของคุณคืออะไรแทนที่จะคิดว่าวิธีแก้ปัญหาคืออะไร?
Michael Hampton

ทำไมต้องผ่าน IPv6 คุณใช้ระบบปฏิบัติการอะไร
JakeGould

@MichaelHampton: ฉันเพิ่มเหตุผลให้คำถามของฉัน
rubo77

ฉันได้แก้ไขชื่อของคุณเพื่ออธิบายว่าคำถามที่แท้จริงคืออะไรเพราะง่ายที่จะพลาดในส่วนของคำถาม
Michael Hampton

คำตอบ:


12

คุณไม่สามารถเพียงแค่ "เพิ่ม" ที่อยู่ IPv6 เพื่อเข้าถึงโฮสต์ที่ให้บริการผ่าน IPv4 เท่านั้น เหล่านี้เป็นสองโปรโตคอลที่แตกต่างและเข้ากันไม่ได้

เพื่อให้เครือข่ายIPv6 เท่านั้นของคุณสามารถเข้าถึงที่อยู่ IPv4 ได้จำเป็นต้องมีเกตเวย์ซึ่งสามารถเข้าถึง IPv4 ได้ โดยทั่วไปจะทำกับเกตเวย์ NAT64 / DNS64 ซึ่งแปลที่อยู่ IPv4 เป็นที่อยู่ IPv6 "ปลอม" และยอมรับการเชื่อมต่อไปยังที่อยู่ IPv6 "ปลอม" เหล่านั้นและแปลการเชื่อมต่อไปยังเครือข่าย IPv4 ที่อยู่ IPv6 เหล่านี้จะอยู่ใน64:ff9b::/96ช่วง

ใน OpenWrt นั้น NAT64 จะทำกับ Tayga และ DNS64 กับ bind ข้อมูลเพิ่มเติมเกี่ยวกับวิธีการพวกเขาตั้งขึ้นคือมีอยู่ในวิกิพีเดีย OpenWrt คุณจะต้องมีการปรับเปลี่ยนทัศนคติหรือ Barrier Breaker OpenWrt เวอร์ชั่นก่อนหน้านี้ยังไม่รองรับ IPv6 และเทคโนโลยีอื่น ๆ อย่างสมบูรณ์

คุณสามารถเพิ่มตัวแก้ไข DNS64 / NAT64 สาธารณะให้กับ /etc/resolv.conf ของคุณ:

nameserver 2001:67c:2b0::4
nameserver 2001:67c:2b0::6

คุณยังสามารถ "ย้อนกลับ" การแปลในไคลเอนต์สถานที่ที่ใช้464xlat 464xlat ใช้เครื่องมือเดียวกัน (กล่าวถึงข้างต้น แต่มีวิธีที่แตกต่างกันเท่านั้น) ด้วย 464xlat คุณสามารถเข้าถึง URL ด้วย IP ที่แท้จริง


2

โดเมนdownloads.openwrt.orgมีที่อยู่ IPv4 แต่ไม่มีที่อยู่ IPv6 ดังนั้นคุณไม่สามารถเข้าถึงได้ผ่าน IPv6 เว้นแต่ว่าคุณจะใช้กลไกการแปล คุณสามารถใช้ NAT64 เพื่อสร้างการเชื่อมต่อ TCP ไปยังเซิร์ฟเวอร์ IPv4 เท่านั้นจากไคลเอนต์ IPv6 เท่านั้น

แต่ทำไมคุณถึงต้องใช้ไคลเอ็นต์แบบ IPv6 เท่านั้น Going dual stack เป็นแนวคิดที่ดี แต่ตอนนี้เฉพาะ IPv6 เท่านั้นมีประโยชน์จริง ๆ สำหรับการทดสอบสำหรับผู้ที่ทราบถึงข้อ จำกัด ที่แนะนำในโลกที่มีโฮสต์ IPv4 เท่านั้นมากเกินไป

หากคุณจัดการเพื่อเปิดการเชื่อมต่อ TCP ไปยังเซิร์ฟเวอร์คุณจะพบกับความท้าทายอื่น HTTP เวอร์ชัน 1.1 ต้องการให้ไคลเอ็นต์ส่งชื่อเซิร์ฟเวอร์ที่กำลังติดต่อผ่านการเชื่อมต่อ HTTP และไซต์จำนวนมากรวมถึงdownloads.openwrt.orgต้องการให้ส่วนหัวนี้ถูกส่ง

ไคลเอ็นต์ HTTP ของคุณสามารถส่งส่วนหัวนั้นได้หากรู้ชื่อโดเมนที่จะส่ง ดังนั้นคุณควรปล่อยให้ลูกค้าทราบ URL ดั้งเดิมและให้สิทธิ์การเข้าถึงเพื่อแก้ไขชื่อนั้นเป็นที่อยู่ IP หากต้องเป็น IPv6 นั่นก็หมายความว่าคุณต้องมี NAT64 อย่างไรก็ตามสามารถทำการแมปจากชื่อโดเมนไปยังที่อยู่ IP ของ NAT64 /etc/hostsและควรจะทำงานได้ดี

อาจทำงานได้ดีสำหรับชื่อโดเมนแต่ละชื่อ แต่ถ้าคุณต้องการให้ IPv6 โฮสต์สามารถเข้าถึงหลายโดเมนได้โดยไม่ต้องใส่ที่/etc/hostsอยู่ NAT64 คุณจะต้องแปลที่อยู่แบบไดนามิก นั่นคือสิ่งที่ DNS64 ใช้

ตอนนี้หากลูกค้ามีการเข้าถึง IPv4 และ DNS หายไปเท่านั้นคำตอบนั้นง่ายกว่ามาก เพียงแค่ใส่ที่อยู่ IPv4 ใน/etc/hostsแบบที่ davidgo แนะนำ แน่นอนคุณจะต้องอัปเดตไฟล์นั้นทุกครั้งที่ที่อยู่ IP ของเซิร์ฟเวอร์เปลี่ยนแปลงซึ่งหวังว่าจะไม่บ่อยเกินไป


แน่นอนว่า "การใช้ดูอัลสแต็คเป็นความคิดที่ดี" แต่ไม่ใช่ทุกคนที่จะสามารถ หากผู้ให้บริการของฉันให้อย่างใดอย่างหนึ่งเท่านั้นมีไม่มากที่ฉันสามารถทำได้
เปาโล

@paolo หากคุณกำลังพูดถึงเซิร์ฟเวอร์คุณสามารถเลือกผู้ให้บริการโฮสต์ที่รองรับสแต็กคู่ มีผู้ให้บริการการแข่งขันจำนวนมากให้เลือกที่ยืนยันในการสนับสนุนสแต็กคู่เพียงแค่ทำให้การเลือกง่ายขึ้นเล็กน้อยโดยการตัดทอนรายชื่อผู้ให้บริการที่จะเลือก หากเรากำลังพูดถึงเครือข่ายกับผู้ใช้ปลายทางจะมีการแข่งขันน้อยลงเนื่องจากคุณ จำกัด ผู้ให้บริการอินเทอร์เน็ตในพื้นที่ทางภูมิศาสตร์ของคุณ ในกรณีดังกล่าวไปกับสิ่งที่ ISP ให้จะทำงานได้ตราบใดที่บริการที่คุณพึ่งพานั้นเป็นแบบสองชั้นอย่างที่ควรจะเป็น
kasperd

@paolo หากคุณกำลังพูดถึงเครือข่ายที่ผู้ใช้เป็นนักพัฒนาผู้ดูแลระบบหรือคนอื่น ๆ ที่ต้องการดูอัลสแต็คเพื่อพัฒนา / สนับสนุนโครงสร้างพื้นฐานสแต็คคู่แล้วคุณควรไปสองสแต็คและใช้อุโมงค์ถ้า ISP ไม่ สนับสนุน IPv6 คุณสามารถมั่นใจได้ว่า ISP ให้วิธีการเข้าถึงบริการ IPv4 อย่างเดียวผ่านทาง NAT64 หรือกลไกการเปลี่ยนผ่านอื่น ๆ
kasperd

เห็นได้ชัดว่าเว็บไซต์เปิดใช้งาน IPv6 แล้ว (เบราว์เซอร์ของฉันเชื่อมต่อกับ IP จริงมากกว่าการเชื่อมต่อมาตรฐาน 6to4 ของฉัน)
Paul Stelian

1

ฉันคิดว่าคุณอาจถามคำถามผิด - คุณไม่สามารถเปลี่ยนเส้นทางที่อยู่ IPv6 ไปยังโดเมนได้เนื่องจากกระบวนการทำงานในลักษณะตรงกันข้ามนั่นคือโดเมนจะเปลี่ยนเป็นโฮสต์ [หรือหลาย ๆ ]

ฉันไม่สามารถค้นหาข้อมูลใด ๆ ในเราเตอร์ของคุณได้ แต่หากใช้ OpenWRT คุณควรเพิ่มรายการลงใน / etc / hosts เพื่อที่ชื่อโดเมนจะได้รับการแก้ไขในที่อยู่ IP ที่เหมาะสม


นั่นคือสิ่งที่ฉันมีอยู่ในใจ แต่เนื่องจากไม่มีที่อยู่ "ที่อนุมัติ" ที่อยู่ ip6 ฉันจึงคิดว่าฉันสามารถเปลี่ยนเส้นทางได้ ฉันเพิ่มลงในคำถาม
rubo77
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.