Score:1

จะนำ DHCPv6-PD ไปใช้กับเราเตอร์ดาวน์สตรีมด้วย Linux ได้อย่างไร

ธง sa

ฉันกำลังพยายามกำหนดค่าเราเตอร์ / ไฟร์วอลล์ IPv6 ที่ใช้ DIY Linux เพื่อทำสิ่งต่อไปนี้:

  • รับคำนำหน้า /56 จาก ISP บนอินเทอร์เฟซ "wan0"
  • ระบุที่อยู่ /64 แก่โฮสต์บน "lan1"
  • จัดเตรียมซับเน็ต /60 ให้กับดาวน์สตรีมเราเตอร์บน "lan2"

ตัวเลือกซอฟต์แวร์เริ่มต้นของฉันในการทำสิ่งนี้คือ systemd-networkd ซึ่งสองรายการแรกนั้นง่าย แต่รายการที่สามไม่รองรับ (เห็นได้ชัดว่าโปรดแก้ไขฉันหากฉันผิด)

ฉันเปลี่ยนเป็นการรวมกันของ dhcpcd, ไอเอสซี ดีเอชซีพี และ วิทยุ (ผ่านแพ็คเกจที่มีให้ใน Arch Linux แต่ฉันคิดว่าไม่ควรมีความแตกต่างที่มีความหมายกับซอฟต์แวร์อัพสตรีม)

dhcpcd ได้รับการกำหนดค่าเพื่อรับ /56 และกำหนดที่อยู่:

โง่
หมั่น
ผู้ขายคลาสซิด
ตัวเลือก domain_name_servers, domain_name, domain_search
ตัวเลือก classless_static_routes
ตัวเลือก interface_mtu
ตัวเลือก host_name
ตัวเลือก Rapid_commit
ต้องการ dhcp_server_identifier
สลาคส่วนตัว
noipv4ll
รอทิพย์ 6
รอทิพย์ 4
อินเทอร์เฟซ wan0
    ipv6rs
    ia_na 1
    ia_pd 1/::/56 แลน1/0/64 แลน2/2/60
อินเตอร์เฟส lan1
    noipv6rs
    ip_address แบบคงที่ = 172.21.0.1
อินเตอร์เฟส lan2
    ip_address แบบคงที่ = 172.22.0.1

ส่งผลให้อินเทอร์เฟซได้รับที่อยู่ตามการกำหนดค่าของ ISP และดูเหมือนว่าจะถูกต้อง

DHCP ได้รับการกำหนดค่าให้โฆษณาเพิ่มเติมที่อยู่ดาวน์สตรีมและซับเน็ต:

เวลาเช่าเริ่มต้น 2592000;
อายุการใช้งานที่ต้องการ 604800;
ตัวเลือก dhcp-เวลาต่ออายุ 3600;
ตัวเลือก dhcp-rebinding-time 7200;
อนุญาตการเช่า;
dhcpv6-lease-file-name "/var/lib/dhcp/dhcpd6.leases";

subnet6 2XXX:YYYY:ZZZZ:dd00::/64 {
  range6 2XXX:YYYY:ZZZZ:dd00::2 2XXX:YYYY:ZZZZ:dd00:ffff:ffff:ffff:ffff;
}
subnet6 2XXX:YYYY:ZZZZ:dd20::/60 {
  คำนำหน้า6 2XXX:YYYY:ZZZZ:dd20:: 2XXX:YYYY:ZZZZ:dd20:: /60;
  range6 2XXX:YYYY:ZZZZ:dd20::2 2XXX:YYYY:ZZZZ:dd20::ffff;
}

ดูเหมือนว่าจะถูกต้องเช่นกัน เนื่องจากช่วงและซับเน็ตเหล่านั้นจะถูกใช้โดยโฮสต์ดาวน์สตรีมบน "lan1" และเราเตอร์ดาวน์สตรีมบน "lan2" ในที่สุด

ในขั้นต้น ข้อมูลข้างต้นได้รับการโฆษณาผ่านการกำหนดค่า radvd ต่อไปนี้:

อินเทอร์เฟซ lan1 {
    ปิด AdvManagedFlag;
    ปิด AdvOtherConfigFlag;
    AdvSendAdvert on;
    AdvDefaultPreference สูง;
    คำนำหน้า ::/64 {
        AdvOnLink บน;
        Adv อัตโนมัติบน;
    };
};

อินเตอร์เฟส lan2 {
    ปิด AdvManagedFlag;
    ปิด AdvOtherConfigFlag;
    AdvSendAdvert on;
    AdvDefaultPreference สูง;
    เส้นทาง ::/60 {
    };
};

จากนั้นฉันแทนที่บทอินเทอร์เฟซหลังด้วยวิธีที่ง่ายกว่า: อินเตอร์เฟส lan2 { }; ซึ่งฉันคิดว่าทำงานได้ดีกว่า (หรืออาจเหมือนกัน แต่ยังไงก็สั้นกว่ามาก)

ดูเหมือนว่าจะถูกต้องในแง่ที่ว่าโฮสต์และเราเตอร์จำเป็นต้องกำหนดค่าอินเทอร์เฟซจริง

อย่างไรก็ตามการกำหนดค่าทั้งหมดนี้ล้มเหลวในการทำสิ่งสำคัญอย่างหนึ่ง: เส้นทางไม่ได้รับการตั้งค่าอย่างถูกต้อง บนเราเตอร์ DIY นี้ เส้นทางมีลักษณะดังนี้:

$ ip -6 ร
:: 1 dev lo เคอร์เนลโปรโตเมตริก 256 pref สื่อ
2XXX:YYYY:ZZZZ:dd00::/64 dev lan1 proto dhcp metric 1003 pref สื่อ
2XXX:YYYY:ZZZZ:dd20::/60 dev lan2 proto dhcp metric 1004 pref สื่อ
ไม่สามารถเข้าถึงได้ 2XXX:YYYY:ZZZZ:dd00::/56 dev lo proto dhcp metric 1001 pref medium
fe80::/64 dev lan2 โปรโตเคอร์เนลเมตริก 256 pref สื่อ
fe80::/64 dev wan0 เคอร์เนลโปรโตเมตริก 256 pref สื่อ
fe80::/64 dev lan1 โปรโตเคอร์เนลเมตริก 256 pref สื่อ
ค่าเริ่มต้นผ่าน fe80::AAAA:BBBB:CCCC:DDDD dev wan0 proto ra metric 1002 mtu 1500 pref medium

ถ้าฉันเพิ่มด้วยตนเอง (ด้วยเมตริกที่เล็กกว่า) หรือแทนที่เส้นทางที่เกี่ยวข้องกับเครือข่ายย่อย /60 เช่น: ip -6 r แทนที่ 2XXX:YYYY:ZZZZ:dd20::/60 ผ่าน fe80::DOWN:STRE:AMRO:UTER dev lan2 และในทางกลับกันบนเราเตอร์แบบดาวน์สตรีมด้วยที่อยู่ท้องถิ่นของลิงก์ของเราเตอร์ DIY สิ่งต่างๆ จะเริ่มทำงาน

คำถามของฉัน:

  1. ฉันจะกำหนดค่าเราเตอร์ DIY ให้ทำขั้นตอนสุดท้ายโดยอัตโนมัติได้อย่างไร (ผมลองจิ้มค่าต่างๆที่ ยอมรับ_ra, ยอมรับ_ra_defrtr และ router_solicitations ใน sysctl ของ net.ipv6.conf ภายใต้ ทั้งหมด และส่วนต่อประสานแต่ละส่วน แต่ไม่เห็นความแตกต่างในลักษณะการทำงาน)
  2. ฉันสามารถใช้ซอฟต์แวร์อื่น (โอเพ่นซอร์ส) บน Linux เพื่อบรรลุสิ่งที่ฉันต้องการในรูปแบบที่มีความคล่องตัวมากขึ้นได้หรือไม่? ฉันหมายความว่าเมื่อ ISP ของฉันจัดสรรคำนำหน้า /56 อื่นให้ฉัน ฉันจะต้องเปลี่ยนไฟล์การกำหนดค่า DHCP เพื่อใช้สิ่งนั้นแทน ฉันสามารถ (และจะ) สร้างสคริปต์เพื่อแก้ไขปัญหานี้ หากไม่มีซอฟต์แวร์เพื่อรองรับกรณีการใช้งานของฉัน แต่การทำเช่นนั้นดูเหมือนจะค่อนข้างเปราะบาง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา