ฉันจะ 'นิ้วเท้าของฉัน' ไปยังที่อยู่เครือข่าย IPv6 แบบไดนามิกได้อย่างไร


14

มีวิธีใดใน IPv6 ที่จะเปิดใช้งานการกำหนดที่อยู่และการกำหนดค่าแบบไดนามิกสำหรับชุดย่อยของโฮสต์บนเครือข่ายที่ระบุโดยที่อยู่ Mac ที่ระบุหรือไม่

ฉันทำงานช้าในการตั้งค่า IPv6 เราเตอร์ทั้งหมดของฉันมีที่อยู่และเส้นทางแบบคงที่และเซิร์ฟเวอร์ที่สำคัญเพียงไม่กี่แห่งจะได้รับการแก้ไข ตอนนี้ฉันต้องการเริ่มทดสอบลูกค้าบางคน แต่ฉันไม่ต้องการเปิดใช้งานสำหรับเครือข่ายทั้งหมดในครั้งเดียว ฉันต้องการที่จะสามารถเปิดใช้งานได้เพียงไม่กี่โฮสต์

ในโลก IPv4 ฉันจะติดตั้งเซิร์ฟเวอร์ DHCP ที่มีที่อยู่ 0 ฟรีในขอบเขตและเพียงแค่ตั้งค่าการจอง ในโลก IPv6 สิ่งนี้ไม่ได้เป็นตัวเลือกเนื่องจากฉันไม่สามารถตั้งค่าเกตเวย์เริ่มต้นผ่าน DHCPv6 ซึ่งดูเหมือนจะเรียนรู้ได้จากโฆษณาของเราเตอร์เท่านั้น

สิ่งนี้เข้าหาได้อย่างไร? เป็นไปไม่ได้เลยที่จะเลือกเปิดใช้งาน IPv6 ในเครือข่ายหรือไม่

เราเตอร์ของฉันใช้ Linux และเซิร์ฟเวอร์ DHCPv6 จะทำงานบน Linux หากเป็นเรื่องสำคัญและฉันต้องการเปิดใช้งานไคลเอนต์ทุกประเภท (Windows / Linux / OSX)


ทำไมคุณไม่สามารถทำการจอง DHCPv6 ได้? แม้แต่เราเตอร์ที่บ้านของฉันก็สามารถทำได้
Michael Hampton

@MichaelHampton, ใช่ DHCPv6 ควรจะสามารถส่งที่อยู่ไปยังไคลเอนต์ แต่ฉันจะให้ลูกค้ามีเส้นทางเริ่มต้นได้อย่างไร
Zoredache

บนเซิร์ฟเวอร์ DHCP คุณสามารถสร้าง iptables-rules ซึ่งบล็อก DHCPv6 จากที่อยู่ MAC บางแห่งและอนุญาตจากที่คุณต้องการเปิดใช้งาน IPv6
Atle

@Zoredache: เส้นทางเริ่มต้นจะถูกสื่อสารโดยข้อความเราเตอร์โฆษณา (RA) เสมอ DHCPv6 ไม่แลกเปลี่ยนข้อมูลเส้นทาง
Sander Steffann

คำตอบ:


7

ฉันไม่เห็นว่าทำไมคุณไม่สามารถทำเช่นนั้นกับ IPv6 ได้อย่างมีนัยสำคัญเช่นเดียวกับ IPv4 (แม้ว่าฉันจะแนะนำให้ปรับใช้โดยเครือข่ายย่อยมากกว่าโดยโฮสต์เดียวมันจะช่วยคุณประหยัดเวลาและปวดหัวในภายหลัง)

นี่คือวิธีที่ IPv6 ทำงานที่นี่ (ลดความซับซ้อนอย่างมากดูRFC 4861สำหรับรายละเอียดเต็มไปด้วยเลือด):

เราเตอร์เริ่มต้นส่งโฆษณาเราเตอร์เป็นระยะหรือเมื่อได้รับการร้องขอจากเราเตอร์จากโฮสต์ใหม่ RA มีที่อยู่ของเราเตอร์แน่นอนและธงต่าง ๆ ที่น่าสนใจสำหรับเราที่นี่คือธง M (มีการจัดการ) และธง O (อื่น ๆ ) การตั้งค่าสถานะเหล่านี้ระบุว่าโฮสต์ควรได้รับส่วนที่เหลือของข้อมูลการกำหนดค่าจากเซิร์ฟเวอร์ DHCPv6:

  • เมื่อมีการตั้งค่าสถานะ M ข้อมูลการกำหนดค่าทั้งหมด (ยกเว้นที่อยู่เราเตอร์) นั้นให้บริการโดย DHCPv6
  • เมื่อตั้งค่าสถานะ O โฮสต์จะกำหนดค่าที่อยู่ IPv6 ของตัวเองด้วย SLAAC ข้อมูลการกำหนดค่าอื่น ๆ ทั้งหมด (ยกเว้นที่อยู่เราเตอร์) จัดทำโดย DHCPv6

ณ จุดนี้มันเป็นเรื่องของการใช้งานเช่นfixed-address6ในdhcpd.confการกำหนดค่าของคุณเพื่อกำหนดการจอง การตั้งค่า DHCPv6 ของคุณจะคล้ายกับการตั้งค่า DHCP สำหรับ IPv4 เป็นอย่างมาก

ฉันยังข้ามกรณีที่ subnet อาจมีเราเตอร์สองคนขึ้นไปที่จัดการเส้นทาง "เริ่มต้น"; ในกรณีนี้ดูที่การตั้งค่าเราเตอร์ IPv6 สำหรับการกำหนดค่าด้านนี้


ตกลงฟังดูถูกต้อง ความท้าทายคือตอนนี้ฉันกำลังทดลองใช้ DnsMasq สำหรับโฆษณาเส้นทาง ซึ่งดูเหมือนว่าจะขาดคุณสมบัติที่จำเป็นในการเปิดใช้งานนี้ ฉันเดาว่าฉันจะต้องเปลี่ยนไปใช้ Radvd
Zoredache

1
@Zoredache dnsmasq ค่อนข้างน้อยในแง่นี้และฉันไม่คิดว่ามันมีคุณสมบัติที่จำเป็นทั้งหมด ฉันใช้ Radvd ด้วยตัวเอง ถ้าคุณต้องการบางสิ่งบางอย่างที่เรียบง่ายเช่นสำหรับระบบฝังตัวพิจารณา6relayd นี่คือการโฆษณาเราเตอร์แบบรวม / เซิร์ฟเวอร์ DHCPv6 และรีเลย์ซึ่งเดิมเขียนขึ้นสำหรับ OpenWrt
Michael Hampton

1

คุณสามารถตั้งค่าเซิร์ฟเวอร์ DHCPv6 (เช่น WIDE หรือ ISC) สำหรับการกำหนดค่า stateful หรือ radvd สำหรับการกำหนดค่าอัตโนมัติแบบไร้รัฐ IPv6 ระบุช่วง FC00 :: / 7 สำหรับที่อยู่ในพื้นที่ที่ไม่ซ้ำกัน (คล้ายกับช่วงที่อยู่ส่วนตัวใน IPv4)


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