Erstellen eines neuen Netzwerk-Namespace unter Linux

Erstellen eines neuen Netzwerk-Namespace unter Linux

Ich möchte unter Linux einen neuen Netzwerk-Namespace erstellen.

http://www.spinics.net/lists/linux-containers/msg10895.htmlsagt mir, dass ich eine Shell an einen vorhandenen Namespace mit der ID X anhängen kann, indem ich Folgendes ausführe:

$ chnetns X /bin/sh

Dies funktioniert einwandfrei, wenn der Namespace bereits vorhanden ist. Wenn ich es jedoch mit einem nicht vorhandenen Namespace versuche, erhalte ich Folgendes:

$ chnetns 100 /bin/sh
setsocketopt: Invalid argument

Wie kann ich den Namespace erstellen? Ich verwende Red Hat Linux, V6.1.

Antwort1

Die Antwort ist „ip netns add vnet1“.

ip netns list
ip netns add vnet1

Siehe auchEinführung in virtuelle Linux-Netzwerke:blog.scottlowe.org: Einführung in Linux-Netzwerk-Namespaces,opencloudblog.com: Linux-Netzwerk-Namespaces glänzender und schönerUndopencloudblog.com: Linux-Netzwerk-Namespaces glänzend und noch detaillierter mit schönen Diagrammen

Links zu weiteren Referenzen, die anderen beim Einstieg in virtuelle Netzwerk-Namespaces helfen. Siehe auchLWN-Artikel zu Netzwerk-Namespaces,Beispiel für Open Stack Networking,iproute2,Linux VRF PatchsetVirtuelles Routing und Forwarding für Linux undOpenStack-Netzwerkkonzepte.

man ip netns

NAME
   ip-netns - process network namespace management

SYNOPSIS
   ip [ OPTIONS ] netns  { COMMAND | help }

   ip netns { list }

   ip netns { add | delete } NETNSNAME

   ip netns identify PID

   ip netns pids NETNSNAME

   ip netns exec NETNSNAME command ...

   ip netns monitor

verwandte Informationen