Làm thế nào tôi có thể di chuyển một giao diện ra khỏi một không gian tên mạng?


10

Nếu tôi tạm thời chuyển một giao diện vào mạng

ip link set eth10 netns myns

sau đó nó không còn hiển thị trong thư mục gốc, chỉ trong không gian tên myns.

Làm thế nào để tôi di chuyển nó trở lại, một cái gì đó như (những thứ này rõ ràng không tồn tại):

ip link unset eth10

hoặc có lẽ

ip link set eth10 netns root

hoặc tương tự?

Câu trả lời:


13

Tôi tìm thấy một câu trả lời. Chắc chắn, bạn không thể làm điều đó từ trong mạng. Nhưng, nếu bạn thực thi ip netns exec ....từ trong không gian tên mạng gốc, tất cả đều hoạt động.

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

Sau đó, nó hoạt động! Nó đưa PID (1 trong trường hợp này) mà chúng ta đang gán nó trong bối cảnh của lệnh thực thi (trình bao bọc) trước khi chúng ta vào mạng. Làm xong!


Hãy hy vọng rằng "1" thực sự đang tham chiếu không gian tên mạng "gốc" ...
TheDiveO

di chuyển eth10 trở lại không gian tên mạng mặc định: ip netns exec myns ip link set eth10 netns default
Ted Feng

Trên hệ thống Debian 10 của tôi, "mặc định" dường như thực sự là 1. ip netns exec testns ip link set tun0 netns 1đã hoạt động, trong khi "mặc định" dẫn đến Error: argument "default" is wrong: Invalid "netns" value.
Paul

Rối rắm hơn nữa cho thấy đây là những id. Nếu bạn đã tạo thêm một không gian tên sẽ có id 2.
Paul

5

Bạn có thể sử dụng ip netns deletechức năng. Từ trang người đàn ông:

ip [-all] netns xóa [NAME] - xóa tên của một không gian tên mạng

Nếu NAME có mặt trong / var / run / netns thì nó bị xóa và điểm gắn kết bị xóa. Nếu đây là người dùng cuối cùng của không gian tên mạng, không gian tên mạng sẽ được giải phóng và tất cả các thiết bị vật lý sẽ được chuyển sang mặc định , nếu không, không gian tên mạng vẫn tồn tại cho đến khi không còn người dùng. ip netns xóa có thể thất bại nếu điểm gắn kết được sử dụng trong không gian tên mount khác.

Nó không thể được sử dụng cho tất cả các mục đích, nhưng nó chắc chắn là con đường dễ nhất.


4

Điều làm việc cho tôi dựa trên câu trả lời của deitch là thực thi lệnh từ các mạng tùy chỉnh:

ip netns exec myns ip link set eth10 netns 1

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.