Memulai proses di dalam namespace jaringan yang hanya dapat melihat alamat IP yang diinginkan dapat mencapai hal serupa. Misalnya, saya hanya ingin localhost tersedia untuk program tertentu.
Pertama, saya membuat namespace jaringan:
ip netns add limitednet
Namespace memiliki antarmuka loopback secara default, jadi selanjutnya saya hanya perlu memunculkannya:
sudo ip netns exec limitednet ip link set lo up
Sekarang, saya bisa menjalankan program menggunakan ip netns exec limitednet
dan itu hanya akan dapat melihat antarmuka 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
Jika saya ingin membatasi ke alamat selain localhost, saya bisa menambahkan antarmuka lain ke namespace menggunakan:
ip link set DEVICE_NAME netns NAMESPACE
Saya harus bereksperimen sedikit lebih untuk mencari cara menambahkan alamat IP tunggal ke dalam namespace dalam kasus di mana antarmuka mungkin memiliki lebih dari satu alamat IP
The Artikel LWN di ruang nama juga membantu.