Score:1

คอนเทนเนอร์นักเทียบท่า/พอดแมนพร้อม IPv6 สาธารณะ

ธง br

ฉันมีเซิร์ฟเวอร์ที่มีที่อยู่ IPv4 และซับเน็ต IPv6 /64 (สมมติว่า 2544:db8::/64) ทั้งแบบสาธารณะ เซิร์ฟเวอร์มีที่อยู่ IPv6 ดังต่อไปนี้: 2544:db8::1/64. เกตเวย์คือ fe80::1 (ซึ่งทำให้เกิดปัญหากับ docker/podman เนื่องจากไม่ได้อยู่ใน subnet เดียวกัน)

เป้าหมายของฉันคือสร้างคอนเทนเนอร์ docker/podman (เช่น เซิร์ฟเวอร์ WWW) ด้วย IPv6 สาธารณะของตัวเอง (สมมติว่า 2544:db8::2/64). จากความเข้าใจของฉัน การตั้งค่าดังกล่าวต้องการเครือข่าย macvlan ดังนั้นการตั้งค่าจะมีลักษณะดังนี้:

ภาพที่ 1

ฉันจัดการเพื่อเติมเต็มการตั้งค่านี้บางส่วนโดยใช้เครือข่ายบริดจ์และคำสั่งต่อไปนี้:
เครือข่าย sudo podman สร้าง --subnet 2001:db8::/64 --ipv6 mynet
คอนเทนเนอร์ภายในเครือข่ายนี้สามารถเข้าถึงได้จากอินเทอร์เน็ตผ่าน IP ที่ถูกต้อง (2544:db8::2) แต่ IP สาธารณะ (สำหรับ http, ping เป็นต้น) นั้นผิด - มันคือ 2544:db8::1ซึ่งเป็นที่เข้าใจได้โดยสิ้นเชิงเมื่อใช้เครือข่ายบริดจ์

สิ่งต่าง ๆ ซับซ้อนขึ้นเมื่อฉันลองใช้ macvlan ปัญหาแรกคือเกตเวย์ที่ต้องตั้งค่าเป็น fe80::1. นักเทียบท่า ปฏิเสธที่จะสร้างเครือข่ายดังกล่าวโดยมีข้อผิดพลาด "ไม่มีซับเน็ตที่ตรงกันสำหรับเกตเวย์ fe80::1" พ็อดแมน สร้างเครือข่ายสำเร็จโดยใช้คำสั่งต่อไปนี้:
เครือข่าย sudo podman สร้าง -d macvlan --subnet 2001:db8::/64 --gateway fe80::1 --ipv6 -o parent=eth0 mynet
น่าเสียดายที่คอนเทนเนอร์ภายในเครือข่ายนี้ไม่มีการเชื่อมต่อในทุกทิศทาง แม้ว่าจะมีการระบุ IP และเกตเวย์ที่ถูกต้องก็ตาม

เซิร์ฟเวอร์กำลังทำงานบน Ubuntu โดยเปิดใช้งานการกำหนดเส้นทาง IP ในเคอร์เนล

ความคิดใด ๆ ว่าการตั้งค่านี้สามารถทำได้จะได้รับการชื่นชมอย่างมาก ขอบคุณ.

user1686 avatar
fr flag
[..ซึ่งทำให้เกิดปัญหากับนักเทียบท่า/พอดแมน เนื่องจากไม่ได้อยู่ในซับเน็ตเดียวกัน] â ไม่จำเป็นต้องอยู่ในซับเน็ต _same_ ตราบใดที่อยู่ในซับเน็ต _any_ ของคุณ (และทุกโฮสต์อยู่ใน fe80 ::/64 subnet) ดังนั้นนักเทียบท่า/พ็อดแมนจึงควรยอมรับ [..ซึ่งเข้าใจได้โดยสิ้นเชิงเมื่อใช้เครือข่ายบริดจ์] â นั่นฟังดู _ไม่เหมือนเครือข่ายบริดจ์เลย_ สำหรับฉัน ฉันไม่รู้ว่า "สะพาน" หมายถึงอะไรในโลกของนักเทียบท่า แต่นั่นไม่ใช่วิธีการทำงานของสะพานปกติ พวกเขาไม่ควร NAT แพ็กเก็ต IP
user1686 avatar
fr flag
อย่างไรก็ตาม: 1) ผู้ให้บริการเครือข่ายของคุณสามารถกำหนดคำนำหน้าที่กำหนดเส้นทางให้กับคุณได้หรือไม่ เช่น a /56 กำหนดเส้นทางไปยังโฮสต์ของคุณหรือไม่ 2) Docker&podman ต้องใช้ /64 หรือไม่ หรือคุณตั้งค่าเครือข่ายคอนเทนเนอร์ด้วยคำนำหน้ายาวกว่า (เช่น a /96) ได้หรือไม่ แทนที่จะใช้ macvlans Proxy-NDP ที่ใช้ ndpresponder สามารถทำงานได้โดยทั่วไป แต่ฉันไม่รู้ว่าจะเริ่มจากเครื่องมือคอนเทนเนอร์
Score:0
ธง br

แก้ไขแล้ว ดูเหมือนว่าขนาดคำนำหน้าเป็นกุญแจสำคัญ ฉันเคยใช้ /64 แต่เมื่อฉันเปลี่ยนเป็นอันที่ยาวขึ้นเช่น /112 ทุกอย่างก็เริ่มทำงาน นอกจากนี้ ฉันไม่จำเป็นต้องใช้ macvlan เพียงแค่บริดจ์ง่ายๆ

Ron Maupin avatar
us flag
การใช้ขนาดเครือข่ายอื่นที่ไม่ใช่ `/64` อาจทำให้เกิดปัญหากับ IPv6 ใช่ คุณควรบริดจ์เพราะอุปกรณ์ทั้งหมดอยู่ในเครือข่ายเดียวกัน

โพสต์คำตอบ

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