Handbuch:PPC/Netzwerk/Modular

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:PPC/Networking/Modular and the translation is 100% complete.
PPC Handbuch
Installation
Über die Installation
Auswahl des Mediums
Konfiguration des Netzwerks
Vorbereiten der Festplatte(n)
Installation des Stage Archivs
Installation des Basissystems
Konfiguration des Kernels
Konfiguration des Systems
Installation der Tools
Konfiguration des Bootloaders
Abschluss
Arbeiten mit Gentoo
Portage-Einführung
USE-Flags
Portage-Features
Initskript-System
Umgebungsvariablen
Arbeiten mit Portage
Dateien und Verzeichnisse
Variablen
Mischen von Softwarezweigen
Zusätzliche Tools
Eigener Portage-Tree
Erweiterte Portage-Features
Netzwerk-Konfiguration
Zu Beginn
Fortgeschrittene Konfiguration
Modulare Vernetzung
Drahtlose Netzwerke
Funktionalität hinzufügen
Dynamisches Management


Netifrc-Skripte unterstützen jetzt modulare Netzwerkskripte, was bedeutet, dass die Unterstützung für neue Schnittstellentypen und Konfigurationsmodule leicht hinzugefügt werden kann, während die Kompatibilität mit den bestehenden erhalten bleibt.

Module werden standardmäßig geladen, wenn das für sie erforderliche Paket installiert ist. Wenn Benutzer hier ein Modul angeben, dessen Paket nicht installiert ist, erhalten sie eine Fehlermeldung mit dem Hinweis, welches Paket sie installieren müssen. Idealerweise wird die Moduleinstellung nur verwendet, wenn zwei oder mehr Pakete installiert sind, die denselben Dienst bereitstellen, und eines dem anderen vorgezogen werden muss.

Hinweis
Alle hier besprochenen Einstellungen werden in /etc/conf.d/net gespeichert, sofern nicht anders angegeben.
DATEI /etc/conf.d/netModul-Definitionen
# ifconfig über iproute2 bevorzugen
modules="ifconfig"
  
# Sie können auch andere Module für eine Schnittstelle bevorzugen
# In diesem Fall bevorzugen wir dhclient gegenüber dhcpcd
modules_eth0="dhclient"
  
# Sie können auch angeben, welche Module nicht verwendet werden sollen - zum Beispiel könen Sie
# zum Beispiel einen Supplicant oder linux-wlan-ng verwenden, um die drahtlose Konfiguration zu steuern, aber Sie möchten trotzdem die Netzwerkeinstellungen pro ESSID konfigurieren, die mit einem Supplicant verbunden ist.
modules="!iwconfig"

Schnittstellen-Handler

Wir bieten derzeit zwei Schnittstellen-Handler an: ifconfig und iproute2. Für jede Art von Netzwerkkonfiguration wird nur einer von ihnen benötigt.

Beide werden standardmäßig als Teil des Systemprofils installiert. iproute2 ist das leistungsfähigere und flexiblere Paket.

Da sowohl ifconfig als auch iproute2 sehr ähnliche Dinge tun, erlauben wir, dass ihre Grundkonfiguration miteinander funktioniert. Zum Beispiel funktionieren die beiden untenstehenden Codeschnipsel unabhängig davon, welches Modul der Benutzer verwendet.

DATEI /etc/conf.d/netBeispiel für verschiedene Ansätze zur Konfiguration
config_eth0="192.168.0.2/24"
config_eth0="192.168.0.2 netmask 255.255.255.0"

# Wir können auch Broadcast angeben  
config_eth0="192.168.0.2/24 brd 192.168.0.255"
config_eth0="192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"

DHCP

DHCP ist ein Mittel zum Abrufen von Netzwerkinformationen (IP-Adresse, DNS-Server, Gateway usw.) von DHCP-Server. Das heißt, wenn ein DHCP-Server im Netz läuft, muss der Benutzer nur jedem Client sagen, dass er DHCP verwenden soll, und das Netz richtet sich von selbst ein. Natürlich muss der Benutzer andere Dinge wie drahtlose Verbindungen, PPP oder andere Dinge konfigurieren, bevor er DHCP verwenden kann.

DHCP kann von dhclient oder dhcpcd bereitgestellt werden. Jedes DHCP-Modul hat seine Vor- und Nachteile - hier ist eine kurze Zusammenfassung:

DHCP-Modul Paket Pro Kontra
dhclient net-misc/dhcp Entwickelt von ISC, den gleichen Leuten, die auch die BIND-DNS-Software entwicklen. Sehr konfigurierbar Die Konfiguration ist übermäßig komplex, die Software ist ziemlich aufgebläht, kann keine NTP-Server über DHCP beziehen, sendet standardmäßig keinen Hostnamen. Wird nicht mehr upstream gewartet
dhcpcd net-misc/dhcpcd Lange Zeit Gentoo-Standard, keine Abhängigkeit von externen Tools, aktiv von Gentoo entwickelt Kann manchmal langsam sein, noch keine Daemonisierung, wenn Lease unendlich ist

Wenn mehr als eine DHCP-Client installiert ist, geben Sie an, welcher verwendet werden soll - andernfalls wird standardmäßig dhcpcd verwendet, falls verfügbar.

Um bestimmte Optionen an das DHCP-Modul zu senden, verwenden Sie module_eth0="..." (ändern Sie module in das verwendete DHCP-Modul - d.h. dhcpcd_eth0).

Wir versuchen, DHCP relativ unabhängig zu machen - daher unterstützen wir die folgenden Befehle, indem wir die Variable dhcp_eth0 verwenden. Die Voreinstellung ist, keinen dieser Befehle zu setzen:

release
Gibt die IP-Adresse zur Wiederverwendung frei.
nodns
/etc/resolv.conf nicht überschreiben
nontp
/etc/ntp.conf nicht überschreiben
nonis
/etc/yp.conf nicht überschreiben
DATEI /etc/conf.d/netBeispiel einer DHCP-Konfiguration
# Nur erforderlich, wenn Sie mehr als ein DHCP-Modul installiert haben
modules="dhcpcd"
  
config_eth0="dhcp"
dhcpcd_eth0="-t 10" # Timeout nach 10 Sekunden
dhcp_eth0="release nodns nontp nonis" # Nur eine Adresse erhalten
Hinweis
dhcpcd sendet standardmäßig den aktuellen Hostnamen an den DHCP-Server, so dass dieser nicht mehr angegeben werden muss.
DATEI /etc/conf.d/netSample DHCPv6 configuration
# Only needed if more than one DHCP module is installed
modules="dhclient"
  
config_eth0="dhcpv6"
# To use both DHCPv4 and DHCPv6 on a dual-stack network, remove the above line and uncomment the following lines
#config_eth0="dhcp
#dhcpv6"
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
# To pass runtime arguments to dhclient for DHCPv6
dhclientv6_eth0="-t 10" # Timeout after 10 seconds
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
# Set generic DHCPv6 options
dhcpv6_eth0="release nodns nontp nonis nogateway nosendhost"

ADSL mit PPPoE/PPPoA

Installieren Sie zunächst die ADSL-Software:

root #emerge --ask net-dialup/ppp

Zweitens erstellen Sie das PPP-Netzskript und das Netzskript für die Ethernet-Schnittstelle, die von PPP verwendet werden soll:

root #ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0
root #ln -s /etc/init.d/net.lo /etc/init.d/net.eth0

Stellen Sie sicher, dass Sie rc_depend_strict in /etc/rc.conf auf YES setzen.

Nun müssen wir /etc/conf.d/net konfigurieren.

DATEI /etc/conf.d/netEine grundlegende PPPoE-Einrichtung
config_eth0=null (Geben Sie die Ethernet-Schnittstelle an)
config_ppp0="ppp"
link_ppp0="eth0" (Geben Sie die Ethernet-Schnittstelle an)
plugins_ppp0="pppoe"
username_ppp0='benutzer'
password_ppp0='passwort'
pppd_ppp0="
noauth
defaultroute
usepeerdns
holdoff 3
child-timeout 60
lcp-echo-interval 15
lcp-echo-failure 3
noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp"
  
rc_net_ppp0_need="net.eth0"

Es ist möglich, das Passwort in /etc/ppp/pap-secrets zu setzen.

DATEI /etc/ppp/pap-secretsBeispiel pap-secrets
# Das * ist wichtig
"benutzername"  *  "passwort"

Wenn PPPoE mit einem USB-Modem verwendet wird, stellen Sie sicher, dass Sie br2684ctl emergen. Bitte lesen Sie /var/db/repos/gentoo/net-dialup/speedtouch-usb/files/README für Informationen über die richtige Konfiguration.

Wichtig
Lesen Sie bitte sorgfältig den Abschnitt über ADSL und PPP in /usr/share/doc/netifrc-*/net.example.bz2. Er enthält viele detaillierte Erklärungen zu allen Einstellungen, die für eine bestimmte PPP-Einrichtung wahrscheinlich erforderlich sind.

APIPA (Automatic Private IP Addressing/Automatische Private IP-Adressierung)

APIPA versucht, eine freie Adresse im Bereich 169.254.0.0-169.254.255.255 zu finden, indem es eine zufällige Adresse in diesem Bereich an die Schnittstelle sendet. Wenn keine Antwort gefunden wird, wird der Schnittstelle diese Adresse zugewiesen.

Dies ist nur für LANs sinnvoll, in denen es keinen DHCP-Server gibt und das System nicht direkt mit dem Internet verbunden ist und alle anderen Computer APIPA verwenden.

Um APIPA-Unterstützung zu erhalten, emergen Sie net-misc/iputils mit dem arping USE-Flag oder net-analyzer/arping.

DATEI /etc/conf.d/netAPIPA-Konfiguration
# Es zuerst mit DHCP versuchen - wenn das fehlschlägt, auf APIPA zurückgreifen
config_eth0="dhcp"
fallback_eth0="apipa"
  
# Einfach APIPA verwenden
config_eth0="apipa"

Bonding

Bonding wird eingesetzt, um die Netzwerkbandbreite zu erhöhen oder die Ausfallsicherheit bei Hardwarefehlern zu verbessern. Wenn ein System über zwei Netzwerkkarten verfügt, die an dasselbe Netzwerk angeschlossen sind, kann der Administrator diese miteinander verbinden, so dass die Anwendungen nur eine Schnittstelle sehen, aber in Wirklichkeit beide Netzwerkkarten nutzen.

Es gibt viele Möglichkeiten, Bonding zu konfigurieren. Einige davon, wie z.B. der 802.3ad-LACP-Modus, erfordern die Unterstützung und zusätzliche Konfiguration des Netzwerk-Switches. Eine Referenz der einzelnen Optionen finden Sie in der lokalen Kopie von /usr/src/linux/Documentation/networking/bonding.txt.

Löschen Sie zunächst die Konfiguration der beteiligten Schnittstellen:

DATEI /etc/conf.d/netLöschen der Schnittstellenkonfiguration
config_eth0="null"
config_eth1="null"
config_eth2="null"

Als nächstes definieren Sie die Verbindung zwischen den Schnittstellen:

DATEI /etc/conf.d/netDefinieren der Bindung
slaves_bond0="eth0 eth1 eth2"
config_bond0="192.168.100.4/24"
# Wählen Sie den richtigen Modus und zusätzliche Konfigurationsoptionen, die Ihren Bedürfnissen entsprechen
mode_bond0="balance-alb"

Entfernen Sie die net.eth*-Dienste aus den Runlevels, erstellen Sie einen net.bond0-Dienst und fügen Sie diesen dem richtigen Runlevel hinzu.

Bridging (802.1d Unterstützung)

Bridging wird verwendet, um Netzwerke miteinander zu verbinden. Ein System kann zum Beispiel einen Server haben, der über ein ADSL-Modem mit dem Internet verbunden ist, und eine drahtlose Zugangskarte, die es anderen Computern ermöglicht, über das ADSL-Modem eine Verbindung zum Internet herzustellen. Es ist möglich, eine Brücke zu erstellen, um die beiden Schnittstellen miteinander zu verbinden.

DATEI /etc/conf.d/netKonfiguration der Brücke
# Konfigurieren der Brücke - "man brctl" für weitere Details
bridge_forward_delay_br0=0
bridge_hello_time_br0=200
bridge_stp_state_br0=1
  
# So fügen Sie Ports zur Brücke br0 hinzu
bridge_br0="eth0 eth1"
  
# Sie müssen die Ports auf Nullwerte konfigurieren, damit dhcp nicht gestartet wird 
config_eth0="null"
config_eth1="null"
  
# Schließlich geben Sie der Brücke eine Adresse - Sie können auch DHCP verwenden
config_br0="192.168.0.1/24"
  
# Abhängig von eth0 und eth1, da diese möglicherweise eine zusätzliche Konfiguration erfordern
rc_net_br0_need="net.eth0 net.eth1"
Wichtig
Für die Verwendung einiger Brückenkonfigurationen konsultieren Sie die Dokumentation der Variablennamen.
Wichtig
Bei der Überbrückung mit IPv6 muss bei SLAAC STP auf 1 gesetzt werden, wie im obigen Beispiel zu sehen ist.

MAC-Adresse

Es ist auch möglich, die MAC-Adresse der Schnittstellen über die Netzwerkkonfigurationsdatei zu ändern.

DATEI /etc/conf.d/netBeispiel für Änderung dre MAC-Adresse
# Festlegen der MAC-Adresse der Schnittstelle
mac_eth0="00:11:22:33:44:55"
  
# Um nur die letzten 3 Bytes zu randomisieren
mac_eth0="random-ending"
  
# Um zwischen den gleichen physikalischen Verbindungstypen (z.B. Glasfaser, Kupfer, drahtlos) alle Anbieter
mac_eth0="random-samekind"
  
# Zur Zufallsauswahl zwischen beliebigen physikalischen Verbindungstypen (z.B. Glasfaser, Kupfer, drahtlos), alle Anbieter
mac_eth0="random-anykind"
  
# Vollständige Zufallsgenerierung - WARNUNG: einige der dadurch erzeugten MAC-Adressen können NICHT wie erwartet funktionieren
mac_eth0="random-full"

Tunneln

Für das Tunneln muss keine zusätzliche Software installiert werden, da der Interface Handler dies übernehmen kann.

DATEI /etc/conf.d/netTunneling-Konfiguration
# Für GRE-Tunneln
iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"
  
# Für IPIP-Tunnel
iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"
  
# Konfigurieren der Schnittstellen
config_vpn0="192.168.0.2 peer 192.168.1.1"

VLAN (802.1q Unterstützung)

Für die VLAN-Unterstützung stellen Sie sicher, dass sys-apps/iproute2 installiert ist und dass iproute2 als Konfigurationsmodul und nicht ifconfig verwendet wird.

Ein virtuelles LAN ist eine Gruppe von Netzwerkgeräten, die sich so verhalten, als ob sie an ein einziges Netzwerksegment angeschlossen wären - auch wenn sie es nicht sind. VLAN-Mitglieder können nur Mitglieder desselben VLANs sehen, auch wenn sie dasselbe physische Netzwerk nutzen.

Um VLANs zu konfigurieren, geben Sie zunächst die VLAN-Nummern in /etc/conf.d/net wie folgt an:

DATEI /etc/conf.d/netFestlegen von VLAN-Nummern
vlans_eth0="1 2"

Als nächstes konfigurieren Sie die Schnittstelle für jedes VLAN:

DATEI /etc/conf.d/netSchnittstellenkonfiguration für jedes VLAN
config_eth0_1="172.16.3.1 netmask 255.255.254.0"
routes_eth0_1="default via 172.16.3.254"
  
config_eth0_2="172.16.2.1 netmask 255.255.254.0"
routes_eth0_2="default via 172.16.2.254"

VLAN-spezifische Konfigurationen werden von vconfig wie folgt gehandhabt:

DATEI /etc/conf.d/netKonfigurieren der VLANs
vlan1_name="vlan1"
vlan1_ingress="2:6 3:5"
eth0_vlan1_egress="1:2"
Wichtig
Für die Verwendung einer VLAN-Konfigurationen konsultieren Sie die Dokumentation der Variablennamen.