10.8 Reconfiguraci�n m�gica de la red
Cuando se ejecuta ifup
, los nombres de las interfaces l�gicas se
pueden transformar en los nombres de otras interfaces l�gicas. La manera en
que se transforman los nombres depende de las circunstancias. Por ejemplo, se
puede configurar ifup
para activar una determinada interfaz f�sica
con la interfaz l�gica adecuada entre un conjunto de alternativas predefinidas.
La transformaci�n del nombre de la interfaz l�gica ocurre en los siguientes
casos :
-
Si en la l�nea de comandos de ifup
no se da el nombre de la
interfaz l�gica entonces como nombre de interfaz l�gica inicial se utiliza el
nombre de la interfaz f�sica.
-
Si el nombre de la interfaz l�gica coincide con el patr�n de una secci�n
mapping entonces se aplica esta transformaci�n para generar un
nuevo nombre de interfaz l�gica. Esto se realiza recursivamente hasta que no
haya m�s coincidencias con el patr�n.
-
Si el nombre de la �ltima interfaz l�gica corresponde a la definici�n de una
interfaz l�gica de /etc/network/interfaces
entonces la interfaz
f�sica es activada como esta interfaz l�gica. Caso contrario ifup
muesta el mensaje "Ignoring unknown interface" y se detiene.
La sintaxis de una secci�n mapping es la siguiente:
mapping patr�n
script nombre_script
[map script]
El script llamado en la secci�n mapping es ejecutado con el nombre
de la interfaz f�sica como argumento y con el contenido de todas las l�neas
"map" de la secci�n. Antes de finalizar, el script muestra el
resulta de la transformaci�n por la salida est�ndar.
Por ejemplo, la siguiente secci�n mapping har� que
ifup
active la interfaz eth0 como interfaz l�gica
hogar.
mapping eth0
script /usr/local/sbin/echo-hogar
donde /usr/local/sbin/echo-hogar
es :
#!/bin/sh
echo hogar
Como la transformaci�n se realiza mediante un script, resulta posible
seleccionar la interfaz l�gica bas�ndose en algun tipo de prueba. Veamos un
ejemplo. Supongamos que posee dos tarjetas de red diferentes: una para el
hogar y otra para el trabajo. El directorio
/usr/share/doc/ifupdown/examples/
contiene un script de
transformaci�n que se puede usar para seleccionar una interfaz l�gica bas�ndose
en la direcci�n MAC (Media Access Controller). Primero instale el script en un
directorio apropiado.
# install -m770 /usr/share/doc/ifupdown/examples/get-mac-address.sh \
/usr/local/sbin/
A continuaci�n a�ada una secci�n como la siguiente al
/etc/network/interfaces
:
mapping eth0
script /usr/local/sbin/get-mac-address.sh
map 02:23:45:3C:45:3C hogar
map 00:A3:03:63:26:93 trabajo
Programas de transformaci�n m�s sofisticados se describen en guessnet, Secci�n 10.8.1 y laptop-net, Secci�n 10.8.2.