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.
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