Handbuch:Parts/Netzwerk/Erweitern

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:Parts/Networking/Extending and the translation is 45% complete.
Outdated translations are marked like this.


Warnung
Bitte versuchen Sie nicht, den Anweisungen aus dem Handbook:Parts Namespace (DIESE SEITE) oder den Unterseiten zu folgen. Handbook:Parts ist ein Meta-Handbuch, um Text über Transklusion in andere Handbücher einzufügen. Bitte verwenden Sie die Architektur-spezifischen Handbücher für eine vollständige Installations-Anleitung.
Parts 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


Standard Funktionshooks

Four functions can be defined in /etc/conf.d/net:

  • preup(), called before an interface is brought up;
  • predown(), called before an interface is brought down;
  • postup(), called after an interface is brought up; and
  • postdown(), called after an interface is brought down.

Each of these these functions is called with the interface name, available within each function via the IFACE variable, so that one function can control multiple interfaces.

The return values for the preup() and predown() functions should be:

  • 0 to indicate success, and that configuration or de-configuration of the interface can continue.
  • A non-zero value otherwise.

If preup() returns a non-zero value, interface configuration will be aborted. If predown() returns a non-zero value, the interface will not be allowed to continue de-configuration.

Return values for the postup() and postdown() functions are ignored since there's nothing to do if they indicate failure.

${IFACE} ist auf das Interface gesetzt, das gestartet/ gestoppt wird. ${IFVAR} ist ${IFACE} in einen Variablennamen umgesetzt, den bash gestattet.

DATEI /etc/conf.d/netpre/post up/down Funktionsbeispiele
preup() {
  # Überprüft die Existenz eines Links auf die Schnittstelle vor
  # der Aktivierung. Dies funktioniert nur mit einigen
  # Netzwerk-Adaptern und benötigt ein installiertes ethtool Paket.
  if ethtool ${IFACE} | grep -q 'Link detected: no'; then
    ewarn "No link on ${IFACE}, aborting configuration"
    return 1
  fi
  
  # Denken Sie daran 0 bei Erfolg zurückzugeben
  return 0
}
  
predown() {
  # Der Standard im Script ist auf NFS root zu prüfen und in diesem
  # Fall das Stoppen der Schnittstelle zu unterbinden. Beachten Sie,
  # dass Sie diese Logik überschreiben, wenn Sie eine predown()
  # Funktion angeben. Hier ist sie für den Fall, dass Sie sie dennoch
  # wollen ...
  if is_net_fs /; then
    eerror "root filesystem is network mounted -- can't stop ${IFACE}"
    return 1
  fi
  
  # Denken Sie daran 0 bei Erfolg zurückzugeben
  return 0
}
  
postup() {
  # Diese Funktion könnte beispielsweise genutzt werden, um sich bei
  # einem DNS Service zu registrieren. Eine weitere Möglichkeit würde
  # das Senden/Empfangen von Mails nach dem Start einer Schnittstelle
  # sein.
       return 0
}
  
postdown() {
  # Diese Funktion ist hauptsächlich der Vollständigkeit halber
  # hier... Ich habe bisher noch nicht darüber nachgedacht etwas
  # Raffiniertes damit anzustellen ;-D
  return 0
}
Hinweis
Für weitere Informationen zum Schreiben von Funktionen lesen Sie bitte /usr/share/doc/netifrc-*/net.example.bz2.

Wireless Tools Funktionshook

Hinweis
Dies wird mit WPA Supplicant nicht funktionieren - aber die Variablen ${ESSID} und ${ESSIDVAR} sind in der Funktion postup() verfügbar.

Two functions can be defined in /etc/conf.d/net:

  • preassociate(), called before association.
  • postassociate(), called after association.

Each of these these functions is called with the interface name, available within each function via the IFACE variable, so that one function can control multiple interfaces.

The return values for the preassociate() function should be:

  • 0 to indicate success, and to continue configuration.
  • A non-zero value otherwise.

If preassociate() returns a non-zero value, interface configuration will be aborted.

Der Rückgabewert der Funktion postassociate() wird ignoriert, weil es nicht zu tun gibt wenn er Fehler anzeigt.

${ESSID} wir auf die exakte ESSID des Access Points (AP) gesetzt zu dem sich das System verbindet. ${ESSIDVAR} ist ${ESSID} in einen Variablennamen umgewandelt, den bash erlaubt.

DATEI /etc/conf.d/netpre/post Verbindungs-Funktionen
preassociate() {
  # Das Untere fügt zwei Konfigurations-Variablen leap_user_ESSID und
  # leap_pass_ESSID hinzu. Wenn beide für die ESSID konfiguriert sind
  # zu der sie verbunden sind, führen wir das CISCO LEAP Script aus.

  local user pass
  eval user=\"\$\{leap_user_${ESSIDVAR}\}\"
  eval pass=\"\$\{leap_pass_${ESSIDVAR}\}\"
  
  if [[ -n ${user} && -n ${pass} ]]; then
    if [[ ! -x /opt/cisco/bin/leapscript ]]; then
      eend "For LEAP support, please emerge net-misc/cisco-aironet-client-utils"
      return 1
    fi
    einfo "Waiting for LEAP Authentication on \"${ESSID//\\\\//}\""
    if /opt/cisco/bin/leapscript ${user} ${pass} | grep -q 'Login incorrect'; then
      ewarn "Login Failed for ${user}"
      return 1
    fi
  fi
  
  return 0
}
  
postassociate() {
  # Diese Funktion ist hauptsächlich der Vollständigkeit halber
  # hier... Ich habe bisher noch nicht darüber nachgedacht etwas
  # Raffiniertes damit anzustellen ;-D
  
  return 0
}
Hinweis
${ESSID} und ${ESSIDVAR} sind in den Funktionen predown() und postdown() nicht verfügbar.
Hinweis
Schauen Sie sich bitte /usr/share/doc/netifrc-*/net.example.bz2 an, um weitere Informationen zum Schreiben von angepassten Funktionen zu erhalten.