Ich habe das grundlegende Konzept der Verwendung von /etc/network/interfaces verstanden, aber alles, was ich online finde, sind Beispiele, Beispiele nach Beispiel, aus dem 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 einer neuen Maschine arbeite, sodass ich vorhandene Konfigurationen nicht einfach überschreiben kann, weil dadurch viele Dinge kaputt gehen. man interfaces war nicht sehr hilfreich, da es sehr kompliziert geschrieben ist.

Beispielfragen, die ich habe: Was bedeutet inet in Eine iface -Zeile bedeutet genau (ich konnte sie nicht einmal in der Manpage finden), was bedeutet manual in einer iface Zeile bedeutet 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 oder benötige ich sie? Wann nicht? Wann erstelle ich eine Brücke, was genau passiert mit den Schnittstellen?

Kommentare

  • Die Manpage sagt, was nach dem Schnittstellennamen kommt, ist die Adressfamilie der Schnittstelle verwendet. " inet " ist der Name für IPv4, inet6 für ipv6. Dort ' s auch ipx, x25, appletalk …, obwohl ifupdown nur mit inet / inet6 / ipx umgeht, wie in der Manpage erläutert. manual bedeutet, dass ifupdown don ' Um nichts dagegen zu tun, müssen Sie es selbst manuell tun.

Antwort

Nun, lassen Sie es uns in Teile teilen, um das Verständnis zu erleichtern. /etc/network/interfaces:

Link-Schicht + Schnittstellentypoptionen (im Allgemeinen die erste jeder Schnittstellenzeilengruppe 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 – Entspricht 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, der Unterschied besteht jedoch darin, dass auf ein Ereignis wie „Erkennung durch udev hotplug api“ oder „kabelgebunden“ gewartet wird. . Weitere Informationen finden Sie unter „ Verwandte Dinge (Hotplug) .

Diese Optionen sind so ziemlich“ Layer 2 „-Optionen, mit denen Verbindungsstatus eingerichtet werden auf Schnittstellen und sind nicht mit „Schicht 3“ (Routing und Adressierung) verbunden. 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 eine -Verbindungsaggregation , und die Schnittstellen werden hinzugefügt und bei Kabelverbindungszuständen entfernt.

Häufigste Schnittstellentypen:

Alle folgenden Optionen sind ein Suffix für eine definierte Schnittstelle (iface <Interface_family>). Grundsätzlich erstellt die iface eth0 eine Zeilengruppe mit dem Namen eth0 auf einem Ethernet-Gerät . iface ppp0 sollte eine Punkt-zu-Punkt -Schnittstelle erstellen, und es gibt verschiedene Möglichkeiten, Adressen wie inet wvdial leitet die Konfiguration dieser Schnittstelle an das Skript wvdialconf weiter. Das Tupel inet / inet6 + option definiert die Version von IP-Protokoll , das verwendet wird, und die Art und Weise, wie diese Adresse konfiguriert wird (static, dhcp, scripts …). Weitere Informationen hierzu finden Sie in den Online-Debian-Handbüchern .

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 auf denen ein VLAN-Gerät konfiguriert ist. Dies 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 ein VLAN-Schnittstelle mit dem Namen vlan10 verarbeitet die Tag-Nummer 10 in einem Ethernet-Frame.

Allgemeine Optionen in einer Schnittstellenzeilengruppe (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 den „Vater“.

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

down – Verwenden Sie stattdessen den folgenden Befehl, um die Schnittstelle herunterzufahren ifdown.

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. Es liegt in Ihrer Fantasie, eine der unter iputils verfügbaren Optionen zu verwenden. Als Beispiel könnten wir up ip link set $IFACE up mtu 9000 verwenden, um Jumbo-Frames während des up -Operation (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 wird. Sie können das Schlüsselwort random verwenden, um eine zufällige Mac-Adresse abzurufen.

dns-nameservers – IP-Adressen von Nameservern. Erfordert 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 Domäne an Abfragen des Hosts an und erstellen Sie den vollqualifizierten Domänennamen. Option domain von /etc/resolv.conf

wpa-ssid – Drahtlos: Legen Sie a fest drahtlose WPA-SSID.

mtu MTU Größe. 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 beschädigen (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 Filter für umgekehrten Pfad 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 unter Verwendung seiner 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 einem anderen Schnittstelle auf dmz zum Ausführen von Verwaltungsaufgaben (172.16.1.1/24). Während einer SSH-Sitzung von Ihrem Computer zu dlna dmz ip müssen die Informationen an Sie zurückgesendet werden, 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 dies sichergestellt dass die Verbindung von dort zurückkommt, wo sie herkommt. 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 zu /etc/network/interfaces Netzwerkkonfigurationsdatei:

Kommentare

  • Vielen Dank hilft viel. Hat inet etwas mit " Internet " zu tun?Ich habe irgendwo gelesen, dass es nur bedeutet, dass " IPv4 " und inet6 " IPv6 ", aber der Begriff " inet " ist wirklich verwirrend, wenn Sie es sehen und mit der Abkürzung für " Internet " verwechseln. Und die Namen, die man verwendet, wie eth0, sind diese definiert oder kann ich sie selbst auswählen? Wenn ich mehr als einen LAN-Adapter habe, wie kann ich feststellen, welcher eth zu welchem LAN-Adapter gehört?
  • Beide. Zusammen definieren sie die Methode zur Erfassung von IP-Adressen (DHCP, statisch, PPP-Skripte, keine Adresse) und die Version des IP-Protokolls (inet = v4 und inet6 = v6). Die Schnittstellennamen hängen weitgehend von der von Ihnen verwendeten Distribution und der Konfiguration von udev ab. Debian verwendet eth* und wlan* für Kabel- und Funkschnittstellen. Fedora verwendet das Schema biosdevname, wobei em0 die erste integrierte Ethernet-Schnittstelle auf Ihrem Motherboard ist und p<slot>p<eth port> der Name für eine PCI-Datei. Sie können Netzwerknamen unter /etc/udev/rules.d/70-persistent-net.rules festlegen oder einen Alias unter interfaces erstellen.
  • In Bezug auf " Gateway – das Standard-Gateway eines Servers. Achten Sie darauf, nur einen dieser Typen zu verwenden. " Ist das eine pro Strophe oder eine Gateway-Schnittstelle zwischen allen Strophen?
  • Sollte ein Gateway unter allen Strophen sein. oder Sie haben Probleme mit Ihrer Standardroute. Um mit Multi-Gateway / Multi-Link arbeiten zu können, sind einige Überlegungen zu iptables + Paketmarkierung + IP-Regeln erforderlich.
  • allow-hotplug wartet nicht im Hintergrund auf " kabelgebundene " Ereignisse an Ethernet-Ports, und das hat es noch nie getan. unix.stackexchange.com/a/520633/29483

Antwort

Ich möchte auch Folgendes hinzufügen:

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

Sie können verfolgen, was ist passiert mit ifup unter Verwendung des –verbose-Flags.

Ich bin mir nicht 100% sicher, aber es scheint, dass wenn ifup aufgerufen wird, u alle von / etc / network / interfaces mit up … 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.

Antwort

Wenn Sie bei Verwendung des Pakets resolvconf Optionen hinzufügen müssen, dh unter Ubuntu setzen Sie diese Konfiguration in /etc/resolvconf/resolv.conf.d/base:

# /etc/resolvconf/resolv.conf.d/base options timeout:1 attempts:1 rotate 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.