18.6. Configuración manual de una conexión de red

La configuración manual del software de red siempre debe ser la última alternativa. Se recomienda utilizar YaST. Sin embargo, la información básica acerca de la configuración de red también puede serle útil cuando trabaje con YaST.

Todas las tarjetas de red y de red hotplug integradas (PCMCIA, USB y algunas tarjetas PCI) se detectan y se configuran mediante hotplug. El sistema detecta una tarjeta de red de dos maneras: primero como un dispositivo físico y, después, como una interfaz. La inserción o detección de un dispositivo activa un evento hotplug. Este evento hotplug activa la inicialización del dispositivo mediante el guión hwup. Cuando la tarjeta de red se inicializa como una nueva interfaz de red, el núcleo genera otro evento hotplug que origina la configuración de la interfaz mediante ifup.

El núcleo numera los nombres de la interfaz en función del orden temporal del registro. La secuencia de inicialización es fundamental para la asignación de nombres. Si falla una de las tarjetas, se modificará la numeración de todas las que se inicien después. Para tarjetas hotplug reales, lo que importa es el orden en el que se conectan los dispositivos.

Para llevar a cabo una configuración flexible, la configuración del dispositivo (hardware) y de la interfaz debe realizarse por separado y la asignación de configuraciones a los dispositivos e interfaces no se gestiona mediante los nombres de interfaz. Las configuraciones del dispositivo se ubican en /etc/sysconfig/hardware/hwcfg-*. Las configuraciones de la interfaz se ubican en /etc/sysconfig/network/ifcfg-*. Los nombres de las configuraciones se asignan de modo que describan los dispositivos e interfaces a los que están asociados. Puesto que la primera asignación de controladores al nombre de la interfaz requería nombres de interfaz estáticos, esta asignación ya no se realizará en /etc/modprobe.conf. En el nuevo concepto, las entradas de alias en este archivo pueden causar efectos secundarios no deseados.

Los nombres de configuración, es decir, todo lo que aparece después de hwcfg- o de ifcfg-, pueden describir los dispositivos mediante la ranura, el ID específico del dispositivo o el nombre de la interfaz. Por ejemplo, el nombre de configuración para una tarjeta PCI puede ser bus-pci-0000:02:01.0 (ranura PCI) o vpid-0x8086-0x1014-0x0549 (ID del producto o del proveedor). El nombre de la interfaz asociada puede ser bus-pci-0000:02:01.0 o wlan-id-00:05:4e:42:31:7a (dirección MAC).

Para asignar una configuración de red específica a una tarjeta de un tipo determinado (o del que sólo se ha insertado uno) en lugar de una tarjeta determinada, seleccione un número menor de nombres de configuración específicos. Por ejemplo, bus-pcmcia se utilizará para todas las tarjetas PCMCIA. Por otro lado, los nombres pueden estar limitados por un tipo de interfaz precedente. Por ejemplo, wlan-bus-usb se asignará a las tarjetas WLAN conectadas a un puerto USB.

El sistema siempre utiliza la configuración que mejor describa una interfaz o el dispositivo que suministre la interfaz. La búsqueda de la configuración más adecuada se gestiona mediante getcfg. La salida de getcfg proporciona toda la información que se puede utilizar para describir un dispositivo. Los detalles acerca de la especificación de los nombres de configuración están disponibles en la página del manual de getcfg.

Con el método descrito, una interfaz de red se establece con la configuración correcta incluso si los dispositivos de red no siempre se inicializan en el mismo orden. Sin embargo, el nombre de la interfaz sigue dependiendo de la secuencia de inicialización. Existen dos maneras de garantizar un acceso fiable a la interfaz de una determinada tarjeta de red:

ifup requiere que exista la interfaz, puesto que no inicializa el hardware. La inicialización del hardware se gestiona mediante el comando hwup (ejecutado por hotplug o coldplug). Cuando se inicializa un nuevo dispositivo, ifup se ejecuta de forma automática para la nueva interfaz mediante hotplug y la interfaz se configura si el modo de inicio es onboot, hotplug o auto y si se ha iniciado el servicio de red. Anteriormente, el comando ifup nombre de interfaz activaba la inicialización del hardware. Ahora, el procedimiento se ha invertido. Primero, se inicializa un componente de hardware y, a continuación, lo hacen el resto de aplicaciones. De este modo, siempre se puede configurar un número variable de dispositivos de la mejor manera posible mediante un conjunto de configuraciones existentes.

La Tabla 18.5, “Guiones de configuración manual de red” resume los guiones más importantes implicados en la configuración de red. Cuando sea posible, los guiones se distinguen por el hardware y la interfaz.

Tabla 18.5. Guiones de configuración manual de red

Fase de configuración

Comando

Función

Hardware

hw{up,down,status}

El subsistema hotplug ejecuta los guiones hw* para inicializar un dispositivo, deshacer la inicialización o consultar el estado de un dispositivo. Existe más información disponible en la página del manual de hwup.

Interfaz

getcfg

getcfg se puede utilizar para consultar el nombre de la interfaz asociado a un nombre de configuración o a una descripción de hardware. Existe más información disponible en la página del manual de getcfg.

Interfaz

if{up,down,status}

Los guiones if* inician las interfaces de red existentes o vuelven al estado de la interfaz especificada. Existe más información disponible en la página del manual de hwup.

Para obtener información adicional acerca de hotplug y de los nombres de dispositivo permanentes, consulte el Capítulo 12, Gestión dinámica de dispositivos de núcleo con udev.

18.6.1. Archivos de configuración

Esta sección proporciona una descripción general de los archivos de configuración de red, así como su propósito y el formato utilizado.

18.6.1.1. /etc/syconfig/hardware/hwcfg-*

Estos archivos contienen las configuraciones de hardware de las tarjetas de red y de otros dispositivos. Asimismo, también contienen los parámetros necesarios, como el módulo del núcleo, el modo de inicio y las asociaciones de guiones. Para obtener más detalles, consulte la página del manual de hwup. Independientemente del hardware existente, las configuraciones hwcfg-static-* se aplican cuando se inicia coldplug.

18.6.1.2. /etc/sysconfig/network/ifcfg-*

Estos archivos contienen las configuraciones para la interfaz de red. Incluyen información como el modo de inicio y la dirección IP. Los posibles parámetros se describen en la página del manual de ifup. Además, si se tiene que utilizar una configuración general para una única interfaz, todas las variables de los archivos dhcp, wireless y config se pueden utilizar en los archivos ifcfg-*.

18.6.1.3. /etc/sysconfig/network/config, dhcp, wireless

El archivo config contiene la configuración general para el comportamiento de ifup, ifdown e ifstatus. dhcp contiene la configuración de DHCP y wireless para las tarjetas LAN inalámbricas. Las variables de los tres archivos de configuración se describen y se pueden utilizar en los archivos ifcfg-*, cuando disponen de la máxima prioridad.

18.6.1.4. /etc/sysconfig/network/routes,ifroute-*

Aquí se determina el encaminamiento estático de los paquetes TCP/IP. Todas las rutas estáticas requeridas por las diferentes tareas del sistema se pueden introducir en el archivo /etc/sysconfig/network/routes: rutas al host, rutas al host mediante gateway y rutas a una red. Para cada interfaz que necesite una ruta individual, defina un archivo de configuración adicional: /etc/sysconfig/network/ifroute-*. Sustituya * con el nombre de la interfaz. Las entradas de los archivos de configuración del encaminamiento se presentan de la manera siguiente:

# Destination     Dummy/Gateway     Netmask            Device
#
127.0.0.0         0.0.0.0           255.255.255.0      lo
204.127.235.0     0.0.0.0           255.255.255.0      eth0
default           204.127.235.41    0.0.0.0            eth0
207.68.156.51     207.68.145.45     255.255.255.255    eth1
192.168.0.0       207.68.156.51     255.255.0.0        eth1

El destino de la ruta se encuentra en la primera columna. Esta columna puede contener la dirección IP de red o host o, en el caso de servidores de nombre accesibles, la red o nombre de host completo.

La segunda columna contiene un gateway por defecto a través del cual se puede acceder a un host o a una red. La tercera columna contiene la máscara de red de redes o hosts tras un gateway. Por ejemplo, la máscara es 255.255.255.255 para un host tras un gateway.

La cuarta columna sólo es relevante para redes conectadas al host local como loopback, Ethernet, RDSI, PPP y dispositivo fantasma. Aquí se debe introducir el nombre del dispositivo.

Se puede utilizar una quinta columna optativa para especificar el tipo de ruta. Las columnas que no se necesiten deben incluir un signo menos - para que el analizador interprete correctamente el comando. Para obtener más detalles, consulte la página Man de routes(5).

18.6.1.5. /etc/resolv.conf

En este archivo se especifica el dominio al que pertenece el host (contraseña search [buscar]). También se enumera el estado de la dirección del servidor de nombre al que se desea acceder (contraseña nameserver [servidor de nombre]). Se pueden especificar varios nombres de dominio. Al resolver un nombre incompleto, se realiza un intento de generar uno agregando entradas search (buscar) individuales. Utilice varios servidores de nombre introduciendo varias líneas, cada una de las cuales debe comenzar por nameserver (servidor de nombre). Anteponga signos # a los comentarios. YaST introduce el servidor de nombre especificado en este archivo. El Ejemplo 18.5, “/etc/resolv.conf muestra la forma de /etc/resolv.conf.

Ejemplo 18.5. /etc/resolv.conf


# Our domain
search example.com
#
# We use sun (192.168.0.20) as nameserver
nameserver 192.168.0.20

Algunos servicios, como pppd (wvdial), ipppd (isdn), dhcp (dhcpcd y dhclient), pcmcia y hotplug modifican el archivo /etc/resolv.conf mediante el guión modify_resolvconf. Si el archivo /etc/resolv.conf se ha modificado de forma temporal mediante este guión, entonces incluirá un comentario predefinido que proporciona información acerca del servicio que lo modifica, la ubicación en la que se ha realizado la copia de seguridad del archivo original y el modo de desactivar el mecanismo de modificación automático. Si /etc/resolv.conf se modifica varias veces, el archivo incluirá modificaciones en un formulario anidado. Estas modificaciones se pueden invertir incluso si el orden de la inversión es diferente del orden de la introducción de las modificaciones. Los servicios que incluyen esta flexibilidad incluyen isdn, pcmcia y hotplug.

Si no se ha terminado un servicio de forma normal y limpia, modify_resolvconf se puede utilizar para restaurar el archivo original. Incluso durante el arranque del sistema, se realiza una comprobación para localizar un resolv.conf sin limpiar y modificado, por ejemplo, después de un fallo del sistema, en cuyo caso se restaurará el resolv.conf original (sin modificar).

YaST utiliza el comando modify_resolvconf check para saber si resolv.conf se ha modificado y, a continuación, advierte al usuario de que se perderán los cambios después de restaurar el archivo. Además de esto, YaST no se basa en modify_resolvconf, lo que significa que el impacto del cambio de resolv.conf mediante YaST es el mismo que para cualquier cambio manual. En ambos casos, el efecto de los cambios es permanente. Las modificaciones solicitadas por los servicios mencionados son sólo temporales.

18.6.1.6. /etc/hosts

En este archivo, que se muestra en el Ejemplo 18.6, “/etc/hosts, las direcciones IP están asignadas a nombres de host. Si no se implementa ningún servidor de nombre, deberá aparecer una lista de todos los hosts para los que se va a configurar una conexión IP. Para cada host, introduzca una línea que conste de la dirección IP, del nombre de host completo y del nombre de host en el archivo. La dirección IP debe ubicarse al principio de la línea y las entradas deben estar separadas por espacios y pestañas. Los comentarios siempre van precedidos de #.

Ejemplo 18.6. /etc/hosts


127.0.0.1 localhost
192.168.0.20 sun.example.com sun
192.168.0.0 earth.example.com earth

18.6.1.7. /etc/networks

Aquí, los nombres de red se convierten en direcciones de red. El formato es similar al del archivo hosts, excepto que los nombres de red van situados delante de la dirección. Consulte el Ejemplo 18.7, “/etc/networks.

Ejemplo 18.7. /etc/networks


loopback     127.0.0.0
localnet     192.168.0.0

18.6.1.8. /etc/host.conf

La resolución de nombres, es decir, la traducción de los nombres de red y de host mediante la biblioteca resolver está controlada por este archivo. Este archivo sólo se utiliza para programas relacionados con libc4 o libc5. Para los programas glibc en curso, consulte la configuración de /etc/nsswitch.conf. Siempre debe haber un único parámetro en su propia línea. Los comentarios van precedidos de #. La Tabla 18.6, “Parámetros para /etc/host.conf” muestra los parámetros disponibles. En Ejemplo 18.8, “ /etc/host.conf se muestra el ejemplo de /etc/host.conf.

Tabla 18.6. Parámetros para /etc/host.conf

order hosts, bind

Especifica el orden de acceso a los servicios para la resolución de nombre. Los argumentos disponibles son (separados por espacios y comas) los siguientes:

hosts: Busca el archivo /etc/hosts

bind: Accede a un servidor de nombre

nis: Utiliza NIS

multi on/off

Define si un host introducido en /etc/hosts puede tener varias direcciones IP.

nospoof on spoofalert on/off

Estos parámetros determinan el servidor de nombre spoofing, pero no la configuración de red.

trim domainname

El nombre del dominio especificado se separa del nombre de host después de la resolución de nombres de host (siempre que el nombre de host incluya el nombre del dominio). Esta opción resulta útil sólo si los nombres del dominio local se incluyen en el archivo /etc/hosts, pero deben seguir reconociéndose con los nombres del dominio adjunto.

Ejemplo 18.8. /etc/host.conf


# We have named running
order hosts bind
# Allow multiple addrs
multi on

18.6.1.9. /etc/nsswitch.conf

La introducción a GNU C Library 2.0 va acompañada de la introducción de Conmutador de servicio de nombre (NSS). Para obtener más información, consulte la página Man de nsswitch.conf(5) y GNU C Library Reference Manual (Manual de referencia de la biblioteca GNU C).

El orden de las consultas se define en el archivo /etc/nsswitch.conf. En el Ejemplo 18.9, “/etc/nsswitch.conf se muestra un ejemplo de nsswitch.conf. Los comentarios van precedidos de #. En este ejemplo, cuando se introduce un elemento en la base de datos hosts, se envía una petición a /etc/hosts (files) mediante DNS (consulte el Capítulo 20, Sistema de nombres de dominio (DNS)).

Ejemplo 18.9. /etc/nsswitch.conf


passwd:     compat
group:      compat

hosts:      files dns
networks:   files dns

services:   db files
protocols:  db files

netgroup:   files
automount:  files nis

Las “bases de datos” disponibles en NSS se enumeran en la Tabla 18.7, “Bases de datos disponibles mediante /etc/nsswitch.conf”. Además, automount, bootparams, netmasks y publickey están previstas en un futuro próximo. Las opciones de configuración para las bases de datos NSS se enumeran en la Tabla 18.8, “Opciones de configuración para las “bases de datos” NSS”.

Tabla 18.7. Bases de datos disponibles mediante /etc/nsswitch.conf

aliases

Alias de correo implementados por sendmail; consulte man 5 aliases.

ethers

Direcciones Ethernet.

group

Para grupos de usuarios, utilizado por getgrent. Consulte también la página Man de group.

hosts

Para nombres de host y direcciones IP, utilizado en gethostbyname y en funciones similares.

netgroup

Host válido y listas de usuarios en la red para controlar los permisos de acceso; consulte la página Man de netgroup(5).

redes

Nombres y direcciones de red, utilizado por getnetent.

passwd

Contraseñas de usuario, utilizado en getpwent; consulte la página Man de passwd(5).

protocols

Protocolos de red, utilizado en getprotoent; consulte la página Man de protocols(5).

rpc

Nombres y direcciones de llamadas de procedimientos remotos, utilizado en getrpcbyname y en funciones similares.

services

Servicios de red, utilizados por getservent.

shadow

Contraseñas shadow de usuarios, utilizadas en getspnam; consulte la página Man de shadow(5).

Tabla 18.8. Opciones de configuración para las “bases de datos” NSS

files

Archivos de acceso directo, por ejemplo, /etc/aliases

db

Acceso mediante la base de datos

nis, nisplus

NIS, consulte también el Capítulo 21, Uso de NIS

dns

Sólo se puede utilizar como una extensión para hosts y networks

compat

Sólo se puede utilizar como una extensión de passwd, shadow y group

18.6.1.10. /etc/nscd.conf

Este archivo se utiliza para configurar nscd (daemon NSC). Consulte las páginas Man de nscd(8) y nscd.conf(5). Por defecto, nscd almacena en caché las entradas de sistema de passwd y groups. Esto es importante para el funcionamiento de los servicios del directorio, como NIS y LDAP, puesto que si no, se necesitará la conexión de red para cada acceso a los nombres o grupos. hosts no se almacena en caché por defecto, puesto que el mecanismo de nscd para almacenar los hosts en caché no posibilita que el sistema local certifique comprobaciones de búsqueda adelante y atrás. En lugar de solicitar que nscd almacene nombres en caché, configure un servidor DNS de almacenamiento en caché.

Si el almacenamiento en caché para passwd está activado, por general, transcurrirán quince segundos hasta que se reconozca un nuevo usuario local agregado. Reduzca este tiempo límite reiniciando nscd con el comando rcnscd restart (reiniciar).

18.6.1.11. /etc/HOSTNAME

Contiene el nombre de host sin el nombre de dominio adjunto. Varios guiones pueden leer este archivo mientras la máquina está arrancando. Puede contener una única línea en la que se establece el nombre de host.

18.6.2. Guiones de inicio

Además de los archivos de configuración descritos anteriormente, también existen varios guiones para cargar los programas de red durante el arranque de la máquina. Éstos se inician en cuanto el sistema cambia a uno de los niveles de ejecución multiusuario. Algunos de estos guiones se describen en la Tabla 18.9, “Guiones de inicio para programas de red”.

Tabla 18.9. Guiones de inicio para programas de red

/etc/init.d/network

Este guión gestiona la configuración de las interfaces de red. El hardware ya se debe haberse inicializado con /etc/init.d/coldplug (mediante hotplug). Si el servicio network no se ha iniciado, no se implementarán interfaces de red cuando se inserten mediante hotplug.

/etc/init.d/inetd

Los inicios xinetd. xinetd se pueden utilizar para que los servicios del servidor estén disponibles en el sistema. Por ejemplo, puede iniciar vsftpd siempre que se inicie una conexión FTP.

/etc/init.d/portmap

Inicia el portmap necesario para el servidor RPC, como por ejemplo un servidor NFS.

/etc/init.d/nfsserver

Inicia el servidor NFS.

/etc/init.d/sendmail

Controla el proceso de envío de correo.

/etc/init.d/ypserv

Inicia el servidor NIS.

/etc/init.d/ypbind

Inicia el servidor NIS.