#Montando una red escolar 100% libre – Parte 4 “NIS+NFS+autofs”
Posted by faidoc in PDF's (tutoriales), Proyectos Friday, 26 February 2010 14:03 No Comments
- ¿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