There is a process running in its own network namespace. I would like to telnet to the machine and run a command in this process network namespace, something like that (17543 is the pid of the process with its own network namespace):
# ip netns exec /proc/17543/ns/net ifconfig
Cannot open network namespace "/proc/17543/ns/net": No such file or directory
# ls /proc/17543/ns/net
/proc/17543/ns/net
It complains that the network namespace is not there, but it looks that the file is there. How can I run a command in another process network namespace?
Best Answer
$ sudo nsenter -t 16882 -n ip link show
where ip link show is an example of a command to run in the network namespace of the target program with pid 16882.
-t flag is for specifying the target program's pid
-n flag stands for network namespace of the target program