Guía de administración del sistema: servicios IP

Bases de datos de red y el archivo nsswitch.conf

Las bases de datos de red son archivos que proporcionan información necesaria para configurar la red. Son las siguientes:

Como parte del proceso de configuración, puede editar las bases de datos hosts y netmasks, si la red cuenta con subredes. Se utilizan dos bases de datos de red, bootparams y ethers, para configurar los sistemas como clientes de red. El sistema operativo utiliza las bases de datos restantes, que raramente requieren edición.

Aunque el archivo nsswitch.conf no es una base de datos de red, debe configurar este archivo junto con las bases de datos de red pertinentes. El archivo nsswitch.conf especifica qué servicio de nombre utilizar para un sistema concreto: archivos locales, NIS, DNS o LDAP.

Cómo afectan los servicios de nombres a las bases de datos de red

El formato de la base de datos de red depende del tipo de servicio de nombres que seleccione para la red. Por ejemplo, la base de datos hosts contiene como mínimo el nombre de host y la dirección IPv4 del sistema local, así como cualquier interfaz de red que esté conectada directamente al sistema local. Sin embargo, la base de datos hosts puede contener otras direcciones IPv4 y nombres de host, según el tipo de servicio de nombres de la red.

El uso de las bases de datos de red es el siguiente:


Nota –

El inicio DNS y los archivos de datos no se corresponden directamente con las bases de datos de red.


La figura siguiente muestra los formatos de la base de datos hosts que utilizan estos servicios de nombres.

Figura 10–2 Formatos de la base de datos hosts que utilizan los servicios de nombres

Esta figura muestra los distintos modos en que los servicios de nombres DNS, NIS, NIS+ y los archivos locales guardan la base de datos de hosts.

La tabla siguiente muestra las bases de datos de red y sus asignaciones NIS y archivos locales correspondientes.


Nota –

La base de datos ipnodes se elimina de las versiones de Oracle Solaris a partir de Solaris 10 11/06.


Tabla 10–1 Bases de datos de red y archivos del servicio de nombres correspondiente

Base de datos de red 

Archivos locales 

Asignaciones NIS 

hosts

/etc/inet/hosts

hosts.byaddr hosts.byname

ipnodes

/etc/inet/ipnodes

ipnodes.byaddr ipnodes.byname

netmasks

/etc/inet/netmasks

netmasks.byaddr

ethers

/etc/ethers

ethers.byname ethers.byaddr

bootparams

/etc/bootparams

bootparams

protocols

/etc/inet/protocols

protocols.byname protocols.bynumber

services

/etc/inet/services

services.byname

networks

/etc/inet/networks

networks.byaddr networks.byname

En este manual se describen las bases de datos de red tal como las ven las redes que utilizan archivos locales para los servicios de nombres.

Consulte System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP) para obtener información sobre las correspondencias de bases de datos de red en NIS, DNS y LDAP.

Archivo nsswitch.conf

El archivo /etc/nsswitch.conf define el orden de búsqueda de las bases de datos de red. El programa de instalación de Oracle Solaris crea un archivo /etc/nsswitch.conf predeterminado para el sistema local, basándose en el servicio de nombres que indique durante el proceso de instalación. Si ha seleccionado la opción "None" que indica los archivos locales para el servicio de nombres, el archivo nsswitch.conf resultante será similar al del ejemplo siguiente.


Ejemplo 10–5 nsswitch.conf para redes utilizando archivos para el servicio de nombres


# /etc/nsswitch.files:
#
# An example file that could be copied over to /etc/nsswitch.conf;
# it does not use any naming service.
#
# "hosts:" and "services:" in this file are used only if the
# /etc/netconfig file contains "switch.so" as a
# nametoaddr library for "inet" transports.

passwd:          files
group:           files
hosts:           files
networks:        files
protocols:       files
rpc:             files
ethers:          files
netmasks:        files
bootparams:      files
publickey:       files
# At present there isn't a 'files' backend for netgroup; the
# system will figure it out pretty quickly,
# and won't use netgroups at all.
netgroup:        files
automount:       files
aliases:         files
services:        files
sendmailvars:    files

La página del comando man nsswitch.conf(4) describe el archivo de manera pormenorizada. A continuación se muestra la sintaxis básica:

base_datos servicio_nombres_para_buscar

El campo base_datos puede incluir uno de múltiples tipos de bases de datos en las que busca el sistema operativo. Por ejemplo, el campo puede indicar una base de datos que afecta a los usuarios, como passwd o aliases , o una base de datos de red. El parámetro servicio_nombres_para_buscar puede tener los valores files, nis o nis+ para las bases de datos de redes. La base de datos hosts también puede tener dns como servicio de nombres para buscar. Además, puede enumerar más de un servicio de nombres, como nis+ y files.

En el Ejemplo 10–5, la única opción de búsqueda que se indica es files. Por tanto, el sistema local obtiene información de seguridad y montaje automático, además de información de la base de datos de red, a partir de los archivos ubicados en los directorios /etc y /etc/inet.

Cambio de nsswitch.conf

El directorio /etc contiene el archivo nsswitch.conf, creado por el programa de instalación de Oracle Solaris. Este directorio también contiene archivos de plantilla para los siguientes servicios de nombres:

Si desea cambiar de un servicio de nombres a otro, puede copiar la plantilla pertinente en nsswitch.conf. También puede editar de forma selectiva el archivo nsswitch.conf y cambiar el servicio de nombres predeterminado para buscar bases de datos individuales.

Por ejemplo, en una red que ejecuta NIS, es posible que tenga que cambiar el archivo nsswitch.conf en los clientes de red. La ruta de búsqueda de las bases de datos bootparams y ethers debe enumerar files como primera opción, y después nis. El ejemplo siguiente muestra las rutas de búsqueda correctas.


Ejemplo 10–6 nsswitch.conf para un cliente en una red en la que se ejecuta NIS


# /etc/nsswitch.conf:#
.
.
passwd:        files nis
group:         files nis

# consult /etc "files" only if nis is down.
hosts:         nis    [NOTFOUND=return] files
networks:      nis    [NOTFOUND=return] files
protocols:     nis    [NOTFOUND=return] files
rpc:           nis    [NOTFOUND=return] files
ethers:        files  [NOTFOUND=return] nis
netmasks:      nis    [NOTFOUND=return] files	
bootparams:    files  [NOTFOUND=return] nis
publickey:     nis    
netgroup:      nis

automount:     files nis
aliases:       files nis

# for efficient getservbyname() avoid nis
services:      files nis
sendmailvars:  files

Para más información sobre el cambio de servicio de nombres, consulte System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).

Base de datos bootparams

La base de datos bootparams contiene información que utilizan los sistemas configurados para iniciarse en modo de cliente de red. Debe editar esta base de datos si la red tiene clientes de red. Consulte Configuración de clientes de red para conocer los procedimientos. La base de datos se genera a partir de la información que se especifica en el archivo /etc/bootparams.

La página del comando man bootparams(4) contiene la sintaxis completa para esta base de datos. A continuación se muestra la sintaxis básica:

nombre_sistema nombre_servidor_claves_archivo:nombre_ruta

Para cada sistema cliente de red, la entrada puede contener la información siguiente: el nombre del cliente, una lista de claves, los nombres de los servidores y los nombres de la ruta. El primer elemento de cada entrada es el nombre del sistema cliente. Todos los elementos son opcionales, a excepción del primero. A continuación se muestra un ejemplo.


Ejemplo 10–7 Base de datos bootparams


myclient   root=myserver : /nfsroot/myclient  \
swap=myserver : /nfsswap//myclient \
dump=myserver : /nfsdump/myclient

En este ejemplo, el término dump= indica a los hosts cliente que no deben buscar un archivo de volcado.

Entrada comodín de bootparams

En la mayoría de los casos, la entrada comodín se utiliza durante la edición de la base de datos bootparams para la compatibilidad con clientes. A continuación, se incluye esta entrada:

*  root=server:/path dump=:

El comodín de asterisco (*) indica que esta entrada se aplica a todos los clientes que no tengan un nombre específico en la base de datos bootparams.

Base de datos ethers

La base de datos ethers se genera a partir de la información que se especifica en el archivo /etc/ethers. Esta base de datos asocia los nombres de host a sus direcciones de control de acceso de soportes (MAC). Sólo debe crear una base de datos ethers si está ejecutando el daemon RARP. En otros términos, esta base de datos debe crearse si está configurando clientes de red.

RARP utiliza el archivo para asignar direcciones MAC a direcciones IP. Si está ejecutando el daemon RARP in.rarpd, debe configurar el archivo ethers y guardarlo en todos los hosts que estén ejecutando el daemon para que los cambios se reflejen en la red.

La página del comando man ethers(4) contiene la sintaxis completa para esta base de datos. A continuación se muestra la sintaxis básica:


MAC-address   hostname   #comment
dirección_MAC

Dirección MAC del host

nombre_host

Nombre oficial del host

#comentario

Cualquier nota que desee anexar a una entrada del archivo

El fabricante del equipo proporciona la dirección MAC. Si un sistema no muestra la dirección MAC durante el proceso de inicio, consulte los manuales de hardware para obtener información al respecto.

Cuando añada entradas a la base de datos ethers, asegúrese de que los nombres de host correspondan a los nombres principales de la base de datos hosts y, para Solaris 10 11/06 y versiones anteriores, a los de la base de datos ipnodes, no a los apodos, tal como se indica a continuación.


Ejemplo 10–8 Entradas de la base de datos ethers


8:0:20:1:40:16  fayoum
8:0:20:1:40:15  nubian 
8:0:20:1:40:7   sahara    # This is a comment
8:0:20:1:40:14  tenere 

Otras bases de datos de red

Las bases de datos de red restantes raramente deben editarse.

Base de datos networks

La base de datos networks asocia los nombres de red con los números de red, lo cual permite a algunas aplicaciones utilizar y visualizar los nombres en lugar de los números. La base de datos networks se basa en la información del archivo /etc/inet/networks. Este archivo contiene los nombres de todas las redes a las que se conecta la red mediante enrutadores.

El programa de instalación de Oracle Solaris configura la base de datos networks inicial. Sin embargo, esta base de datos debe actualizarse si agrega una red nueva a la topología de red existente.

La página del comando man networks(4) contiene la sintaxis completa de /etc/inet/networks. A continuación se muestra el formato básico:


network-name  network-number  nickname(s)  #comment
nombre_red

Nombre oficial de la red

número_red

Número asignado por el ISP o el registro de Internet

apodo

Cualquier otro nombre por el que se conozca la red

#comentario

Cualquier nota que desee anexar a una entrada del archivo

Debe guardar el archivo networks. El programa netstat utiliza la información de esta base de datos para producir tablas de estado.

A continuación se incluye un archivo /etc/networks de ejemplo.


Ejemplo 10–9 Archivo /etc/networks


#ident	"@(#)networks	1.4	92/07/14 SMI"	/* SVr4.0 1.1	*/
#
# The networks file associates Internet Protocol (IP) network
# numbers with network names. The format of this file is:
#
# 	network-name		 	 network-number		 	 nicnames . . .

# The loopback network is used only for intra-machine communication
loopback		 	 127

#
# Internet networks
#
arpanet     10	   arpa  # Historical
#
# local networks

eng   192.168.9 #engineering
acc   192.168.5 #accounting
prog  192.168.2 #programming

Base de datos protocols

La base de datos protocols enumera los protocolos TCP/IP que están instalados en el sistema y sus números de protocolo. El programa de instalación de Oracle Solaris crea automáticamente la base de datos. Este archivo rara vez requiere administración.

La página del comando man protocols(4) describe la sintaxis de esta base de datos. A continuación se incluye un ejemplo del archivo /etc/inet/protocols.


Ejemplo 10–10 Archivo /etc/inet/protocols


#
# Internet (IP) protocols
#
ip    0   IP    # internet protocol, pseudo protocol number
icmp  1   ICMP  # internet control message protocol
tcp   6   TCP   # transmission control protocol
udp  17   UDP   # user datagram protocol

Base de datos services

La base de datos services enumera los nombres de los servicios TCP y UDP y sus números de puerto conocidos. Los programas que llaman a los servicios de red utilizan esta base de datos. El programa de instalación de Oracle Solaris crea automáticamente la base de datos services. Normalmente, esta base de datos no requiere ninguna administración.

La página del comando man services(4) contiene información sobre la sintaxis completa. A continuación se incluye un segmento de un archivo /etc/inet/services típico.


Ejemplo 10–11 Archivo /etc/inet/services


#
# Network services
#
echo      7/udp
echo      7/tcp
echo      7/sctp6
discard   9/udp     sink null
discard   11/tcp
daytime   13/udp
daytime   13/tcp
netstat   15/tcp
ftp-data  20/tcp
ftp       21/tcp
telnet    23/tcp
time      37/tcp    timeserver
time      37/udp    timeserver
name      42/udp    nameserver
whois     43/tcp    nickname