Score:0

การผูกกับ IP แบบสุ่มจากซับเน็ต IPv6 (/64) ไม่ทำงาน

ธง cn

ฉันได้รับเซิร์ฟเวอร์ scaleway.com (DEV1-S) ซึ่งมีซับเน็ต /64 IPv6 ให้ฉัน ฉันต้องการใช้ IP จากเครือข่ายย่อยนี้เพื่อสร้างคำขอ HTTP (จะใช้ wget ในตัวอย่าง) แต่ไม่สามารถใช้งานได้ คำขอ (ด้วย wget แต่รวมถึงโปรแกรมและภาษาการเขียนโปรแกรมอื่นด้วย) จะหยุดทำงาน

ที่อยู่ IPv6 คือ 2001:bc8:1830:1b18::1 เกตเวย์คือ 2001:bc8:1830:1b18:: และเน็ตมาสก์คือ 64

วิ่ง ip -6 แอดเดรสบนเซิร์ฟเวอร์ที่สะอาด / เพิ่งสร้าง จะแสดงผลลัพธ์ต่อไปนี้:

root@test:~# ip -6 addr
1: แท้จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 สถานะ UNKNOWN qlen 1,000
    inet6 ::1/128 ขอบเขตโฮสต์ 
       valid_lft ตลอดไป reserved_lft ตลอดไป
2: ens2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 สถานะ UP qlen 1000
    inet6 2001:bc8:1830:1b18::1/64 ขอบเขตทั่วโลก 
       valid_lft ตลอดไป reserved_lft ตลอดไป
    ลิงค์ขอบเขต inet6 fe80::dc2e:4cff:fe57:a019/64 
       valid_lft ตลอดไป reserved_lft ตลอดไป

ฉันอ่านฟอรัมและคำถาม/คำตอบอื่น ๆ ว่าเพื่อให้คุณสามารถผูกที่อยู่จากซับเน็ตได้ คุณต้องเรียกใช้คำสั่งต่อไปนี้:

ip เพิ่ม เพิ่มในเครื่อง 2001:bc8:1830:1b18::/64 dev จริง
เส้นทาง ip เพิ่มในเครื่อง 2001:bc8:1830:1b18::/64 dev ens2
sysctl -w net.ipv6.ip_nonlocal_bind=1

หลังจากคำสั่งเหล่านี้ ผลลัพธ์ของ ip -6 แอดเดรส มีดังต่อไปนี้:

root@test:~# ip -6 addr
1: แท้จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 สถานะ UNKNOWN qlen 1,000
    inet6 2001:bc8:1830:1b18::/64 ขอบเขตทั่วโลก 
       valid_lft ตลอดไป reserved_lft ตลอดไป
    inet6 ::1/128 ขอบเขตโฮสต์ 
       valid_lft ตลอดไป reserved_lft ตลอดไป
2: ens2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 สถานะ UP qlen 1000
    inet6 2001:bc8:1830:1b18::1/64 ขอบเขตทั่วโลก 
       valid_lft ตลอดไป reserved_lft ตลอดไป
    ลิงค์ขอบเขต inet6 fe80::dc2e:4cff:fe57:a019/64 
       valid_lft ตลอดไป reserved_lft ตลอดไป

ตอนนี้ฉันสามารถ ping6 เช่น 2544:bc8:1830:1b18::9 แทนเท่านั้น 2544:bc8:1830:1b18::1แต่จากเซิร์ฟเวอร์ของฉันเองเท่านั้น ไม่ได้มาจากเซิร์ฟเวอร์/เครือข่ายอื่น

ปราศจาก sysctl -w net.ipv6.ip_nonlocal_bind=1, wget จะส่งคืนสิ่งนี้:

root@test:~# wget --bind-address=2001:bc8:1830:1b18::2 -v google.com
--2021-08-13 00:29:45-- http://google.com/
กำลังแก้ไข google.com (google.com)... 2a00:1450:400e:802::200e, 142.250.179.174
การเชื่อมต่อกับ google.com (google.com)|2a00:1450:400e:802::200e|:80... ล้มเหลว: ไม่สามารถกำหนดที่อยู่ที่ร้องขอได้
การเชื่อมต่อกับ google.com (google.com)|142.250.179.174|:80... ล้มเหลว: โปรโตคอลไม่รองรับตระกูลที่อยู่

หลังจาก 3 คำสั่งเมื่อฉันรัน wget โดยตั้งค่าสถานะ --bind-address เป็นที่อยู่ใน subnet อื่นที่ไม่ใช่ 2544:bc8:1830:1b18::1คำขอจะหยุดทำงานตลอดไป:

root@test:~# wget --bind-address=2001:bc8:1830:1b18::1 google.com
--2021-08-12 23:55:48-- http://google.com/
กำลังแก้ไข google.com (google.com)... 2a00:1450:400e:802::200e, 142.250.179.174
กำลังเชื่อมต่อกับ google.com (google.com)|2a00:1450:400e:802::200e|:80... เชื่อมต่อแล้ว
ส่งคำขอ HTTP แล้ว กำลังรอการตอบกลับ... 301 ย้ายอย่างถาวร
ที่ตั้ง: http://www.google.com/ [กำลังติดตาม]
--2021-08-12 23:55:48-- http://www.google.com/
กำลังแก้ไข www.google.com (www.google.com)... 2a00:1450:400e:80f::2004, 142.251.36.4
กำลังเชื่อมต่อกับ www.google.com (www.google.com)|2a00:1450:400e:80f::2004|:80... เชื่อมต่อแล้ว
ส่งคำขอ HTTP แล้ว กำลังรอการตอบกลับ... 200 ตกลง
ความยาว: ไม่ระบุ [ข้อความ/html]
กำลังบันทึกไปที่: âindex.htmlâ

index.html [ <=> ] 13.03K --.-KB/s ใน 0.009 วินาที  

2021-08-12 23:55:48 (1.44 MB/s) - บันทึก âindex.htmlâ [13342]

root@test:~# wget --bind-address=2001:bc8:1830:1b18::2 google.com
--2021-08-12 23:55:52-- http://google.com/
กำลังแก้ไข google.com (google.com)... 2a00:1450:400e:802::200e, 142.250.179.174
กำลังเชื่อมต่อกับ google.com (google.com)|2a00:1450:400e:802::200e|:80... 

ลซ สำหรับกระบวนการ wget พูดว่า: wget 3413 รูท 3u IPv6 58660 0t0 TCP [2001:bc8:1830:1b18::2]:56623->ams15s41-in-x0e.1e100.net:http (SYN_SENT)

ผมทำอะไรผิดหรือเปล่า? ขอบคุณมากในล่วงหน้า!

Michael Hampton avatar
cz flag
กระบวนการนี้อนุญาตให้ยอมรับการเชื่อมต่อขาเข้าบนเครือข่ายที่ระบุเท่านั้น ไม่รองรับการเชื่อมต่อขาออก เพิ่มที่อยู่ IPv6 ดังกล่าวลงในอินเทอร์เฟซเครือข่ายโดยตรง
003random avatar
cn flag
@MichaelHampton ขอบคุณสำหรับการตอบกลับของคุณ ฉันสามารถยืนยันได้ว่ามันใช้งานได้เมื่อฉันเพิ่ม IP ที่ฉันต้องการใช้โดยตรงกับอินเทอร์เฟซ แต่นี่จะไม่ปรับขนาดใช่ไหม มีที่อยู่จำนวนมากในเครือข่ายย่อย และฉันพนันได้เลยว่าการเพิ่มทั้งหมดลงในอินเทอร์เฟซจะไม่เป็นไปด้วยดี ฉันอ่านบางอย่างเกี่ยวกับ freebind และ anyIP สิ่งเหล่านั้นใช้กับการเชื่อมต่อที่กำลังจะมาถึงเท่านั้นหรือไม่
Michael Hampton avatar
cz flag
ใช่ FreeBind และ AnyIP มีผลกับการเชื่อมต่อขาเข้า และใช่ การเพิ่มที่อยู่แต่ละรายการไปยังอินเทอร์เฟซทำได้ไม่ดีนัก การเพิ่มที่อยู่จำนวนมากสำหรับการเชื่อมต่อขาออกไม่ใช่สิ่งที่ปกติจะทำหรือแม้แต่คิด คุณ _really_ จำเป็นต้องทำเช่นนั้นหรือไม่? ฉันจะเดาว่าคุณทำไม่ได้

โพสต์คำตอบ

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