การตั้งค่า IPv4 เป็นโปรโตคอลที่ต้องการผ่าน IPv6


19

ฉันใช้ทั้ง IPv6 และ IPv4 ในเครือข่าย LAN ที่มีกล่อง Slackware 13.0 ฉันจะตั้งค่า IPv4 เป็นโปรโตคอลที่ต้องการบนเวิร์กสเตชันในเครือข่ายนี้ได้อย่างไร ฉันต้องการใช้ IPv6 อย่างชัดเจนหรือเมื่อมีเฉพาะระเบียน AAAA เท่านั้น ตัวอย่างเช่นถ้าฉันพยายามเปิดhttp://ipv6.org/จาก Firefox ฉันจะเชื่อมต่อผ่าน IPv6 เสมอ สถานการณ์เหมือนกันกับแอ็พพลิเคชันอื่น ฉันพยายามสร้าง /etc/gai.conf และเพิ่มสิ่งต่อไปนี้:

precedence ::ffff:0:0/96  100

สิ่งนี้ควรควบคุมพฤติกรรมของ getaddrinfo (3) เป็นอย่างน้อยใน Debian แต่มันไม่ได้ช่วย Slackware

ความคิดใด ๆ ที่จะได้รับการชื่นชม ขอบคุณล่วงหน้า!


1
ขอบคุณมากสำหรับการชี้ไปที่/etc/gai.conf! ฉันกำลังค้นหามันประมาณครึ่งปี! :)
kolypto

คำตอบ:


18

ตามหน้า man การแทรกprecedenceค่าใน gai.conf จะปิดการใช้งานกฎเริ่มต้นอื่น ๆ ทั้งหมด ลองตั้งกฎทั้งหมดตามที่ระบุไว้ใน RFC 3484 (10.3):

  Prefix        Precedence Label
  ::1/128               50     0
  ::/0                  40     1
  2002::/16             30     2
  ::/96                 20     3
  ::ffff:0:0/96        100     4

1

ipv6 ไม่ได้เป็นความเชี่ยวชาญของฉันจริงๆ แต่resolver(5)ดูเหมือนว่าจะมีตัวเลือกอยู่สองสามตัวเลือกใน/etc/resolv.confสิ่งที่เกี่ยวข้อง:

options inet6ชุด ในRES_USE_INET6 _res.optionsสิ่งนี้มีผลกระทบจากการลองคิวรี AAAA ก่อนที่เคียวรี A ภายในgethostbyname(3) ฟังก์ชันและการแม็พการตอบสนอง IPv4 ใน IPv6 "รูปแบบช่องสัญญาณ" หากไม่พบระเบียน AAAA แต่มีชุดระเบียน A อยู่

ลูกค้าของคุณอาจมีการตั้งค่าตัวเลือกที่?

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