Debian

Einrichtung der Debian-Netzwerkschnittstelle

Einrichtung der Debian-Netzwerkschnittstelle
Das Wissen über die Einrichtung einer Netzwerkschnittstelle in Debian GNU/Linux und Debian-verwandten Distributionen ist für jeden Linux-Ingenieur unerlässlich. In diesem Artikel erklären wir Ihnen, wo Sie die entsprechenden Informationen finden und wie Sie diese für IPv4 IPv4 [2] und IPv6 [3] einrichten. Die Anzahl der Optionen ist ziemlich lang, bietet Ihnen aber viel Flexibilität für Ihre spezielle Situation.

Einrichtung des Debian-Netzwerks

Die gesamte Konfiguration für die Netzwerkschnittstellen wird in Klartextdateien in einem einzigen Verzeichnis namens /etc/network . gespeichert. Dieses Verzeichnis enthält eine Reihe von Dateien und Unterverzeichnissen, um sowohl die Einrichtung für IPv4 als auch für IPv6 abzudecken.

Die spezifische Konfiguration erfolgt pro Netzwerkschnittstelle. Sie können alles in einer einzigen Datei namens Interfaces speichern oder als separate Dateien in den Verzeichnissen Interfaces.d. Eine typische IPv4-Konfiguration von einem tragbaren Gerät ist unten gezeigt. Es besteht aus einer Loopback-Schnittstelle (/dev/lo), eine Ethernet-Schnittstelle (/dev/eth0), und eine drahtlose Schnittstelle (/dev/wlan0). Zeile 1 bezieht sich auf alle Skripte, die im Verzeichnis gespeichert sind /etc/network/interfaces.d/. Die Zeilen 3 bis 5 konfigurieren /dev/lo, Zeilen 7 bis 9 /dev/eth0 und Zeile 11 die Schnittstelle /dev/wlan0. Eine detaillierte Erklärung für die einzelnen Befehle finden Sie weiter unten.

1 Quelle /etc/network/interfaces.t/*
2
3 # Die Loopback-Netzwerkschnittstelle
4 Auto-Lo
5 iface lo inet loopback
6
7 # Die primäre Netzwerkschnittstelle
8 erlauben-hotplug eth0
9 iface eth0 inet dhcp
10
11 iface wlan0 inet dhcp

Für andere Debian GNU/Linux-Releases oder darauf basierende Distributionen kann die Datei „Interfaces“ ähnlich aussehen, aber mit anderen Namen für die Netzwerkgeräte. Ab Debian 9 „Stretch“ die alten Netzwerknamen wie /dev/eth0, /dev/eth1 und /dev/wlan0 sind weg, da sich der Gerätename ändern kann. Die neuen Namen ähneln diesen - /dev/enp6s0, /dev/enp8s0, /dev/enp0s31f6, und /dev/enp5s0 [1]. Die verfügbaren Netzwerkschnittstellen finden Sie in der Datei „/sys/class/net“ – in unserem Fall sind die Schnittstellen benannt /dev/lo und /dev/enp0s3.

Die Liste der verfügbaren Netzwerkschnittstellen:


Die Konfiguration für diese Schnittstellen sieht wie folgt aus. Das Bild unten stammt von einem Debian GNU/Linux 9.5.'

Die grundlegende Netzwerkkonfiguration auf einem Debian GNU/Linux 9.5:


Als nächsten Schritt schauen wir uns die einzelnen Anweisungen an, um eine gewünschte Schnittstelle zu konfigurieren.

Debian-Netzwerkkonfiguration im Detail

Automatische Freischaltung einer Schnittstelle beim Start

Beim Start Ihres Systems durchlaufen die Setup-Skripte die Konfigurationsdateien für die Netzwerkschnittstellen. Um eine Schnittstelle automatisch zu aktivieren, fügen Sie das Schlüsselwort „auto“ (kurz für „allow-auto“) gefolgt vom logischen Namen der Schnittstelle(n) hinzu. Die Setup-Skripte rufen den Befehl „ifup -a“ (kurz für „-all“) auf, der die genannten Schnittstellen aktiviert. Die folgende Zeile ruft nur die Loopback-Schnittstelle /dev/lo auf:

Auto-Lo

Die Netzwerkschnittstellen werden in der Reihenfolge aufgerufen, in der sie aufgelistet sind. Die folgende Zeile bringt /dev/lo gefolgt von /dev/wlan0 und /dev/eth0, schließlich.

auto lo wlan0 eth0

Aktivieren Sie eine Schnittstelle, wenn das Netzwerkkabel eingesteckt ist

Das Schlüsselwort „allow-hotplug“ führt zu einem Ereignis basierend auf einer physikalischen Verbindung. Die genannte Netzwerkschnittstelle wird aktiviert, sobald das Netzwerkkabel eingesteckt wird, und deaktiviert, sobald das Netzwerkkabel abgezogen wird. Die nächste Zeile demonstriert dies für die Ethernet-Schnittstelle /dev/eth0 (ähnlich Zeile 8 von Listing 1).

erlauben-hotplug eth0

Statische Schnittstellenkonfiguration

Um mit anderen Computern in einem Netzwerk kommunizieren zu können, wird einer Schnittstelle eine IP-Adresse zugewiesen. Diese Adresse wird entweder dynamisch (über DHCP) bezogen oder fest eingestellt (statische Konfiguration). Daher beginnt die Deklaration der Schnittstelle mit dem Schlüsselwort „iface“, gefolgt vom logischen Namen der Netzwerkschnittstelle, dem Verbindungstyp und der Methode, mit der die IP-Adresse bezogen wird. Das nächste Beispiel zeigt dies für die Netzwerkschnittstelle /dev/eth0 mit der statischen IPv4-Adresse 192.168.1.5.

iface eth0 inet statisch
Adresse 192.168.1.5
Netzmaske 255.255.255.0
Gateway 192.168.1.1

Nach der Schnittstellendeklaration werden Sie aufgefordert, eine Reihe von Optionen anzugeben (Optionsname in Klammern). Dazu gehören Werte wie die IP-Adresse (Adresse), die Netzmaske (Netzmaske), der Broadcast-Bereich (Broadcast), die Routing-Metrik für das Standard-Gateway (Metrik), das Standard-Gateway (Gateway), die Adresse des anderen Endpunkts (pointtopoint), die Link-Local-Adresse (hwaddress), die Paketgröße (mtu) sowie den Gültigkeitsbereich der Adresse (scope). Das nächste Beispiel zeigt die Konfiguration für IPv6 für die Netzwerkschnittstelle /dev/enp0s3 [4].

iface enp0s3 inet6 statisch
Adresse fd4e:a32c:3873:9e59:0004::254
Netzmaske 80
Gateway fd4e:a32c:3873:9e59:0004::1

Dynamische Schnittstellenkonfiguration über DHCP

Die Verbindung mit verschiedenen Netzwerken erfordert Flexibilität. Das Dynamic Host Control Protocol (DHCP) [5] macht diese Flexibilität möglich und die Netzwerkskripte weisen der vom DHCP-Server übergebenen Netzwerkschnittstelle die IP-Adresse zu. Die folgende Zeile demonstriert dies für die Wlan-Schnittstelle namens /dev/wlan0:

iface wlan0 inet dhcp
#Für IPv6 verwenden Sie stattdessen diese Zeile:
iface wlan0 inet6 dhcp

Ähnlich wie bei der statischen Konfiguration von oben können eine Reihe von Optionen eingestellt werden. Diese Optionen hängen von Ihrem DHCP-Setup ab. Die Liste enthält unter anderem den abzufragenden Hostnamen (hostname), die Metrik für hinzugefügte Routen (metric), die bevorzugte Lease-Time in Stunden oder Sekunden (leasehours, leasetime), die Client-ID (client) oder die Hardware-Adresse (hwaddress ).

Andere Optionen

Die Konfigurationsdatei /etc/interfaces erlaubt auch Setups für das Bootstrap Protocol (BOOTP) [6] (bootp), PPP (ppp) sowie IPX [7].

Anzeigen der Schnittstellenkonfiguration

Bis zur Version 8 von Debian GNU/Linux verwenden Sie den Befehl „/sbin/ifconfig“, um die Schnittstellenkonfiguration anzuzeigen. Siehe die Konfiguration für die erste Ethernet-Schnittstelle unten.

Schnittstellenkonfiguration mit ifconfig:

Ab Release 9 ist der Befehl „ifconfig“ nicht mehr vorinstalliert und durch seinen Vorgänger „ip“ ersetzt. Verwenden Sie stattdessen den Befehl „ip addr show“.

Schnittstellenkonfiguration über IP:

Aktivieren und Deaktivieren einer Schnittstelle

Wie bereits oben beschrieben aktiviert die Option „auto“ eine Schnittstelle beim Start automatisch. Es gibt zwei Befehle, um eine Schnittstelle manuell zu aktivieren und zu deaktivieren. Bis Debian 8 verwenden Sie „ifconfig eth0 up“ oder „ifup eth0“, um die Schnittstelle zu aktivieren. Ab Debian 9 nur „ifup eth0“ verwenden. Die Gegenstücke sind „ifconfig eth0 down“ und „ifdown eth0“. Das Bild unten zeigt die Standardausgabe beim Aktivieren einer Schnittstelle.

Schnittstellenaktivierung mit ifup:

Weitere Optionen hinzufügen

Es ist möglich, weitere Aktionen hinzuzufügen, falls eine Schnittstelle aktiviert oder deaktiviert ist. Diese Skripte werden als if-pre-up- und if-post-down-Skripte bezeichnet und kommen vor dem Aktivieren und nach dem Deaktivieren einer Schnittstelle ins Spiel.

Das nächste Beispiel demonstriert dies in Kombination mit einer Firewall, die aktiv ist, falls die Schnittstelle auch aktiv ist. In Zeile 3 das Skript /usr/local/sbin/firewall-enable.sh wird aufgerufen bevor das Interface aktiviert wird (daher das Tag „pre-up“, und in Zeile 4 das Skript „/usr/local/sbin/firewall-disable.sh“ wird aufgerufen, nachdem die Schnittstelle deaktiviert wurde.

1 erlauben-hotplug eth0
2 iface         eth0 inet dhcp
3               Vorbereitung    /usr/local/sbin/firewall-enable.Sch
4               post-down /usr/local/sbin/firewall-disable.Sch

Fazit

Die Grundkonfiguration von Netzwerkschnittstellen in Debian GNU/Linux ist vergleichbar einfach - ein paar Zeilen Code, und fertig. Weitere Informationen zu zusätzlichen Optionen finden Sie in den unten angegebenen Ressourcen.

Links und Referenzen

[1] Debian-Wiki, Netzwerkkonfiguration
[2] IPv4, Wikipedia
[3] IPv6, Wikipedia
[4] Statische Debian-IP IPv4 und IPv6
[5] Dynamic Host Control Protocol (DHCP), Wikipedia
[6] Bootstrap-Protokoll (BOOTP), Wikipedia
[7] Internetwork Packet Exchange (IPX), Wikipedia

Vielen Dank

Der Autor dankt Axel Beckert für seine Hilfe und seine kritischen Anmerkungen bei der Erstellung dieses Artikels.

So installieren Sie League of Legends auf Ubuntu 14.04
Wenn Sie ein Fan von League of Legends sind, dann ist dies eine Gelegenheit für Sie, League of Legends zu testen. Beachten Sie, dass LOL von PlayOnLin...
Installieren Sie das neueste OpenRA-Strategiespiel auf Ubuntu Linux
OpenRA ist eine Libre/Free Real Time Strategy Game Engine, die die frühen Westwood-Spiele wie den Klassiker Command & Conquer: Red Alert Red nachbilde...
Installieren Sie den neuesten Dolphin Emulator für Gamecube & Wii unter Linux
Mit dem Dolphin Emulator können Sie Ihre ausgewählten Gamecube- und Wii-Spiele auf Linux-Personalcomputern (PC) spielen. Als frei verfügbarer Open-So...