네트워크 네임 스페이스에서 인터페이스를 어떻게 이동시킬 수 있습니까?


10

인터페이스를 임시로 네스트 (netns)로 이동하면

ip link set eth10 netns myns

그러면 더 이상 루트에서 보이지 않고 네임 스페이스 myns 내에서만 볼 수 있습니다.

다음과 같은 방법으로 다시 옮기는 방법은 무엇입니까?

ip link unset eth10

또는 아마도

ip link set eth10 netns root

아니면 비슷한?

답변:


13

답을 찾았습니다. 물론 네티즌 안에서는 할 수 없습니다. 그러나 ip netns exec ....루트 네트워크 네임 스페이스 내에서 실행 하면 모두 작동합니다.

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

그런 다음 작동합니다! 우리가 netns에 들어가기 전에 실행 명령 (래퍼)의 컨텍스트에 있도록 PID를 지정합니다 (이 경우 1). 끝난!


"1"이 실제로 "루트"네트워크 네임 스페이스를 참조하기를 바랍니다.
TheDiveO

eth10을 기본 네트워크 네임 스페이스로 다시 이동 : ip netns exec myns ip link set eth10 netns 기본값
Ted Feng

내 데비안 10 시스템에서 "default"는 실제로 1로 보입니다 . ip netns exec testns ip link set tun0 netns 1'default'는 결과입니다 Error: argument "default" is wrong: Invalid "netns" value.
바울

더 혼란스러운 것은 이것이 ID라는 것을 보여줍니다. ID가 2 인 추가 네임 스페이스를 하나 만든 경우
Paul

5

ip netns delete기능을 사용할 수 있습니다 . 매뉴얼 페이지에서 :

ip [-all] netns delete [NAME]-네트워크 네임 스페이스의 이름을 삭제합니다.

NAME이 / var / run / netns에 있으면 마운트가 해제되고 마운트 지점이 제거됩니다. 네트워크 네임 스페이스의 마지막 사용자 인 경우 네트워크 네임 스페이스가 해제되고 모든 물리적 장치가 기본 장치로 이동하고 , 그렇지 않으면 네트워크 네임 스페이스는 더 이상 사용자가 없을 때까지 유지됩니다. 마운트 지점이 다른 마운트 네임 스페이스에서 사용중인 경우 ip netns 삭제가 실패 할 수 있습니다.

모든 용도로 사용할 수는 없지만 확실히 가장 쉬운 경로입니다.


4

deitch의 답변을 바탕으로 저에게 도움이 된 것은 사용자 정의 netn에서 명령을 실행하는 것입니다.

ip netns exec myns ip link set eth10 netns 1

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.