Einrichtung der Debian-Netzwerkschnittstelle

Debian Network Interface Setup



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 einrichten IPv4 [2] und IPv6 [3] . 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.







  • Schnittstellen und Schnittstellen.d: allgemeine Konfiguration pro Schnittstelle
  • if-down.d: Skripte, die ausgeführt werden, falls die Schnittstelle ausfällt
  • if-post-down.d: Skripte, die ausgeführt werden, nachdem die Schnittstelle ausgefallen ist
  • if-up.d: Skripte, die ausgeführt werden, wenn die Schnittstelle hochfährt
  • if-pre-up.d: Skripte, die ausgeführt werden, bevor die Schnittstelle hochgefahren wird

Die spezifische Konfiguration erfolgt pro Netzwerkschnittstelle. Sie können alles in einer einzigen Datei namens interface oder als separate Dateien im Verzeichnis interface.d speichern. Eine typische IPv4-Konfiguration von einem tragbaren Gerät ist unten dargestellt. Es besteht aus einer Loopback-Schnittstelle |_+_|, einer Ethernet-Schnittstelle |_+_| und einer drahtlosen Schnittstelle |_+_|. Zeile 1 bezieht sich auf alle Skripte, die im Verzeichnis |_+_| gespeichert sind. Die Zeilen 3 bis 5 konfigurieren |_+_|, die Zeilen 7 bis 9 /dev/eth0 und die Zeile 11 das Interface /dev/wlan0. Eine detaillierte Erklärung zu den einzelnen Befehlen finden Sie weiter unten.



1 Quelle /etc/Netzwerk/Schnittstellen.d/ *
2
3 # Die Loopback-Netzwerkschnittstelle
4Auto es
5iface lo inet loopback
6
7 # Die primäre Netzwerkschnittstelle
8erlauben-hotplug eth0
9iface eth0 inet dhcp
10
elfiface wlan0 inet dhcp

Bei anderen Debian GNU/Linux-Releases oder darauf basierenden Distributionen können die Dateischnittstellen ähnlich aussehen, aber mit anderen Namen für die Netzwerkgeräte. Ab Debian 9 Dehnen Sie die alten Netzwerknamen wie |_+_| und |_+_| verschwunden sind, da sich der Gerätename ändern kann. Die neuen Namen ähneln diesen — |_+_|, |_+_|, |_+_| und |_+_| [1] . Die verfügbaren Netzwerkschnittstellen finden Sie in der Datei /sys/class/net — in unserem Fall heißen die Schnittstellen |_+_| und |_+_|.



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 werden wir uns die einzelnen Anweisungen ansehen, 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 es

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

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 physischen 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 zu kommunizieren, 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
Netzmaske80
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] ermöglicht diese Flexibilität 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 seine Vorgänger-IP ersetzt. Verwenden Sie stattdessen den Befehl ip addr show.

Schnittstellenkonfiguration über IP:

Aktivieren und Deaktivieren einer Schnittstelle

Wie oben bereits beschrieben, aktiviert die Option auto automatisch eine Schnittstelle beim Start. Es gibt zwei Befehle zum manuellen Aktivieren und Deaktivieren einer Schnittstelle. 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 wird. 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 auch die Schnittstelle aktiv ist. In Zeile 3 wird das Skript /usr/local/sbin/firewall-enable.sh 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.

1erlauben-hotplug eth0
2iface eth0 inet dhcp
3Vorbereiten/usr/lokal/sbin/Firewall-enable.sh
4post-down/usr/lokal/sbin/Firewall-disable.sh

Abschluss

Die grundlegende Konfiguration 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] Debian Static 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 Kommentare bei der Erstellung dieses Artikels.