This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
Manual de Gentoo: X86/Redes/Extensiones
Enganche con las funciones estándar
Se pueden definir cuatro funciones en /etc/conf.d/net, que pueden ser llamadas antes o después de las operaciones de inicio/parada (start/stop). Sus nombres se componen empezando con el nombre de interfaz, de manera que una función puede controlar múltiples interfaces.
Los valores de retorno de las funciones preup()
y predown()
deben ser 0 (éxito) indicando que la configuración o la desconfiguración de los interfaces pueden continuar. Si preup()
devuelve un valor distinto de cero, se detendrá la configuración del interfaz. Si predown()
devuelve un valor distinto de cero, no se permite que el interfaz continúe desconfigurándose.
Los valores de retorno de las funciones postup()
y postdown()
serán ignorados, ya que no hay nada que hacer si hay indicación de algún fallo.
${IFACE} es el interfaz que será encendido/apagado, ${IFVAR} es ${IFACE} convertido a un nombre de variable válido según bash.
/etc/conf.d/net
Ejemplo de funciones pre/post up/downpreup() { # 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 }
Para mayor información acerca de escribir sus propias funciones, agradecemos lea /usr/share/doc/netifrc-*/net.example.bz2.
Enganche con las funciones de wireless tools
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 que se ejecutan antes y después de la función asociada referida. Estas funciones se nombran antecediéndole el nombre del interfaz, de manera que la misma función puede controlar múltiples interfaces.
El valor devuelto por la función preassociate()
debe ser 0 (éxito) para indicar que la configuración o desconfiguración del interfaz puede continuar. Si la función preassociate()
devuelve un valor distinto de cero, se interrumpirá la configuración del interfaz.
El valor devuelto por la función postassociate()
se ignora, ya que no hay nada que hacer si llegase a indicarse una falla.
A ${ESSID} se le asigna el ESSID exacto del PA al cual se está conectando, ya que ${ESSIDVAR} es ${ESSID}, convertido a un nombre de variable permitido por bash.
/etc/conf.d/net
funciones de pre/post asociaciónpreassociate() { # 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 }
Las variables ${ESSID} y ${ESSIDVAR} no están disponibles en las funciones
predown()
y postdown()
.Para mayor información acerca de cómo escribir sus propias funciones, agradecemos lea /usr/share/doc/netifrc-*/net.example.bz2.