La configuración manual de la red debería ser siempre la opción secundaria; nosotros le recomendamos utilizar siempre YaST para este propósito. No obstante, una explicación de los conceptos subyacentes a la configuración manual de la red facilitará la tarea de configuración con YaST.
Todas las tarjetas de red — ya sean integradas o dispositivos hotplug (PCMCIA, USB y parcialmente también PCI) — se detectan y configuran por medio de hotplug. Para comprender mejor este proceso, tenga presente los siguientes puntos: El sistema percibe a las tarjetas de red de dos formas. Por una parte se trata de un dispositivo (device) físico; por otra, actúa como interfaz (interface). Cuando un dispositivo es insertado o detectado, se genera un evento hotplug. Este evento hotplug hace que el dispositivo sea activado a través del script /sbin/hwup. Al activarse la tarjeta de red como nueva interfaz de red, el kernel produce otro evento hotplug que a su vez desencadena la configuración de la interfaz por medio de /sbin/ifup.
El kernel numera los nombres de interfaz en función del orden cronológico en que se han registrado. El orden de inicio es decisivo para la denominación. Si la primera de varias tarjetas de red falla, se modifica la numeración/denominación de todas las tarjetas iniciadas con posterioridad. En el caso de tarjetas con “auténtico” soporte hotplug, lo importante es el orden en que los dispositivos han sido conectados.
Con el fin de posibilitar una configuración flexible, por una parte se ha
separado la configuración de dispositivos (hardware) e interfaces y, por
otra, la asignación de configuraciones a dispositivos o interfaces ya no se
realiza en base a los nombres de interfaz. La configuración de los
dispositivos se encuentra en
/etc/sysconfig/hardware/hwcfg-* y la de las interfaces
en /etc/sysconfig/network/ifcfg-*. Los nombres de las
distintas configuraciones describen los dispositivos o interfaces a los que
pertenecen. Puesto que la asignación de controladores a nombres de interfaces
presupone que los nombres de interfaces permanezcan invariables, esta
asignación ya no puede tener lugar en
/etc/modprobe.conf. Las entradas alias en este archivo
podrían tener incluso efectos secundarios negativos en el nuevo concepto.
Los nombres de configuración, es decir, todo lo que sigue a
hwcfg- o ifcfg-, pueden describir a los
dispositivos mediante el lugar donde están instalados, su ID específico o el
nombre de interfaz. El nombre de configuració para una tarjeta PCI puede ser,
por ejemplo, bus-pci-0000:02:01.0 (ranura PCI) o bien
vpid-0x8086-0x1014-0x0549 (ID de fabricante y producto).
Para la interfaz correspondiente puede utilizarse
bus-pci-0000:02:01.0 o
wlan-id-00:05:4e:42:31:7a (dirección MAC).
Si prefiere no asignar una configuración de red determinada a una tarjeta
especificada sino a cualquier tarjeta de un tipo concreto (del que sólo puede
haber una tarjeta insertada en cada momento), se elige un nombre de
configuración menos específico. Por ejemplo, es posible emplear
bus-pcmcia para todas las tarjetas PCMCIA. Por otra parte,
los nombres pueden restringirse un poco más anteponiéndoles un tipo de
interfaz. Por ejemplo, wlan-bus-usb puede asignarse a
todas las tarjetas WLAN con conexión USB.
Siempre se utiliza la configuración que mejor describe una interfaz o el dispositivo correspondiente a la interfaz. /sbin/getcfg se encarga de buscar la configuración más adecuada. La salida de getcfg proporciona todos los datos que pueden emplearse para describir un dispositivo. Consulte la página del manual de getcfg para obtener la especificación exacta de los nombres de configuración.
El método descrito permite configurar correctamente una interfaz de red de forma fiable incluso aunque los dispositivos de red no se inicien siempre en el mismo orden. No obstante, aún queda por resolver el problema de que el nombre de interfaz todavía depende del orden de activación. Existen dos formas de garantizar el acceso fiable a la interfaz de una tarjeta de red determinada:
/sbin/getcfg-interface
devuelve el nombre de la interfaz de red correspondiente. Por eso también es
posible introducir en algunos (por desgracia no en todos) archivos de
configuración de servicios de red el nombre de la configuración en lugar del
nombre de interfaz (que no es permanente). Este es el caso, por ejemplo, del
cortafuegos, dhcpd, enrutamiento o diversas interfaces de
red virtuales (túneles).
nombre_configuración
Es posible asignar un nombre de interfaz permanente a todas las interfaces
cuya configuración no se designa con el nombre de interfaz. Para ello se
define la entrada PERSISTENT_NAME=<pname> en una
configuración de interfaz (ifcfg-*). El nombre
permanente pname no puede ser uno de los
nombres que el kernel asigna automáticamente, lo que ya excluye a
eth*, tr*, wlan*,
qeth*, iucv*, etc. En su lugar puede
utilizar, por ejemplo, net* o nombres descriptivos como
external, internal, o
dmz. Los nombres permanentes se asignan a la interfaz
inmediatamente después de su registro, por lo que es necesario volver a
cargar el controlador de la tarjeta de red (o bien ejecutar
hwup <descripción_dispositivo>).
En este caso no basta con ejecutar
rcnetwork restart.
![]() | Utilizar nombres permanentes de interfaz |
|---|---|
Tenga en cuenta que el uso de nombres permanentes de interfaz todavía no se ha probado en todas las áreas. Puede ocurrir que algunas aplicaciones no funcionen correctamente con nombres de interfaz elegidos libremente. Le agradeceríamos que nos informase de los casos en los que esto ocurra a través de http://www.suse.de/feedback. | |
ifup no inicia el hardware, sino que presupone la
existencia de una interfaz. Para iniciar el hardware se emplea
hwup, que es ejecutado por hotplug (o
coldplug). En cuanto se inicia un dispositivo,
ifup se inicia automáticamente para la nueva interfaz a
través de hotplug y, si el modo de inicio es
onboot, hotplug o
auto y el servicio network ha sido
activado, ifup es ejecutado. Antiguamente lo normal era
que ifup <nombre_interfaz>
desencadenase el inicio del hardware. Hoy en día el proceso es exactamente el
inverso. Primero se inicia un componente de hardware y todas las acciones
posteriores resultan de esta. Esto permite utilizar un juego de configuración
existente para configurar de forma óptima una cantidad variable de
dispositivos.
Para una mayor claridad, en la siguiente tabla se recogen los scripts más importantes que intervienen en la configuración de red. Donde sea posible se distingue entre el punto de vista del hardware y de la interfaz:
Tabla 22.5. Scripts para la configuración manual de la red
Etapa de la configuración | Comando | Función |
|---|---|---|
Hardware | hw{up,down,status} |
Los scripts |
Interfaz | getcfg |
getcfg pregunta el nombre de interfaz correspondiente
a un nombre de configuración o una descripción de hardware. Puede obtener
información adicional con
man |
Interfaz | if{up,down,status} |
Los scripts |
Consulte el Capítulo 18, El sistema hotplug y Capítulo 19, Nodos de dispositivos dinámicos con udev para obtener más información sobre hotplug y los nombres permanentes de dispositivo.
Este apartado describe de forma resumida los archivos de configuración de red disponibles así como sus funciones y formatos.
Estos archivos contienen la configuración de hardware de las tarjetas de
red y otros dispositivos. Incluyen los parámetros necesarios como por
ejemplo módulo del kernel, modo de inicio y correspondencias de scripts.
Puede encontrar información adicional en la página del manual de
hwup. Los archivos de configuración
hwcfg-static-* se aplican al iniciarse coldplug
independientemente del hardware disponible en el sistema.
Estos archivos contienen la configuración de las interfaces de red e
incluyen, entre otros parámetros, el modo de inicio y la dirección IP. Los
parámetros posibles se describen en la página del manual de
ifup. Asimismo, todas las variables de los archivos
dhcp, wireless y
config pueden utilizarse en los archivos
ifcfg-* en caso de que una opción de configuración
normalmente global deba utilizarse sólo para una interfaz.
El archivo config incluye opciones de configuración
generales para ifup, ifdown e
ifstatus. Este archivo está completamente comentado.
También hay comentarios en dhcp y
wireless, donde se almacenan las opciones generales de
configuración para DHCP y las tarjetas de red inalámbricas. También se
pueden utilizar todas las variables de estos archivos en
ifcfg-*, donde se les da preferencia.
Aquí se define el enrutamiento estático de los paquetes TCP/IP.
En el archivo /etc/sysconfig/network/routes pueden
introducirse todas las rutas estáticas necesarias para las diversas tareas
del sistema: la ruta a un ordenador, a un ordenador a través de una pasarela
o a una red. Las rutas individuales requeridas por algunas interfaces pueden introducirse
en el archivo /etc/sysconfig/network/ifroute-*, en un
archivo individual para cada interfaz. El signo * ha de
sustituirse por el nombre de la interfaz. Las entradas podrían presentar el
siguiente aspecto:
DESTINATION GATEWAY NETMASK INTERFACE [ TYPE ] [ OPTIONS ] DESTINATION GATEWAY PREFIXLEN INTERFACE [ TYPE ] [ OPTIONS ] DESTINATION/PREFIXLEN GATEWAY - INTERFACE [ TYPE ] [ OPTIONS ]
En caso de que no se especifiquen GATEWAY, NETMASK, PREFIXLEN o INTERFACE,
debe introducirse en su lugar el signo -. Las entradas
TYPE y OPTIONS pueden omitirse sin más.
La primera columna contiene el destino de la ruta. Dicho destino puede tratarse de la dirección IP de una red u ordenador o del nombre completo cualificado de una red u ordenador en el caso de servidores de nombres accesibles.
En la segunda columna aparece la pasarela predeterminada o una pasarela a
través de la cual puede accederse a un ordenador o a una red.
La tercera columna contiene la máscara de red de una red u ordenador detrás
de una pasarela. La máscara de red para ordenadores que se encuentran
detrás de una pasarela es, por ejemplo, 255.255.255.255.
La última columna sólo tiene importancia en el caso de redes conectadas al ordenador local (loopback, Ethernet, RDSI, PPP, …). Aquí debe aparecer el nombre del dispositivo.
En este archivo se indica el dominio al que pertenece el ordenador (palabra
clave search) y la dirección del servidor de
nombres (palabra clave nameserver) al que se debe
dirigir. Es posible introducir más nombres de dominio. Al resolver nombres
que no estén totalmente cualificados, se intentará generar un nombre válido
y cualificado añadiendo entradas únicas en search.
Se pueden dar a conocer otros servidores de nombres añadiendo más líneas
que comiencen con nameserver. Los comentarios se
introducen con #. YaST escribe aquí el servidor de
nombres especificado. En el Ejemplo 22.5, “/etc/resolv.conf”,
se muestra un ejemplo para /etc/resolv.conf.
Ejemplo 22.5. /etc/resolv.conf
# Our domain search example.com # # We use sol (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 pueden modificar los
archivos /etc/resolv.conf mediante el script
modify_resolvconf.
Al modificar el archivo /etc/resolv.conf con este
script, se incluirá en el archivo un comentario con información sobre los
servicios que se han modificado, el lugar donde se encuentra el archivo
original y cómo es posible suprimir las modificaciones automáticas.
Si /etc/resolv.conf es modificado más veces, se
volverá a limpiar este cúmulo de modificaciones cuando se recojan en otro
orden; lo cual puede ocurrir con isdn,
pcmcia y hotplug.
Si un servicio no ha finalizado “limpiamente”, se puede
restaurar el estado original con ayuda del script
modify_resolvconf. Al arrancar se probará si
resolv.conf se ha quedado modificado (por ejemplo
debido a un cuelgue del sistema); en ese caso se volverá a restaurar el
resolv.conf original (sin modificar).
Por medio de modify_resolvconf
check, YaST averigua si
resolv.conf ha sido modificado, tras lo cual avisa al
usuario de que se han perdido sus cambios tras la recuperación del archivo
original. En caso contrario, YaST no utiliza
modify_resolvconf, lo que quiere decir que una
modificación en el archivo resolv.conf mediante YaST
equivale a una modificación manual. Ambas modificaciones tienen carácter
permanente mientras que las realizadas por los servicios mencionados son
sólo pasajeras.
Este archivo (ver Ejemplo 22.6, “/etc/hosts”) tiene una tabla de correspondencia entre
nombres de ordenadores y direcciones IP. En esta tabla deben aparecer todos
los ordenadores con los que se quiere establecer una conexión IP cuando no
se usa un servidor de nombres. Cada ordenador ocupa una línea en la tabla
que contiene el número IP, el nombre completo de la máquina y el nombre
(abreviado), por ejemplo tierra. La línea debe
comenzar con la dirección IP y las demás indicaciones se separan con
espacios o tabuladores. Los comentarios comienzan con
#.
En este archivo se convierten los nombres de redes en direcciones de red.
El formato se parece al del archivo hosts sólo que
aquí los nombres de las redes aparecen por delante de sus direcciones IP
(ver Ejemplo 22.7, “/etc/networks”).
La resolución de nombres, o sea, la traducción del nombre del ordenador o
de la red mediante la librería resolver, se gestiona a
través de este archivo. Este sólo se utiliza para programas con enlaces a
libc4 o libc5 (para programas glibc actuales, ver las opciones de
configuración en etc/nsswitch.conf). Un parámetro debe
ocupar una sola línea y los comentarios comienzan con #.
Los parámetros posibles se muestran en la Tabla 22.6, “Parámetros de /etc/host.conf”. Puede encontrar un archivo ejemplo
/etc/host.conf en el Ejemplo 22.8, “
/etc/host.conf
”
Tabla 22.6. Parámetros de /etc/host.conf
Determina el orden de llamada a los servicios de resolución de nombres. Los parámetros posibles, separados por espacios o comas, son: | |
hosts: búsqueda en el archivo
| |
bind: llamada a un servidor de nombres | |
nis: mediante NIS | |
Determina si un ordenador dado de alta en
| |
Estos parámetros influyen sobre el spoofing del servidor de nombres, pero no tienen ninguna influencia adicional sobre la configuración de red. | |
El nombre de dominio que se indica aquí, se resta del nombre totalmente
cualificado del ordenador que lo contiene (antes de asignar la
dirección IP al nombre de ordenador). Se trata de una opción muy útil
cuando el archivo |
Con la version 2.0 de la librería GNU de C comenzó el uso del
Name Service Switch (NSS) (ver la página del
manual de man 5 nsswitch.conf o
bien la información más extensa de The GNU C Library Reference
Manual, capítulo “System Databases and Name Service
Switch” – ver libcinfo.
El archivo /etc/nsswitch.conf determina en qué orden
se solicitan determinadas informaciones. El Ejemplo 22.9, “/etc/nsswitch.conf” muestra un archivo para
nsswitch.conf en el que las líneas de comentarios
comienzan con #. Respecto a la “base de
datos” hosts, el ejemplo siguiente indica que
se envía una solicitud al servicio DNS (ver el Capítulo 24, DNS (Domain Name System)) después de consultar
/etc/hosts (files).
Ejemplo 22.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” accesibles vía NSS se recogen en la
Tabla 22.7, “Bases de datos accesibles a través de /etc/nsswitch.conf”. Para el
futuro se espera también la disponibilidad de automount,
bootparams, netmasks y
publickey.
Las opciones de configuración para bases de datos NSS se muestran en la Tabla 22.8, “Opciones de configuración de las bases de datos NSS”
Tabla 22.7. Bases de datos accesibles a través de /etc/nsswitch.conf
| Alias de correo, usada por |
| Direcciones de ethernet. |
| Usada por |
| Para nombres de host y direcciones IP, utilizada por funciones
como |
| Lista de hosts y de usuarios válida en la red para administrar
los derechos de acceso; ver la página del manual
man |
| Nombres y direcciones de redes, usada por
|
| Contraseñas de usuarios, utilizada por
|
| Protocolos de red, información utilizada por
|
| Nombres y direcciones del tipo “Remote Procedure
Call”; utilizada por |
| Servicios de red; datos empleados por |
|
Las contraseñas “Shadow” de los usuarios, utilizada por
|
Tabla 22.8. Opciones de configuración de las bases de datos NSS
| acceso directo a los archivos, por ejemplo a
|
| acceso a través de una base de datos. |
| NIS, ver Capítulo 25, Empleo de NIS (Network Information Service). |
| Parámetro adicional, solo aplicable para |
| Parámetro adicional para |
Este es el archivo para configurar nscd
(Name Service Cache Daemon) - ver páginas
del manual man 8 nscd y
man 5 nscd.conf. La información en
cuestión es la que se encuentra en passwd y
groups. Es esencial para el buen rendimiento de servicios
de directorio como NIS y
LDAP, ya que en caso contrario cualquier acceso
a nombres o grupos requeriría una conexión de red. hosts
no se lee para no tener que reiniciar el daemon, por ejemplo, cuando se
cambia la resolución de nombres de dominio (DNS) modificando
/etc/resolv.conf.
Cuando está activada la característica “caching” para
passwd, suelen pasar unos 15 segundos hasta que un usuario
recién creado sea conocido en el sistema. Este tiempo de espera se puede
reducir reiniciando nscd con el comando rcnscd restart.
Además de los archivos de configuración mencionados, existen diferentes scripts (macros) que inician los programas de red cuando el ordenador arranca. Estos scripts se inician cuando el sistema entra en uno de los niveles de ejecución de multiusuario (ver Tabla 22.9, “Algunos scripts de arranque de las aplicaciones de red”).
Tabla 22.9. Algunos scripts de arranque de las aplicaciones de red
Este script se encarga de la configuración de las interfaces de red. Con este fin, el hardware debe haber sido iniciado a través de /etc/init.d/coldplug (por medio de hotplug). En caso de que el servicio network no se haya iniciado, ninguna interfaz de red será activada mediante hotplug al ser insertada. | |
Inicia xinetd. xinetd puede utilizarse para proporcionar servicios de servidor en el sistema. Así por ejemplo, puede activar vsftpd cuando se inicia una conexión FTP. | |
Inicia portmapper, el cual se necesita para utilizar servidores RPC tales como un servidor NFS. | |
Inicia el servidor NFS. | |
Controla el proceso sendmail. | |
Inicia el servidor NIS. | |
Inicia el cliente NIS. |