it-swarm.com.de

Gute detaillierte Erklärung der Syntax von / etc / network / interfaces?

Ich habe das grundlegende Konzept der Verwendung von /etc/network/interfaces, aber alles, was ich online finde, sind Beispiele, Beispiel für Beispiel, aus denen ich kopieren und einfügen kann. Was ich vermisse, ist eine Erklärung der Syntax, eine Erklärung der Bedeutung der Befehle und der Reihenfolge, in der die Befehle erforderlich sind. Ich möchte verstehen, weil das Kopieren und Einfügen die meiste Zeit nicht ausreicht, weil ich nicht an einem neuen Computer arbeite. Daher kann ich vorhandene Konfigurationen nicht einfach überschreiben, da dies viele Dinge beschädigen würde. man interfaces war nicht sehr hilfreich, da es sehr kompliziert geschrieben ist.

Beispielfragen, die ich habe: Was bedeutet inet in einer iface Zeile genau (ich konnte es nicht einmal in der Manpage finden), was bedeutet manual in einer iface Zeile bedeuten genau (viele Beispiele verwenden es, aber laut Manpage benötigt es dann eine zusätzliche Konfigurationsdatei, die in den Beispielen nicht vorhanden ist), wann verwende ich sie oder brauche ich sie? Wann nicht? Was passiert genau mit den Schnittstellen, wenn ich eine Brücke erstelle?

148
Foo Bar

Lassen Sie es uns in Teile zerlegen, um das Verständnis von /etc/network/interfaces Zu erleichtern:

Link-Ebene + Schnittstellentypoptionen (im Allgemeinen die erste jeder Schnittstellen-Zeilengruppe und aufgerufene Adressfamilie + Methode von interfaces(5) = manpages):

auto interface - Starten Sie die Schnittstelle (n) beim Booten. Aus diesem Grund verwendet die Schnittstelle lo diese Art der Verknüpfungskonfiguration.

allow-auto interface - Wie auto

allow-hotplug interface - Starten Sie die Schnittstelle, wenn ein "Hotplug" -Ereignis erkannt wird. In der realen Welt wird dies in den gleichen Situationen wie auto verwendet, aber der Unterschied besteht darin, dass auf ein Ereignis wie "von udev hotplug api erkannt" oder "kabelgebunden" gewartet wird. Weitere Informationen finden Sie unter " Related Stuff (Hotplug) ".

Diese Optionen sind so ziemlich "Layer 2" -Optionen, die Verbindungsstatus auf Schnittstellen einrichten, und stehen nicht in Beziehung zu "Layer 3" (Routing und Adressierung). Als Beispiel könnten Sie eine Link-Aggregation haben, bei der die bond0-Schnittstelle unabhängig vom Verbindungsstatus aktiv sein muss und ihre Mitglieder nach einem Linkstatusereignis aktiv sein könnten:

auto bond0
iface bond0 inet manual
        down ip link set $IFACE down
        post-down rmmod bonding
        pre-up modprobe bonding mode=4 miimon=200
        up ip link set $IFACE up mtu 9000
        up udevadm trigger

allow-hotplug eth0
iface eth0 inet manual
        up ifenslave bond0 $IFACE
        down ifenslave -d bond0 $IFACE 2> /dev/null

allow-hotplug eth1
iface eth1 inet manual
        up ifenslave bond0 $IFACE
        down ifenslave -d bond0 $IFACE 2> /dev/null

Auf diese Weise erstelle ich ein Link Aggregation und die Schnittstellen werden hinzugefügt und bei Kabelverbindungszuständen entfernt.

Die häufigsten Schnittstellentypen:

Alle folgenden Optionen sind ein Suffix für eine definierte Schnittstelle (iface <Interface_family>). Grundsätzlich erstellt iface eth0 Ein Zeilengruppe mit dem Namen eth0 Auf einem Ethernet-Gerät. iface ppp0 Sollte eine Punkt-zu-Punkt -Schnittstelle erstellen, und es kann verschiedene Möglichkeiten geben, Adressen wie inet wvdial Zu erfassen, die die Konfiguration dieser Schnittstelle an das Skript wvdialconf weiterleiten . Das Tupel inet/inet6 + option definiert die Version des IP-Protokolls , die verwendet wird, und die Art und Weise, wie diese Adresse konfiguriert wird (static, dhcp, scripts...). Die Online-Debian-Handbücher geben Ihnen weitere Details dazu.

Optionen für Ethernet-Schnittstellen:

inet static - Definiert eine statische IP-Adresse.

inet manual - Definiert keine IP-Adresse für eine Schnittstelle. Wird im Allgemeinen von Schnittstellen verwendet, die Bridge- oder Aggregationsmitglieder sind, Schnittstellen, die im Promiscuous-Modus arbeiten müssen ( z. B. Portspiegelung oder Netzwerk-TAPs) oder haben ein VLAN Gerät auf ihnen konfiguriert. Es ist eine Möglichkeit, die Schnittstelle ohne IP-Adresse aufrechtzuerhalten.

inet dhcp - IP-Adresse über das DHCP-Protokoll abrufen.

inet6 static - Definiert eine statische IPv6-Adresse.

Beispiel:

# Eth0
auto eth0
iface eth0 inet manual
    pre-up modprobe 8021q
    pre-up ifconfig eth0 up
    post-down ifconfig eth0 down

# Vlan Interface
auto vlan10
iface vlan10 inet static
        address 10.0.0.1
        netmask 255.255.255.0
        gateway 10.0.0.254
        vlan-raw-device eth0
        ip_rp_filter 0

In diesem Beispiel wird eth0 Aufgerufen und eine VLAN-Schnittstelle mit dem Namen vlan10 Erstellt, die die Tag-Nummer 10 in einem Ethernet-Frame verarbeitet.

Allgemeine Optionen in einer Zeilengruppe für die Benutzeroberfläche (Ebene 2 und 3):

address - IP-Adresse für eine statische IP-konfigurierte Schnittstelle

netmask - Netzwerkmaske. Kann nicht verwendet werden, wenn Sie die CIDR-Adresse verwenden. Beispiel:

iface eth1 inet static
    address 192.168.1.2/24
    gateway 192.168.1.1

gateway - Das Standard-Gateway eines Servers. Achten Sie darauf, nur einen dieser Typen zu verwenden.

vlan-raw-device - Definiert auf einer VLAN - Schnittstelle seinen "Vater".

bridge_ports - Definieren Sie auf einer Bridge-Schnittstelle deren Mitglieder.

down - Verwenden Sie den folgenden Befehl, um die Schnittstelle anstelle von ifdown herunterzufahren.

post-down - Aktionen, die direkt nach dem Ausfall der Schnittstelle ausgeführt werden.

pre-up - Aktionen, bevor die Schnittstelle aktiv ist.

up - Verwenden Sie den folgenden Befehl, um die Schnittstelle anstelle von ifup zu aktualisieren. Es liegt in Ihrer Fantasie, jede Option zu verwenden, die unter iputils verfügbar ist. Als Beispiel könnten wir up ip link set $IFACE up mtu 9000 Verwenden, um Jumbo-Frames während der Operation up zu aktivieren (anstatt die Option mtu selbst zu verwenden). Sie können auch eine andere Software wie up sleep 5; mii-tool -F 100baseTx-FD $IFACE Aufrufen, um 5 Sekunden nach dem Hochfahren der Schnittstelle 100 Mbit/s Vollduplex zu erzwingen.

hwaddress ether 00:00:00:00:00:00 - Ändern Sie die Mac-Adresse der Schnittstelle, anstatt die zu verwenden, die fest in rom codiert oder von Algorithmen generiert wurde. Sie können das Schlüsselwort random verwenden, um eine zufällige Mac-Adresse zu erhalten.

dns-nameservers - IP-Adressen von Nameservern. Benötigt das Paket resolvconf. Auf diese Weise können Sie alle Informationen in /etc/network/interfaces Konzentrieren, anstatt /etc/resolv.conf Für DNS-bezogene Konfigurationen zu verwenden. Bearbeiten Sie die Konfigurationsdatei resolv.conf Nicht manuell, da sie von Programmen im System dynamisch geändert wird.

dns-search example.net - Fügen Sie example.net als Domain an Abfragen des Hosts an und erstellen Sie den vollqualifizierten Domänennamen. Option domain von /etc/resolv.conf

wpa-ssid - Wireless: Legen Sie eine Wireless WPA SSID) fest.

mtu - MTU size. mtu 9000 = Jumbo-Frame. Nützlich, wenn Ihre Linux-Box mit Switches verbunden ist, die größere MTU-Größen unterstützen. Kann einige Protokolle brechen (ich hatte schlechte Erfahrungen mit SNMP- und Jumbo-Frames).

wpa-psk - Drahtlos: Legen Sie eine hexadezimal codierte PSK für Ihre SSID fest.

ip_rp_filter 1 - mkehrpfadfilter aktiviert. Nützlich in Situationen, in denen Sie zwei Routen zu einem Host haben. Dadurch wird das Paket gezwungen, von seinem Herkunftsort zurückzukehren (dieselbe Schnittstelle verwendet seine Routen). Beispiel: Sie sind auf Ihrem LAN verbunden (192.168.1.1/24) Und haben einen dlna-Server mit einer Schnittstelle auf Ihrem LAN (192.168.1.10/24) Und einer anderen Schnittstelle auf dmz, um administrative Aufgaben auszuführen (172.16.1.1/24). Während einer SSH-Sitzung von Ihrem Computer zu dlna dmz ip müssen die Informationen zu Ihnen zurückkehren, bleiben jedoch für immer hängen, da Ihr dlna-Server versucht, die Antwort direkt über die LAN-Schnittstelle zu übermitteln. Wenn rp_filter aktiviert ist, wird sichergestellt, dass die Verbindung von ihrem Herkunftsort wiederhergestellt wird. Weitere Informationen hier .

Einige dieser Optionen sind nicht optional. Debian warnt Sie, wenn Sie beispielsweise eine IP-Adresse auf eine Schnittstelle ohne Netzmaske setzen.

Weitere gute Beispiele für die Netzwerkkonfiguration finden Sie hier .

Verwandte Dinge :

Links mit Informationen zur Netzwerkkonfigurationsdatei /etc/network/interfaces:

183
user34720

Ich würde auch hinzufügen, dass:

  • schnittstellen sind für ifup/ifdown-Dienste.
  • Wenn Sie allow-hotplug verwenden, beginnt es nicht mit ifup/ifdown, da Sie das Flag --allow = hotplug verwenden müssen.

Mit dem Flag --verbose können Sie verfolgen, was mit ifup passiert.

Ich bin mir nicht 100% sicher, aber es scheint, dass wenn ifup aufgerufen wird, u alle von/etc/network/interfaces mit up ausführen wird ... wenn nicht anders angegeben.

Ich bin mir nicht sicher, wie es sich bezieht auf: Service Networking ...

Wäre schön, wenn jemand darauf hinweisen würde, was nach dem Anruf passiert:

service networking restart

in Bezug auf ifup/ifdown.

0
yourstruly