การเริ่มต้นกระบวนการภายในเนมสเปซเครือข่ายที่สามารถเห็นได้เฉพาะที่อยู่ IP ที่ต้องการเท่านั้นที่สามารถทำสิ่งที่คล้ายกันได้ ตัวอย่างเช่นฉันต้องการเพียง localhost พร้อมใช้งานกับโปรแกรมเฉพาะ
ก่อนอื่นฉันสร้างเนมสเปซเครือข่าย:
ip netns add limitednet
เนมสเปซมีอินเทอร์เฟซแบบวนรอบโดยค่าเริ่มต้นดังนั้นต่อไปฉันก็ต้องนำมาขึ้น:
sudo ip netns exec limitednet ip link set lo up
ตอนนี้ฉันสามารถเรียกใช้โปรแกรมโดยใช้ip netns exec limitednet
และจะสามารถเห็นอินเทอร์เฟซย้อนกลับเท่านั้น:
sudo ip netns exec limitednet ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
ถ้าฉันต้องการ จำกัด ที่อยู่อื่นที่ไม่ใช่ localhost ฉันสามารถเพิ่มอินเทอร์เฟซอื่น ๆ ลงในเนมสเปซโดยใช้:
ip link set DEVICE_NAME netns NAMESPACE
ฉันต้องทดลองอีกเล็กน้อยเพื่อหาวิธีเพิ่มที่อยู่ IP เดียวในเนมสเปซในกรณีที่อินเทอร์เฟซอาจมีที่อยู่ IP มากกว่าหนึ่งแห่ง
บทความ LWN ใน namespacesยังเป็นประโยชน์