Verwenden Sie den Linux -Netzwerk -Namespace

Verwenden Sie den Linux -Netzwerk -Namespace

Linux -Netzwerk -Namespaces sind eine Linux -Kernel -Funktion, mit der wir Netzwerkumgebungen durch Virtualisierung isolieren können. Beispielsweise können Sie mithilfe von Netzwerk -Namespaces separate Netzwerkoberflächen und Routing -Tabellen erstellen, die vom Rest des Systems isoliert sind und unabhängig arbeiten.

Um Namespaces leicht zu verstehen, ist es wert, Linux -Namespaces der Grundlage für Containertechnologien wie Docker oder Kubernetes zu verzeichnen.

Für den Moment enthält Linux 6 Arten von Namespaces: PID, NET, UTS, MNT, IPC und Benutzer. Dieses Tutorial konzentriert sich auf Linux -Netzwerk -Namespaces.

Wenn Sie LSNs befehlen, werden alle vorhandenen Namespaces in Ihrem System angezeigt, wie im Bild unten gezeigt.

lsns

Notiz: Der für dieses Tutorial verwendete Namespace heißt LinuxHint. Ersetzen Sie es durch Ihren Namespace -Namen.

Hinzufügen eines Linux -Netzwerk -Namespace:

Das Verwalten von Netzwerk -Namespaces erfolgt mit dem Befehl IP Netns, gefolgt von den richtigen Optionen.

Um einen Netzwerk -Namespace unter Linux zu erstellen, müssen Sie den IP -Befehl ausführen, gefolgt von der Option NetNS (Netzwerk -Namespace), der Option Hinzufügen und dem Namen neuer Namespace, wie im folgenden Screenshot gezeigt. Anschließend kann der Befehl IP Netns ausgeführt werden, um nur die vorhandenen Netzwerknamenspaces anzuzeigen. Denken Sie daran, LinuxHint durch den Namen Ihres Namespace zu ersetzen.

IP Netns Fügen Sie LinuxHint hinzu
IP Netns

Wie Sie sehen können, wurde ein neuer Namespace mit dem Namen LinuxHint erstellt.

Netzwerk -Namespaces verfügen über eigene Schnittstellen, Routing -Tabellen, Loopback -Schnittstellen, Iptables -Regeln usw. Sie müssen diese Ressourcen für Ihren Namespace erstellen.

Erstellen der Loopback -Schnittstelle für den Namespace:

Um Befehle in einem Netzwerk -Namespace auszuführen, ist die Syntax die folgende.

ip netns exec

Standardmäßig ist die Loopback -Schnittstelle heruntergekommen. Sie müssen den folgenden Befehl ausführen. Wie zuvor erläutert, führt der folgende Befehl den IP -Link aus, der Dev LO in dem ausgewählten Namespace festgelegt hat.

ip netns exec linuxHint ip link link set Dev lo up

Sie können überprüfen, ob Ihre Loopback -Schnittstelle ordnungsgemäß hinzugefügt wurde, indem der folgende Befehl ausgeführt wurde:

IP Netns Exec LinuxHint IP -Adresse

Sie können auch Ihre Namespace -Loopback -Schnittstelle pingen, um sie zu testen, wie unten gezeigt.

ip netns execin linuxHint ping 127.0.0.1

Hinzufügen von Netzwerkschnittstellen zu Ihrem Namespace:

Sie können eine Hardware -Netzwerkkarte mit Ihrem Namespace in Verbindung bringen oder virtuelle Netzwerkgeräte hinzufügen. Durch Hinzufügen von virtuellen Netzwerkschnittstellen können Sie die Konnektivität zwischen verschiedenen Namespaces ermöglichen. Virtuelle Netzwerkgeräte heißt Veth (Virtual Ethernet Device).

So erstellen.

IP-Link hinzufügen V-ENP2S0-Typ Veth Peer Name V-Eth0

Weisen Sie nun Ihrem Namespace das virtuelle Gerät zu, indem Sie den folgenden Befehl ausführen.

IP-Link Set v-Eth0 Netns LinuxHint

Weisen Sie dem neuen Netzwerkgerät wie unten gezeigt eine IP -Adresse zu.

ip -n linuxHint addr add 10 Fügen Sie 10 hinzu.0.1.0/24 Dev v-Eth0

Standardmäßig ist das Netzwerkgerät ausgefallen. Sie müssen es einrichten. Führen Sie den folgenden Befehl aus, um Ihr virtuelles Netzwerkgerät einzustellen.

IP -n LinuxHint -Link Set v -Eth0 Up

Wie Sie im Screenshot unten sehen können, wurde das virtuelle Gerät ordnungsgemäß hinzugefügt.

ip netns execin linuxHint sudo ifconfig

Das folgende Beispiel zeigt, wie Sie Ihrem Netzwerknamenspace eine physische Netzwerkkarte zuweisen. In diesem Fall ist die physische Netzwerkkarte die ENP2S0.

IP -Link Set Dev ENP2S0 Netns LinuxHint

Wie Sie durch Ausführen des folgenden Beispiels sehen können, wurde die Netzwerkkarte ordnungsgemäß hinzugefügt. Sie können eine IP -Adresse über die zuvor erläuterten Befehle zuweisen.

ip netns execin linuxHint sudo ifconfig

Wie bereits erläutert, verfügt jeder Namespace über eine eigene Routentabelle, IP und mehr, einschließlich seiner eigenen Firewall -Regeln. Das Hinzufügen von Firewall -Regeln zu Ihrem Namespace ist einfach. Führen Sie einfach die Befehle nach IP Netns Exec LinuxHint aus, wie unten gezeigt. Im folgenden Beispiel werden Iptables -Richtlinien aufgeführt, wenn vorhanden.

ip netns execin linuxHint sudo iptables -l

Das folgende Beispiel zeigt dasselbe, aber die Verwendung von UFW (unkomplizierte Firewall) anstelle von Iptables. In diesem Fall wird die Firewall als behindert gemeldet.

IP Netns execin linuxHint sudo ufw Status

Entfernen eines Linux -Netzwerk -Namespace:

Das Entfernen von Netzwerk -Namespaces ist ziemlich einfach, wie beim Hinzufügen.

Um einen Namespace zu entfernen, führen Sie den folgenden Befehl aus und ersetzen Sie LinuxHint durch Ihren Namespace.

IP Netns del LinuxHint

Wie Sie sehen können, wurde nach dem Ausführen von IP -Netns kein Netzwerk -Namespace angezeigt. Es wurde erfolgreich entfernt.

Abschluss:

Linux -Namespaces sind eine gewaltige Methode zum Isolieren von Prozessen, Dateisystemen, Netzwerken und mehr. Diese Funktionalität ermöglicht es uns, Instanzen unabhängig auszuführen. Dies ist für Sicherheitszwecke äußerst nützlich. Namespaces sind Container, deren Inhalt aus dem Rest des Systems vollständig isoliert ist, einschließlich anderer Namespaces. Auf diese Weise können wir verschiedene Dienste in verschiedenen Containern ausführen. Wenn ein Namespace bei einem Angriff gefährdet wird, bleibt der Rest des Systems sicher. Mithilfe von Linux -Namespaces können Sie mehreren Kunden ihre Umgebung anbieten. Diese Funktion eignet sich auch hervorragend für Testzwecke oder um Software, deren Herkunft verdächtigt ist. Im Falle einer böswilligen Code ist nur Ihr Namespace betroffen, sodass Ihr Gerät sicher ist.

Ich hoffe, dieses Tutorial über Linux -Namespaces war nützlich. Verfolgen Sie den Hinweis für weitere Linux -Tipps und Tutorials weiterhin Linux -Hinweis.