Iproute2

如何將介面移出網路命名空間?

  • March 9, 2020

如果我將一個介面暫時移動到一個 netns 中

ip link set eth10 netns myns

然後它不再在根目錄中可見,僅在名稱空間 myns 中可見。

我如何將其移回,例如(這些顯然不存在):

ip link unset eth10

也許

ip link set eth10 netns root

或類似的?

我找到了答案。當然,你不能在 netns 中做到這一點。但是,如果您ip netns exec ....從根網路命名空間中執行,一切都會正常工作。

ip netns exec <PID> ip link set eth10 netns 1

然後它起作用了!在我們進入 netns. 完畢!

您可以使用該ip netns delete功能。從手冊頁:

ip

$$ -all $$網路刪除$$ NAME $$- 刪除網路命名空間的名稱 如果 NAME 存在於 /var/run/netns 中,它將被解除安裝並刪除安裝點。如果這是網路命名空間的最後一個使用者,則網路命名空間將被釋放,所有物理設備都將移至預設設備,否則網路命名空間將持續存在,直到沒有更多使用者為止。如果掛載點正在另一個掛載命名空間中使用,ip netns delete 可能會失敗。

它不能用於所有目的,但它絕對是最簡單的方法。

引用自:https://serverfault.com/questions/704700