Как добавить имя в пространство имен?

Насколько я знаю, я могу использовать «клон» для создания процесса и пространства имен, но созданное таким образом пространство имен не имеет имени. Например, я создаю сетевое пространство имен с параметром: CLONE_NEWNS, но в команде «ip netns list» списка пространств имен нет, потому что созданное пространство имен не имеет имени. Но я могу использовать команду «ip netns add xxx», чтобы создать пространство имен с именем «xxx».

Интересно, как создать пространство имен с именем, используя системный вызов «клон».


person vinllen    schedule 09.05.2015    source источник


Ответы (1)


Создайте символическую ссылку с /var/run/netns/<name> на /proc/<pid>/ns/net, где <pid> — это PID процесса, созданного с помощью CLONE_NEWNS, а <name> — это имя, которое вы хотите использовать для ссылки на сетевое пространство имен.

Обратите внимание, что команда ip link set netns принимает либо PID, либо имя, а команда nsenter также может обращаться к пространствам имен по PID, поэтому на самом деле вам может не понадобиться назначать имя сетевому пространству имен.

person larsks    schedule 11.05.2015
comment
Уважаемые larsks, мне помогло, большое спасибо! - person vinllen; 12.05.2015