13.6. Configurando un Cliente NIS con la libc de GNU

Ahora describiremos y discutiremos la configuración de un cliente NIS utilizando el soporte de la biblioteca libc de GNU.

Su primer paso debe ser decirle al cliente NIS de la libc de GNU qué servidor usar para el servicio NIS. Anteriormente mencionamos que el ypbind de Linux permite configurar el servidor NIS a utilizar. El comportamiento predeterminado es consultar al servidor de la red local. Si es probable que el nodo que está configurando se vaya a mover de un dominio a otro, como un portátil, debería dejar el fichero /etc/yp.conf vacío, y el nodo consultará en la red local qué servidor NIS es el que procede.

Una configuración más segura para la mayoría de nodos es especificar el nombre del servidor en el fichero de configuración /etc/yp.conf. Un fichero muy sencillo para un nodo de la red de la Vinatera sería así:
    # yp.conf - configuración de YP para la biblioteca GNU libc.
    #
    ypserver vbardolino

La sentencia ypserver le dice a su nodo que use el nodo especificado como servidor NIS para el dominio local. En este ejemplo hemos especificado vbardolino como servidor NIS. Por supuesto, la dirección IP correspondiente a vbardolino debe especificarse en el fichero hosts; alternativamente, puede usar la propia dirección IP con el argumento server.

En la forma que se muestra en el ejemplo, la orden ypserver le dice a ypbind que use el servidor nombrado sin tener en cuenta cuál es el dominio NIS actual. Sin embargo, si usted quiere mover su máquina frecuentemente por varios dominios NIS, querrá tener la información de varios dominios en el fichero yp.conf. Puede tener información de los servidores de varios dominios NIS en yp.conf especificando la información mediante la sentencia domain. Por ejemplo, puede cambiar el ejemplo anterior en un portátil por esto:
    # yp.conf - configuración de YP para la biblioteca libc de GNU.
    # 
    domain vinatera server vbardolino 
    domain cervecera server vstout 

Esto le permite levantar el portátil en cualquiera de los dos dominios simplemente especificando el dominio NIS deseado en tiempo de ejecución utilizando la orden domainname. Luego el cliente NIS utilizará el servidor que proceda para el dominio actual.

Hay una tercera opción que puede querer usar. Cubre el caso en el que usted no sabe el nombre o la dirección IP del servidor a utilizar en un dominio particular, pero quiere usar servidores fijos para ciertos dominios. Imagine que queremos insistir en utilizar un servidor especificado cuando trabajamos dentro del dominio de la Vinatera, pero queremos buscar un servidor cuando estamos dentro del dominio de la Cervecera. Tendríamos que modificar nuestro fichero yp.conf de nuevo para que quedara así:
    # yp.conf - configuración YP para la biblioteca libc de GNU.
    # 
    domain vinatera server vbardolino 
    domain cervecera broadcast

La palabra clave broadcast le dice a ypbind que use el servidor NIS que encuentre en el dominio.

Tras crear este fichero básico de configuración y asegurarse de que es legible por todo el mundo, debe realizar la primera comprobación para conectar con su servidor. Asegúrese de elegir un mapa que su servidor distribuya, como el hosts.byname, e intente obtenerlo utilizando la utilidad ypcat:

    # ypcat hosts.byname
    172.16.2.2      vbeaujolais.vbrew.com    vbeaujolais
    172.16.2.3      vbardolino.vbrew.com     vbardolino
    172.16.1.1      vlager.vbrew.com         vlager
    172.16.2.1      vlager.vbrew.com         vlager
    172.16.1.2      vstout.vbrew.com         vstout
    172.16.1.3      vale.vbrew.com           vale
    172.16.2.4      vchianti.vbrew.com       vchianti

La salida que obtenga debe parecerse a la que se muestra arriba. Si obtiene un mensaje de error que diga: Can't bind to server which serves domain, entonces o el dominio NIS que ha especificado no tiene un servidor concordante definido en yp.conf, o el servidor es inaccesible por alguna razón. En el último caso, asegúrese de que un ping al nodo arroja un resultado positivo, y de que de hecho está corriendo un servidor NIS. Puede verificar esto último utilizando la orden rpcinfo, que tendría que producir la siguiente salida:
    # rpcinfo -u serverhost ypserv
    program 100004 version 1 ready and waiting
    program 100004 version 2 ready and waiting