Gentoo Logo

1.  Funzioni di hook (intercettazioni) standard

Possono essere definite quattro funzioni in /etc/conf.d/net, che sono chiamate in prossimità delle operazioni di avvio/chiusura. Le funzioni sono chiamate con il nome dell'interfaccia in modo che una funzione possa controllare adattatori multipli.

I valori di ritorno per le funzioni preup e predown dovrebbero essere 0 (successo) per indicare che la configurazione o la deconfigurazione dell'interfaccia può continuare. Se preup ritorna con un valore diverso da zero, allora la configurazione dell'interfaccia viene chiusa. Se predown ritorna con un valore diverso da zero, allora all'interfaccia non viene permesso di continuare la deconfigurazione.

I valori di ritorno per le funzioni postup e postdown sono ignorati poichè non c'è niente da fare se indicano un fallimento.

${IFACE} è impostata sull'interfaccia che viene portata sù/giù (up/down). ${IFVAR} è ${IFACE} convertita al nome della variabile che bash permette.

Codice 1.1: Esempi di funzione pre/post up/down in /etc/conf.d/net

preup() {
  # Test per link sull'interfaccia prima di avviarla. Questo
  # funziona solo su alcuni adattatori di rete e richiede che il pacchetto
  # ethtool sia installato.
  if ethtool ${IFACE} | grep -q 'Link detected: no'; then
    ewarn "No link on ${IFACE}, aborting configuration"
    return 1
  fi

  # Ricordarsi di restituire 0 in caso di successo
  return 0
}

predown() {
  # L'azione predefinita nello script è eseguire un test per NFS root e non permettere
  # che in quel caso le interfacce vengano disattivate. Notare che se si specifica una funzione
  # predown() si sovrappone questa logica, mostrata in dettaglio qui di seguito, in caso
  # la si voglia usare...
  if is_net_fs /; then
    eerror "root filesystem is network mounted -- can't stop ${IFACE}"
    return 1
  fi

  # Ricordarsi di restituire 0 in caso di successo
  return 0
}

postup() {
  # Questa funzione potrebbe essere usata, per esempio, per
  # registrarsi ad un servizio dinamico DNS. Un'altra possibilità potrebbe essere
  # mandare/ricevere mail quando l'interfaccia è avviata.
       return 0
}

postdown() {
  # Questa funzione viene utilizzata perlopiù per completezza. Attualmente
  # non c'è mai stato bisogno di utilizzarla.
  return 0
}

Nota: Per maggiori informazioni su come scrivere le proprie funzioni, si prega di leggere /usr/share/doc/openrc-*/net.example.bz2.

1.  Funzioni di hook (intercettazioni) per "Wireless Tools"

Nota: Non funziona con WPA Supplicant - ma le variabili ${ESSID} e ${ESSIDVAR} sono disponibili nella funzione postup()

Possono essere definite due funzioni /etc/conf.d/net, che sono chiamate in prossimità della funzione associata. Le funzioni sono chiamate con il nome dell'interfaccia in modo che una funzione possa controllare adattatori multipli.

I valori di ritorno per la funzione preassociate dovrebbero essere 0 (successo) per indicare che la configurazione o la deconfigurazione dell'interfaccia può continuare. Se la preassociate ritorna un valore diverso da zero, allora la configurazione dell'interfaccia viene chiusa.

Il valore di ritorno per la funzione postassociate è ignorato poichè non c'è niente da fare se indica un fallimento.

${ESSID} è impostata all'esatto ESSID dell'AP con cui si è connessi. ${ESSIDVAR} è ${ESSID} convertita al nome della variabile che bash permette.

Codice 1.1: Funzioni di associazione pre/post in /etc/conf.d/net

preassociate() {
  # Il codice seguente aggiunge due variabili di configurazione
  # leap_user_ESSID e leap_pass_ESSID. Quando sono entrambe configurate per
  # essere connesse a ESSID, viene eseguito lo script CISCO LEAP

  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() {
  # Questa funzione viene utilizzata perlopiù per completezza. Attualmente
  # non c'è mai stato bisogno di utilizzarla.

  return 0
}

Nota: ${ESSID} e ${ESSIDVAR} non sono disponibili nelle funzioni predown() e postdown()

Nota: Per maggiori informazioni su come scrivere le proprie funzioni, si prega di leggere /usr/share/doc/openrc-*/net.example.bz2.

Aggiornato il 30 ottobre 2011

La versione originale di questo documento è più recente ed è stata aggiornata il 17 dicembre 2013

Oggetto: Per gli esperti ecco le istruzioni per personalizzare l'infrastruttura di rete.

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.