Handbook:Parts/Networking/Advanced/es

Configuración Avanzada
La variable config_eth0 es el corazón de la configuración de una interfaz. Es una lista de instrucciones de alto nivel para configurar la interfaz (eth0 en este caso). Cada orden en la lista de instrucciones se ejecuta de manera secuencial. La interfaz será evaluada como OK si, al menos, un orden funciona.

Here's a list of built-in instructions:

If a command fails, specify a fallback value. The fallback has to match the config structure exactly.

It is possible to chain these values together. Here are some real world examples:

Dependencias de red
Los guiones en pueden depender de una interfaz de red específica o, simplemente, de "net" (red). Todos los interfaces de red en el sistema de inicio de Gentoo proporcionan algo llamado "net".

If, in, the rc_depend_strict variable is set to , then all network interfaces that provide "net" must be active before a dependency on "net" is assumed to be met. In other words, if a system has a net.eth0 and net.eth1 and an init script depends on "net", then both must be enabled.

On the other hand, if  is set, then the "net" dependency is marked as resolved the moment at least one network interface is brought up.

Pero, ¿y qué pasa si net.br0 depende de net.eth0 y net.eth1? net.eth1 podría ser un dispositivo inalámbrico o ppp que necesita configurarse antes de añadirse al puente. Esto no puede hacerse en ya que es un enlaces simbólico a net.lo.

The answer is to define a rc_need_ setting in :

Lo anterior no es suficiente. Los guiones de inicio de Gentoo utilizan una dependencia virtual llamada "net" para informar al sistema cuando está disponible la conexión a red. Claramente, en el caso de arriba la conexión a red debería marcarse como disponible cuando net.br0 está funcionando, no cuando lo están las otras. Por lo que tenemos que indicar también esto en :

Para una lectura más detallada sobre dependencias, consulte la sección Guiones de Inicio en el manual de Gentoo. Se puede encontrar más información acerca de en los comentarios dentro del propio archivo.

Nombre de variables y valores
Variable names are dynamic. They normally follow the structure of. For example, the variable dhcpcd_eth0 holds the value for dhcpcd options for eth0 and dhcpcd_essid holds the value for dhcpcd options when any interface connects to the ESSID "essid".

Sin embargo, no hay ninguna regla que indique que los nombre de las interfaces sean ethx. De hecho, muchas interfaces inalambricas tienen nombres como wlanx, rax o ethx. También, algunas interfaces definidas por el usuario como pueden ser puentes puede tener cualquier nombre. Para hacer la vida un poco más interesante, los puntos de acceso inalámbricos pueden tener nombres con caracteres no alfanuméricos - esto es importante porque se pueden configurar los parámetros de red por ESSID.

La desventaja de todo esto es que Gentoo usa variables bash para la red - y bash no puede utilizar nada fuera de caracteres alfanuméricos ingleses. Para solucionar esta limitación cambiamos cada carácter que no sea alfanumérico inglés por un carácter _.

Another downside of bash is the content of variables - some characters need to be escaped. This can be achieved by placing the \ (backslash) character in front of the character that needs to be escaped. The following list of characters needs to be escaped in this way:, and.

En este ejemplo utilizamos un ESSID inalámbrico ya que puede contener un amplio abanico de caracteres. Deberemos utilizar ESSID My "\ NET:

Lo que hay arriba configura el dominio dns a My "\ NET cuando una tarjeta inalámbrica se conecta a un AP cuyo ESSID es My "\ NET.

Cómo funciona
Los nombres de la interfaces de red no se obtienen de forma arbitraria: el núcleo Linux y el gestor de dispositivos (la mayoría de sistemas utilizan udev como gestor de dispositivos, aunque existen otros) obtiene el nombre de la interfaz mediante una serie de reglas prefijadas.

When an interface card is detected on a system, the Linux kernel gathers the necessary data about this card. This includes:


 * The onboard (on the interface itself) registered name of the network card, which is later seen through the ID_NET_NAME_ONBOARD value.
 * The slot in which the network card is plugged in, which is later seen through the ID_NET_NAME_SLOT value.
 * The path through which the network card device can be accessed, which is later seen through the ID_NET_NAME_PATH value.
 * The (vendor-provided) MAC address of the card, which is later seen through the ID_NET_NAME_MAC value.

Based on this information, the device manager decides how to name the interface on the system. By default, it uses the first hit of the first three variables above ( ID_NET_NAME_ONBOARD, _SLOT or _PATH ). For instance, if ID_NET_NAME_ONBOARD is found and set to, then the interface will be called eno1.

Given an active interface name, the values of the provided variables can be shown using :

As the first (and actually only) hit of the top three variables is ID_NET_NAME_PATH, its value is used as the interface name. If none of the variables contain values, then the system reverts back to the kernel-provided naming (eth0, eth1, etc.)

Utilizar el nombrado al viejo estilo del núcleo
Before this change, network interface cards were named by the Linux kernel itself, depending on the order that drivers are loaded (amongst other, possibly more obscure reasons). This behavior can still be enabled by setting the  boot parameter in the boot loader.

Usar sus propios nombres
La idea detrás de este cambio en el nombrado es la de no confundir a la gente y hacer los cambios de nombre de forma fácil. Suponga que tiene dos interfaces que se llamarían eth0 y eth1. Una se utiliza para acceder a la red a través de cable y la otra es inalámbrica. Con el soporte para el nombrado de interfaces, puede llamarlas lan0 (cableada) y wifi0 (inalámbrica, es mejor evitar usar los nombres anteriores bien conocidos como eth* y wlan* ya que todavía pueden parecerse a los nombres que hemos sugerido).

Todo lo que necesita ahora es encontrar los parámetros para las tarjetas y utilizar esta información para definir su propia regla de nombrado:

Debido a que las reglas se disparan antes de la regla por defecto (las reglas se disparan en orden alfanumérico, por lo que la 70 se lee antes que la 80), los nombres ofrecidos en el fichero de reglas se utilizarán en lugar de los que se usan por defecto. El número asignado al fichero debería estar entre 76 y 79 (las variables de entorno se definen mediante una regla que comienza por 75 y el nombrado por defecto lo realiza una regla con el número 80).