Handbook:PPC/Networking/Extending/hu

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:PPC/Networking/Extending and the translation is 100% complete.
PPC kézikönyv
A Gentoo Linux telepítése
A telepítésről
Telepítőképfájl kiválasztása
Hálózat beállítása
Adathordozók előkészítése
Stage fájl
Alaprendszer telepítése
Kernel beállítása
Rendszer beállítása
Eszközök telepítése
Bootloader beállítása
Telepítés véglegesítése
Munka a Gentoo rendszerrel
Portage bemutatása
USE jelölőzászlók
Portage jellemzői
Init-szkript rendszer
Környezeti változók
Munka a Portage szoftvercsomag-kezelővel
Fájlok és könyvtárak
Változók
Szoftverágak keverése
További eszközök
Egyéni szoftvercsomag-tárolók
Fejlett funkciók
Hálózat beállítása OpenRC init-rendszeren
Munka elkezdése
Fejlett beállítások
Moduláris hálózat
Vezeték nélküli (Wi-Fi)
Funkcionalitás hozzáadása
Dinamikus menedzsment


Standard függvényhorgok

Négy függvény határozható meg az /etc/conf.d/net fájlban:

  • preup(), amelyet egy interfész felhozatala előtt hívnak meg.
  • predown(), amelyet egy interfész lehozása előtt hívnak meg.
  • postup(), amelyet egy interfész felhozatala után hívnak meg.
  • postdown(), amelyet egy interfész lehozása után hívnak meg.

Ezeket a függvényeket mindegyik interfész nevével hívják meg, amely az egyes függvényeken belül az IFACE változón keresztül érhető el, így egy függvény több interfészt is képes irányítani.

A preup() és predown() függvények visszatérési értékei a következők kell, hogy legyenek:

  • 0, amely a sikert jelzi, és hogy az interfész beállítása vagy nem beállítása (dekonfigurálása) folytatódhat.
  • Egy nullánál nagyobb bármely más érték.

Ha a preup() nulla értéknél nagyobbat ad vissza, akkor az interfész beállítása megszakad. Ha a predown() nulla értéknél nagyobbat ad vissza, akkor az interfész nem beállítása (dekonfigurálása) nem folytatható.

A postup() és postdown() függvények visszatérési értékei figyelmen kívül maradnak, mivel nincs teendő, ha azok hibát jeleznek.

A ${IFACE} az éppen felhozott/lehozott interfészre van állítva. A ${IFVAR} a ${IFACE} változóvá alakított változata, amelyet a bash lehetővé tesz.

FILE /etc/conf.d/netPéldák a pre/post up/down függvényekre
preup() {
  # Tesztelje a linket az interfészen, mielőtt működésbe hozná. Ez csak
  # csak néhány hálózati adapteren működik,
  # és az ethtool szoftvercsomag telepítését igényli.
  if ethtool ${IFACE} | grep -q 'Link detected: no'; then
    ewarn "No link on ${IFACE}, aborting configuration"
    return 1
  fi
  
  # Ne feledje, hogy siker esetén 0 a visszatérési érték.
  return 0
}
  
predown() {
  # Az alapértelmezett beállítás a szkriptben az, hogy ellenőrizze az NFS gyökérrendszert,
  # és ebben az esetben ne engedélyezze az interfészek leállítását.
  # Vegye figyelembe, hogy ha megad egy predown() függvényt, akkor felülírja ezt a logikát.
  # Itt van arra az esetre, ha mégis szüksége van rá...
  if is_net_fs /; then
    eerror "root filesystem is network mounted -- can't stop ${IFACE}"
    return 1
  fi
  
  # Ne feledje, hogy siker esetén 0 a visszatérési érték.
  return 0
}
  
postup() {
  # Ez a függvény például használható egy dinamikus DNS szolgáltatáshoz való regisztrációhoz.
  # Egy másik lehetőség az lehetne,
  # hogy az interfész aktiválása után e-maileket küldjön/fogadjon.
  return 0
}
  
postdown() {
  # Ez a függvény főként a teljesség kedvéért van itt...
  # Még nem gondoltam ki semmi igazán klasszat hozzá ;-)
  return 0
}
Note
További információért a függvények írásáról, kérjük olvassa el a következőt: /usr/share/doc/netifrc-*/net.example.bz2.

Wireless függvényhorgok

Note
Ez nem fog működni a WPA Supplicant programmal, de a ${ESSID} és ${ESSIDVAR} változók elérhetők a postup() függvényben.

Két függvény határozható meg az /etc/conf.d/net fájlban:

  • preassociate(), amely az asszociáció előtt van meghívva.
  • postassociate(), amely az asszociáció után van meghívva.

Ezeket a függvényeket mindegyik interfész nevével hívják meg, amely az egyes függvényeken belül az IFACE változón keresztül érhető el, így egy függvény több interfészt is képes irányítani.

A preassociate() függvény visszatérési értékei a következők kell, hogy legyenek:

  • 0, amely a sikert jelzi, és a beállítás folytatódhat.
  • Nulla értéknél nagyobb, bármely más érték.

Ha a preassociate() nulla értéknél nagyobbat ad vissza, akkor az interfész beállítása megszakad.

Ha nincs teendő, akkor a postassociate() függvény visszatérési értéke figyelmen kívül lesz hagyva, ha hibát jelez.

Az egyes függvényeken belül az éppen csatlakozó hozzáférési pont pontos ESSID értéke az ESSID változón keresztül érhető el. A ${ESSIDVAR} a ${ESSID} változó névre alakított változata, amelyet a bash lehetővé tesz.

FILE /etc/conf.d/netPélda a pre/post asszociációs függvényekre
preassociate() {
  # Az alábbiak kettő beállításváltozót adnak hozzá: leap_user_ESSID és leap_pass_ESSID.
  # Amikor mindkettő be van állítva az adott ESSID-re, amelyhez csatlakozik,
  # akkor futtatjuk a CISCO LEAP szkriptet.

  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() {
  # Ez a függvény főként a teljesség kedvéért van itt...
  # Még nem gondoltam ki semmi igazán klasszat hozzá ;-)

  return 0
}
Note
A ${ESSID} és a ${ESSIDVAR} változók nem érhetők el a predown() és postdown() függvényekben.
Note
További információért az egyedi függvények írásáról, kérjük, olvassa el a következőt: /usr/share/doc/netifrc-*/net.example.bz2.