#Montando una red escolar 100% libre – Parte 4 “NIS+NFS+autofs”

  • ¿Qué es lo que obtendremos al final de esta entrega?

Al final de este cuarta entrega tendremos un sistema que permitirá loguearse a usuarios registrados en el servidor desde el equipo cliente usando NIS, y al mismo tiempo mediante NFS y autofs se automontarán las carpetas personales de ese usuario que se loguea, el cual todos sus archivos se encuentran en el servidor, lo que centralizará el sistema de backups.

La creación del dominio usando la unión de NIS y NFS quizás sea una de las partes más importantes de este proyecto. Con ello podremos tener usuarios logueándose en los equipos cliente cuando existen en el servidor. Sus carpetas personales se encuentran también en el servidor, por lo que la tarea de Backup se centraliza bastante.

El servidor que se usará como servidor NIS será #2 “Yai”.

Recordando sus características:

Servidor #2 “Yai”

S.O.: CentOS 5.4 64bits
IP: 10.0.0.2/16 –> Asignada por DHCP a su MAC
Servicios: NIS, NFS, openSSH, SFTP, FreeNX.

NIS

  • ¿Qué es NIS y para qué sirve?

NIS (Network Information Service) es el nombre de un protocolo de servicios de directorio cliente-servidor creado y desarrollado por Sun Microsystems (actualmente comprada por Oracle)

Este protocolo permite el envío de datos de configuración como pueden ser nombres de usuarios y hosts mediante la red.

NIS puede ser usado en cualquier sistema Unix.

  • Instalación de paquetes en el servidor

Los paquetes necesarios para poner a punto nuestro servidor NIS son 3, ypbind, yp-tools e ypserv:

yum install ypbind yp-tools ypserv

  • Configuración y creación de mapa del servidor NIS

El primer fichero que editaremos será /etc/yp.conf. En él, introducimos una nueva línea con la forma: “domain tudominio.com server IP_de_servidor_NIS

domain marinbonito.es server 10.0.0.2

En el fichero /etc/ypserv.conf debemos comprobar que aparezca lo siguiente:

dns: no
files: 30
xfr_check_port: yes
* : * : shadow.byname : port
* : * : passwd.adjunct.byname : port

Por defecto en CentOS ya viene todo bien puesto.

Ahora hay que especificar el nombre del dominio NIS editando el fichero /etc/sysconfig/network. Añadimos:

NISDOMAIN=”marinbonito.es”

Para hacer la integración al dominio efectiva debemos ejecutar los siguientes 2 comandos:

domainname marinbonito.es

ypdomainname marinbonito.es

Debemos especificar en que red trabajará el NIS, por lo tanto abrimos el fichero /var/yp/securenets o lo creamos si no existe y añadimos dos líneas:

host 127.0.0.1

255.255.0.0 10.0.0.0

Es hora de comenzar a iniciar algunos servicios. Para empezar necesitamos portmap (reiniciarlo para que surjan efecto los cambios y vea que acabamos de instalar ypserv) e ypserv

service portmap restart

service ypserv start

Para hacer que ypserv se ejecute con el inicio del sistema ejecutamos:

chkconfig ypserv on

Tenemos ahora que crear los mapas NIS que es donde se almacenará la información del servicio. Nos vamos hasta la carpeta /var/yp/ y ejecutamos make:

cd /var/yp/

make

Como último paso solo queda iniciar los servicios necesarios restantes (ypbind, yppasswdd e ypxfrd) y hacerlos que inicien con el sistema:

service ypbind start; chkconfig ypbind on

service yppasswdd start; chkconfig yppasswdd on

service ypxfrd start; chkconfig ypxfrd on

  • Instalación de los paquetes necesarios en los clientes

Para los clientes únicamente requeriremos de dos paquetes:

yum install ypbind yp-tools

  • Configuración del cliente NIS

Como en el caso del servidor, aquí también es necesario editar el fichero /etc/sysconfig/network. En este caso añadimos:

NISDOMAIN=internal

Editamos ahora /etc/yp.conf y como en el caso del servidor añadimos la siguiente línea:

domain marinbonito.es server 10.0.0.2

En /etc/hosts añadimos un registro para identificar al anfitrión:

10.0.0.2               Yai.marinbonito.es                     Yai

Ejecutamos los dos comandos ya conocidos para hacer efectiva la entrada al dominio:

domainname marinbonito.es

ypdomainname marinbonito.es

A continuación le indicamos al sistema dónde tiene que recoger la información. Abrimos /etc/nsswitch.conf  y nos aseguramos de que ponga lo siguiente:

passwd: files nis

shadow: files nis

group: files nis

Debemos especificar mediante los ficheros /etc/hosts.deny y /etc/hosts.allow que el servicio de PORTMAP sea accesible para nuestra red.

/etc/hosts.deny (añadimos):

portmap:ALL

/etc/hosts.allow (añadimos):

portmap:127.0.0.1

portmap:10.0.0.0/255.255.0.0

Iniciamos NIS y especificamos que inicie con el sistema:

service ypbind start

chkconfig ypbind on

Ya está todo listo. Ahora para comprobar que todo funciona podemos introducir el siguiente comando para ver los usuarios que se pueden loguear desde los clientes mediante NIS:

ypcat passwd

  • Forma alternativa de configurar el cliente NIS

Existen otras formas de configurar ya sea el servidor o el cliente NIS. Tenemos Webmin, authconfig-tui o authconfig.

Antes de ejecutar el comando hay que asegurarse de que PORTMAP esté instalado (paquete “rpcbind” en Fedora) y ejecutando. En Fedora el servicio se inicia con:

service rpcbind start

Mediante el comando authconfig podemos configurar nuestro cliente con un simple:

authconfig –enablenis –nisdomain marinbonito.es –nisserver 10.0.0.2 –update


NFS

  • ¿Qué es y para qué sirve?

NFS, de las siglas Network File System, es un protocolo de aplicación usado para la distribución de archivos en redes locales.

Hay tres versiones de NFS actualmente en uso.

  • La versión 2 de NFS (NFSv2), es la más antigua y está ampliamente soportada por muchos sistemas operativos.
  • La versión 3 de NFS (NFSv3) tiene más características, incluyendo manejo de archivos de tamaño variable y mejores facilidades de informes de errores, pero no es completamente compatible con los clientes NFSv2.
  • NFS versión 4 (NFSv4) incluye seguridad Kerberos, trabaja con cortafuegos, permite ACLs y utiliza operaciones con descripción del estado.
  • Configuración de nuestro servidor NFS

Lo primero que debemos hacer en nuestro CentOS es comprobar que tenemos instalados los paquetes “nfs-utils” y “portmap”, para ello usamos el siguiente comando:

rpm -q nfs-utils portmap

El cual, en el caso de tener dichos paquetes ya instalados nos mostraría la siguiente salida:

Editamos /etc/hosts.allow para permitir el acceso a PORTMAP por los usuarios de nuestra red local

portmap:10.0.0.0/255.255.0.0

En /etc/hosts.deny editamos para que nadie más tenga acceso:

portmap:ALL

Hechos los cambios procedemos a especificar qué carpetas vamos a compartir. En nuestro caso exportaremos por ahora la carpeta en la que he decidido que se almacenarán las carpetas personales de los usuarios. Por ello he creado una carpeta llamada “usuarios” dentro de /home y es lo que pondré en /etc/exports añadiendo la siguiente línea:

/home/usuarios          10.0.0.0/255.255.0.0(rw)

Ahora tendremos que reiniciar el servicio de NFS con la siguiente orden:

service nfs restart

Activamos de la siguiente forma el servicio para que inicie con el sistema:

chkconfig –level 346 nfs on

  • Configuración del NFS en el cliente

Es necesario que en el equipo cliente esté instalado portmap, ya lo hicimos cuando lo configuramos para el NIS.

Lo que vamos a hacer en el cliente, en este caso no será montar una carpeta corriente. Como ya comenté un poco más arriba, lo que exportamos en el servidor fue la carpeta “usuarios”, donde se guardan las carpetas personales de cada usuario.

Lo que vamos a hacer es instalar el paquete “autofs” para que automonte la carpeta personal del usuario que hizo login.

Primero creamos nuestro punto de montaje dentro de /home

mkdir /home/usuarios

Procedemos ahora con la instalación del paquete antes mencionado usando “yum”:

yum install autofs

Editamos el fichero /etc/auto.master y añadimos lo siguiente:

/home/usuarios             /etc/auto.home

Ahora creamos el fichero /etc/auto.home e introducimos:

*             -fstype=nfs       10.0.0.2/255.255.0.0

Esto montará cualquier usuario mediante nfs.

Reiniciamos el servicio:

service autofs restart

Todo listo. Ahora podremos loguearnos desde nuestro cliente mediante NIS y al mismo tiempo se montará de forma automática su carpeta personal alojada en el servidor.

Próximo post –> script para creación automática de usuarios y asignación automática de contraseñas aleatorias.


Leave a Reply


Powered by WP Hashcash