Bắt đầu quá trình bên trong một không gian tên mạng chỉ có thể thấy địa chỉ IP mong muốn có thể thực hiện một cái gì đó tương tự. Chẳng hạn, giả sử tôi chỉ muốn localhost có sẵn cho một chương trình cụ thể.
Đầu tiên, tôi tạo không gian tên mạng:
ip netns add limitednet
Không gian tên có giao diện loopback theo mặc định, vì vậy tiếp theo tôi chỉ cần đưa nó lên:
sudo ip netns exec limitednet ip link set lo up
Bây giờ, tôi có thể chạy một chương trình bằng cách sử dụng ip netns exec limitednet
và nó sẽ chỉ có thể thấy giao diện loopback:
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
Nếu tôi muốn giới hạn nó ở một địa chỉ khác ngoài localhost, tôi có thể thêm các giao diện khác vào không gian tên bằng cách sử dụng:
ip link set DEVICE_NAME netns NAMESPACE
Tôi phải thử nghiệm thêm một chút để tìm ra cách thêm một địa chỉ IP vào một không gian tên trong trường hợp giao diện có thể có nhiều hơn một địa chỉ IP
Các bài viết LWN trên không gian tên cũng rất hữu ích.