Ich habe das grundlegende Konzept der Verwendung von /etc/network/interfaces
verstanden , 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 welche Reihenfolge die Befehle erfordern. Ich möchte das verstehen, weil Kopieren und Einfügen meistens nicht ausreicht, weil ich nicht auf einer frischen Maschine arbeite, also kann ich nicht einfach vorhandene Konfigurationen überschreiben, weil es eine Menge Sachen kaputt machen würde. man interfaces
war nicht sehr hilfreich, da es sehr kompliziert geschrieben ist.
Beispielfragen, die ich habe:was bedeutet inet
in einem iface
Zeile bedeutet genau (ich konnte es nicht einmal in der Manpage finden), was manual
bedeutet in einem iface
Zeile bedeuten genau (viele Beispiele verwenden es, aber laut Manpage benötigt es dann eine zusätzliche Konfigurationsdatei, die die Beispiele nicht enthalten), wann verwende oder brauche ich sie? Wann nicht? Was passiert genau mit den Schnittstellen, wenn ich eine Brücke erstelle?
Akzeptierte Antwort:
Nun, teilen wir es in Teile auf, um /etc/network/interfaces
leichter verständlich zu machen :
Verbindungsschicht+Schnittstellentypoptionen (normalerweise die erste jeder Schnittstellenzeile und von interfaces(5)
als Adressfamilie + Methode bezeichnet Manpages):
auto interface
– Starten Sie die Schnittstelle(n) beim Booten. Deshalb das lo
Schnittstelle verwendet diese Art der Verknüpfungskonfiguration.
allow-auto interface
– Dasselbe 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 Der Unterschied besteht jedoch darin, dass auf ein Ereignis wie „Erkennung durch udev-Hotplug-API“ oder „Kabelverbindung“ gewartet wird. Weitere Informationen finden Sie unter „Ähnliche Informationen (Hotplug)“.
Diese Optionen sind so ziemlich „Layer 2“-Optionen, die Verbindungszustände auf Schnittstellen einrichten, und haben nichts mit „Layer 3“ (Routing und Adressierung) zu tun. Als Beispiel könnten Sie eine Link-Aggregation haben, bei der die Schnittstelle bond0 aktiv sein muss, unabhängig vom Linkstatus, und ihre Mitglieder könnten nach einem Linkstatusereignis aktiv sein:
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 also eine Link-Aggregation und die Schnittstellen werden hinzugefügt und bei Kabelverbindungsstatus entfernt.
Die gängigsten Schnittstellentypen:
Alle folgenden Optionen sind ein Suffix für eine definierte Schnittstelle (iface <Interface_family>
). Im Grunde das iface eth0
erstellt eine Strophe namens eth0
auf einem Ethernet-Gerät. iface ppp0
sollte eine Punkt-zu-Punkt-Schnittstelle erstellen, und es könnte verschiedene Möglichkeiten haben, Adressen wie inet wvdial
zu erhalten die die Konfiguration dieser Schnittstelle an wvdialconf
weiterleitet Skript. Das Tupel inet
/inet6
+ option
definiert die Version des verwendeten IP-Protokolls und die Art und Weise, wie diese Adresse konfiguriert wird (static
, dhcp
, scripts
…).
Die Online-Debian-Handbücher geben Ihnen weitere Einzelheiten darüber.
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 darauf konfiguriert. Es ist eine Möglichkeit, die Schnittstelle ohne IP-Adresse aufrechtzuerhalten.
inet dhcp
– IP-Adresse über das DHCP-Protokoll beziehen.
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
Dieses Beispiel bringt eth0
und erstellen Sie eine VLAN-Schnittstelle namens vlan10
das die Tag-Nummer 10 in einem Ethernet-Frame verarbeitet.
Allgemeine Optionen innerhalb einer Schnittstellenzeile (Ebene 2 und 3):
address
– IP-Adresse für eine mit statischer IP konfigurierte Schnittstelle
netmask
– Netzwerkmaske. Kann weggelassen 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 ihren „Vater“.
bridge_ports
– Definieren Sie auf einer Bridge-Schnittstelle ihre Mitglieder.
down
– Verwenden Sie anstelle von ifdown
den folgenden Befehl, um die Schnittstelle herunterzufahren .
post-down
– Aktionen, die direkt nach dem Abschalten der Schnittstelle durchgeführt werden.
pre-up
– Aktionen, bevor die Schnittstelle aktiv ist.
up
– Verwenden Sie anstelle von ifup
den folgenden Befehl, um die Schnittstelle hochzufahren . Es ist Ihrer Fantasie überlassen, jede Option zu verwenden, die auf iputils
verfügbar ist . Als Beispiel könnten wir up ip link set $IFACE up mtu 9000
verwenden um Jumbo-Frames während des up
zu aktivieren Operation (anstelle der Verwendung von mtu
Option selbst). Sie können auch jede andere Software wie up sleep 5; mii-tool -F 100baseTx-FD $IFACE
um 100 Mbit/s Vollduplex 5 Sekunden nach dem Hochfahren der Schnittstelle zu erzwingen.
hwaddress ether 00:00:00:00:00:00
– Ändern Sie die MAC-Adresse der Schnittstelle, anstatt die in ROM fest codierte oder von Algorithmen generierte zu verwenden. Sie können das Schlüsselwort random
verwenden um eine randomisierte MAC-Adresse zu erhalten.
dns-nameservers
– IP-Adressen von Nameservern. Benötigt die resolvconf
Paket. Es ist eine Möglichkeit, alle Informationen in /etc/network/interfaces
zu konzentrieren anstatt /etc/resolv.conf
zu verwenden für DNS-bezogene Konfigurationen.
Bearbeiten Sie nicht die resolv.conf
Konfigurationsdatei manuell
da sie von Programmen im System dynamisch geändert wird.
dns-search example.net
– Hängen Sie example.net als Domäne an Abfragen von host an, um den FQDN zu erstellen. Option domain
von /etc/resolv.conf
wpa-ssid
– Drahtlos:Legen Sie eine drahtlose WPA-SSID fest.
mtu
– MTU-Größe. mtu 9000
=Jumbo-Rahmen. 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 einen hexadezimal codierten PSK für Ihre SSID fest.
ip_rp_filter 1
– Rückwärtspfadfilter aktiviert. Nützlich in Situationen, in denen Sie 2 Routen zu einem Host haben und dies das Paket dazu zwingt, von dort zurückzukehren, wo es herkam (dieselbe Schnittstelle, die seine Routen verwendet). Beispiel:Sie sind mit Ihrem LAN verbunden (192.168.1.1/24
) und Sie haben einen DLNA-Server mit einer Schnittstelle in Ihrem LAN (192.168.1.10/24
) und andere Schnittstellen auf dmz, um Verwaltungsaufgaben 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ückkommen, bleiben aber für immer hängen, da Ihr dlna-Server versuchen wird, die Antwort direkt über seine LAN-Schnittstelle zu liefern. Wenn rp_filter aktiviert ist, wird sichergestellt, dass die Verbindung von dort zurückkommt, wo sie herkam. Weitere Informationen hier.
Einige dieser Optionen sind nicht optional. Debian wird Sie zum Beispiel warnen, wenn Sie eine IP-Adresse auf eine Schnittstelle ohne Netzmaske setzen.
Weitere gute Beispiele zur Netzwerkkonfiguration finden Sie hier.
Verwandte Sachen :
Links mit Informationen zu /etc/network/interfaces
Netzwerkkonfigurationsdatei:
- HOWTO:Drahtlose Sicherheit – WPA1, WPA2, LEAP usw.
- Wie kann ich zwei Schnittstellen mit ip/iproute2 überbrücken?.
- Was ist ein Hotplug-Ereignis von der Schnittstelle?