Score:5

Linux แสดงเนมสเปซเครือข่ายทั้งหมด

ธง za

ฉันต้องการแสดงเนมสเปซเครือข่ายทั้งหมดบนเครื่อง Linux ของฉัน จนถึงตอนนี้ฉันพบสองวิธีที่แนะนำในการทำเช่นนี้:

รายการ ip netns

และ

lsns --type=net

น่าเสียดายที่คำสั่งทั้งสองไม่ได้ระบุเนมสเปซทั้งหมด! รายการแรกจะแสดงเฉพาะเนมสเปซที่พบใน /var/run/netns และรายการที่สองจะพบเฉพาะเนมสเปซที่มีอย่างน้อยหนึ่งกระบวนการที่ทำงานอยู่ในนั้น ตัวอย่างเช่น นักเทียบท่าจะบันทึกเนมสเปซใน /var/run/docker/netns (ดังนั้นจึงไม่แสดงโดย ip netns) และมีบางเนมสเปซที่ไม่มีกระบวนการทำงาน (ดังนั้นจึงไม่แสดงโดย lsns) มีคำสั่งใด ๆ ที่พิมพ์เนมสเปซเครือข่ายทั้งหมดบนโฮสต์หรือไม่

A.B avatar
cl flag
A.B
ที่เกี่ยวข้อง: https://unix.stackexchange.com/questions/505112/how-do-i-find-all-interfaces-that-have-been-configured-in-linux- included-those
Garuno avatar
za flag
ดังนั้นจึงไม่มีเครื่องมือในตัวสำหรับการทำเช่นนี้? ฉันต้องกำจัดระบบไฟล์ /proc เพื่อรับเนมสเปซทั้งหมดหรือไม่
Score:0
ธง mx

เพื่อรวมเนมสเปซเครือข่ายของการเรียกใช้คอนเทนเนอร์นักเทียบท่า รายการ ip netns คุณสามารถตั้งค่าลิงก์สัญลักษณ์ (aka softlink) ได้ดังนี้:

ln -Ts /var/run/docker/netns /var/run/netns

น่าเสียดายที่ไม่มีคำสั่งทั่วไปใน linux ที่จะแสดงรายการเนมสเปซเครือข่ายทั้งหมด คุณสามารถใช้สคริปต์หลามต่อไปนี้เพื่อแสดงเนมสเปซทั้งหมดที่เชื่อมโยงเป็นอย่างน้อย /var/run/netns: https://github.com/Intika-Linux-Namespace/Namespace-Lister

สำหรับแอปพลิเคชันที่ใช้เส้นทางอื่น คุณจะต้องแก้ไขสคริปต์นี้

Garuno avatar
za flag
วิธีนี้จะแก้ปัญหาสำหรับกรณี Docker เฉพาะเท่านั้น ฉันจะทราบได้อย่างไรว่ามีแอปพลิเคชันอื่นกำลังสร้างเนมสเปซในตำแหน่งอื่น
digijay avatar
mx flag
สวัสดี @Garuno ดูการแก้ไขของฉัน ดูเหมือนจะไม่มีวิธีแก้ปัญหาทั่วไปสำหรับสิ่งนี้ แต่อย่างน้อยสคริปต์ที่คุณสามารถปรับแต่งได้เพื่อตอบสนองความต้องการของคุณ หวังว่าจะช่วยได้!
Score:0
ธง cn

ไม่ใช่ชื่อ แต่คุณสามารถค้นหาเนมสเปซที่ใช้ทั้งหมดได้โดยดูที่ /proc/{PID}/ns/net

สคริปต์นี้ (เรียกใช้ในฐานะรูท) แสดงรายการ ID เนมสเปซเครือข่ายที่ใช้บนเครื่อง:

ค้นหา /proc/ -name ns 2>/dev/null |xargs -I NS ls -la NS/net 2> /dev/null| awk -F '->' '{พิมพ์ $2}'|sort -u
A.B avatar
cl flag
A.B
จะไม่พบเนมสเปซที่ติดตั้งเท่านั้น
George Shuklin avatar
cn flag
ใช่ เคล็ดลับนี้ใช้ได้กับเนมสเปซที่ใช้โดยกระบวนการเท่านั้น

โพสต์คำตอบ

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