Numer ip netns
tworzy odniesienie do nazwanej (nazwanej) sieciowej przestrzeni nazw w /var/run/ns
, którą można łatwo śledzić. Również to samo można określić za pomocą /proc/[pid]/ns/net
. Jednak niektóre programy niestandardowe mogą utworzyć sieć i zapisać odpowiedni i-węzeł w innej niekonwencjonalnej lokalizacji. Może to utrudnić ustalenie, czy istnieją sieci, które moglibyśmy wymienić.Przestrzenie nazw systemu Linux: czy istnieje przestrzeń nazw sieci bez powiązania z procesem?
Po drugie, unshare <cmd>
niszczy sieć, gdy proces się zakończy, co jest w porządku. Jednak ip netns exec <netns> <cmd>
zachowa ns nawet po wyjściu polecenia/procesu. Sądzę więc, że każdy niestandardowy program mógłby zrobić to samo.
W związku z tym pytanie brzmi: Czy jest możliwe, że niestandardowy program tworzy nienazwaną sieć i pozostanie niezaangażowanyz jakimkolwiek procesem?
Co więcej, czy możliwe jest wylistowanie takich (ukrytych) net ns z przestrzeni użytkownika, ponieważ nie znamy ścieżek do i-węzłów? (Jądro ma oczywiście link do net ns) Pomocny będzie fragment kodu.
Doceniłbym więcej odpowiedzi. Ktoś? Dzięki! – user31986