Manual de Gentoo: IA64/Redes/Extensiones

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:IA64/Networking/Extending and the translation is 100% complete.
Manual IA64
Instalación
Acerca de la instalación
Elegir los medios
Configurar la red
Preparar los discos
Instalar el stage3
Instalar el sistema base
Configurar el núcleo
Configurar el sistema
Instalar las herramientas
Configurar el cargador de arranque
Terminar
Trabajar con Gentoo
Introducción a Portage
Ajustes USE
Características de Portage
Sistema de guiones de inicio
Variables de entorno
Trabajar con Portage
Ficheros y directorios
Variables
Mezclar ramas de software
Herramientas adicionales
Repositorios personalizados de paquetes
Características avanzadas
Configuración de la red
Comenzar
Configuración avanzada
Configuración de red modular
Conexión inalámbrica
Añadir funcionalidad
Gestión dinámica


Conectar con las funciones estándar

Se pueden definir cuatro funciones en /etc/conf.d/net:

  • preup(), se llama antes de que se active una interfaz;
  • predown(), se llama antes de que se desactive una interfaz;
  • postup(), se llama después de que se active una interfaz; y
  • postdown(), se llama después de que se desactive una interfaz.

Cada una de estas funciones se llama con el nombre de la interfaz, disponible dentro de cada función a través de la variable IFACE, de modo que una función puede controlar múltiples interfaces.

Los valores de retorno para las funciones preup() y predown() deben ser:

  • 0 indica éxito y que la configuración o desconfiguración de la interfaz puede continuar.
  • Un valor distinto de cero en caso contrario.

Si preup() devuelve un valor distinto de cero, se cancelará la configuración de la interfaz. Si predown() devuelve un valor distinto de cero, no se permitirá que la interfaz continúe con la desconfiguración.

Los valores de retorno de las funciones postup() y postdown() se ignoran ya que no hay nada que hacer si indican una falla.

${IFACE} es el interfaz que será encendido/apagado, ${IFVAR} es ${IFACE} convertido a un nombre de variable válido según bash.

ARCHIVO /etc/conf.d/netEjemplo de funciones pre/post up/down
preup() {
  # Comprobación del enlace de la interfaz antes de activarla.
  # Esto solamente funciona con algunos interfaces de red y necesita
  # que el paquete ethtool este instalado.
  if ethtool ${IFACE} | grep -q 'Link detected: no'; then
    ewarn "${IFACE} no tiene enlace, configuración abortada"
    return 1
  fi
  
  # Recordar devolver 0 si todo fue correcto
  return 0
}
  
predown() {
  # Por defecto en el guión de inicio se comprueba si el sistema (root) está montado por NFS y en ese caso
  # no permitir que las interfaces se desactiven. Tenga en cuenta que, si
  # especifica una función predown() sobreescribirá está regla.
  # Aquí la tiene en caso de que todavía quiera utilizarla...
  if is_net_fs /; then
    eerror "El sistema de archivos raiz (root) está montado desde la red -- no se puede detener ${IFACE}"
    return 1
  fi
  
  # Recordar devolver 0 si todo fue correcto
  return 0
}
  
postup() {
  # Esta función podría utilizarse, por ejemplo, para
  # registrarse en un servicio dinámico de DNS. Otra posibilidad
  # sería enviar un correo cada vez que la interfaz se conecta.
       return 0
}
  
postdown() {
  # Esta función está aquí mayormente para redondear ...
  # ún no hemos pensado en algo interesante que pueda hacer
  return 0
}
Nota
Para mayor información acerca de escribir sus propias funciones, agradecemos lea /usr/share/doc/netifrc-*/net.example.bz2.

Conexiones con las funciones inalámbricas

Nota
Esto no funcionará con WPA Supplicant aunque las variables ${ESSID} y ${ESSIDVAR} están disponibles en la función postup().

Se pueden definir dos funciones en /etc/conf.d/net:

  • preassociate(), llamada antes de la asociación.
  • postassociate(), llamada después de la asociación.

Cada una de estas funciones se llama con el nombre de la interfaz, disponible dentro de cada función a través de la variable IFACE, de modo que una función puede controlar múltiples interfaces.

Los valores de retorno para la función preassociate() deben ser:

  • 0 para indicar éxito y continuar con la configuración. * Un valor distinto de cero en caso contrario.

Si preassociate() devuelve un valor distinto de cero, se cancelará la configuración de la interfaz.

El valor devuelto por la función postassociate() se ignora, ya que no hay nada que hacer si llegase a indicarse una falla.

Dentro de cada función, el ESSID concreto del AP al que se conecta el sistema está disponible a través de la variable ESSID. ${ESSIDVAR} es ${ESSID} convertido a un nombre de variable adecuado para bash.

ARCHIVO /etc/conf.d/netfunciones de pre/post asociación
preassociate() {
  # A continuación se agregan 2 variables de configuración leap_user_ESSID
  # y leap_pass_ESSID. Cuando ambos estén configurados para el ESSID
  # ejecutamos el guión LEAP de CISCO.
  
  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 "Para tener soporte LEAP, haga emerge net-misc/cisco-aironet-client-utils"
      return 1
    fi
    einfo "Esperando autenticación LEAP en  \"${ESSID//\\\\//}\""
    if /opt/cisco/bin/leapscript ${user} ${pass} | grep -q 'Login incorrect'; then
      ewarn "Error al conetactar con ${user}"
      return 1
    fi
  fi
  
  return 0
}
  
postassociate() {
  # Esta función existe mayormente para completar ...
  # no he pensado en algo interesante para hacer aquí todavía
  
  return 0
}
Nota
Las variables ${ESSID} y ${ESSIDVAR} no están disponibles en las funciones predown() y postdown().
Nota
Para mayor información acerca de cómo escribir sus propias funciones, agradecemos lea /usr/share/doc/netifrc-*/net.example.bz2.