SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
NFS / NIS / DHCP




Miguel Ángel Nieto <miguelangel@irontec.com>
 Irontec – Internet y Sistemas sobre GNU/Linux
Irontec – NFS y NIS


                                    Introducción NFS


NFS son las siglas de Network File System





Nos permite compartir carpetas y ficheros entre


distintos sistemas operativos a través de la red

De esta forma, accedemos a carpetas remotas
como si en realidad fuesen locales, de forma
transparente

Fué desarrollado en 1984 por Sun


Microsystems.


                                                   2
Irontec – NFS y NIS

                                             Introducción NFS

●   Sigue la estructura cliente/servidor
●   El servidor comparte unos datos que los clientes
    acceden desde sus estaciones de trabajo
●   Es posible compartir carpetas, dispositivos físicos
    (cd-rom, disquetera, usb stick) ya que en Unix, todo
    son carpetas :)
●   Existen tres versiones de NFS, v2, v3 y v4
●   La última v4 tiene, entre otras cosas, soporte
    kerberos y ACLs

                  http://www.nfsv4.org/



                                                           3
Irontec – NFS y NIS

                                                         NFS


●   Debian viene con el cliente NFS por defecto (nfs-
    common) Si no fuese así, será necesario instalaro
●   Si queremos instalar un servidor NFS, este se
    encuentra en el paquete nfs-kernel-server
●   Aún así, un equipo puede actuar tanto como
    servidor como cliente




                                                          4
Irontec – NFS y NIS

                                                                    NFS

●   El primer paso será instalar nfs-kernel-server
●   Una vez hecho, podemos parar y arrancar el
    servicio mediante el script /etc/init.d/nfs-kernel-
    server
●   Para comprobar si está en funcionamiento es
    necesario usar el comando rcpinfo -p
    # rpcinfo -p
programa vers proto     puerto
100000    2   tcp      111   portmapper
100000    2   udp      111   portmapper
100003    2   udp     2049   nfs
100003    2   tcp     2049   nfs
100005    1   udp     1018   mountd
100005    2   udp     1018   mountd
100005    1   tcp     1021   mountd
100005    2   tcp     1021   mountd
[....]
Tenemos que ver, como mínimo, portmapper, nfs y mountd.              5
Irontec – NFS y NIS

                                                         NFS

●   Por defecto no se permite el acceso a ningún
    recurso compartido
●   Estos se configuran en el fichero /etc/exports
●   Se debe indicar que carpeta compartir y a que host
●   Ejemplo:

    /tmp/ host.profesor.com(rw)
●   Se pueden indicar tanto host como Ips.
●   Si queremos dar solo lectura será (ro)
●   Una vez hecho el cambio se deben aplicar con el
    comando:
    # exportfs -ra

                                                          6
Irontec – NFS y NIS

                                                           NFS

●   A la hora de indicar el host al que le permitimos el
    acceso se pueden usar comodines como * y ?
●   Por ejemplo:
      –   alumno?.com
      –   Profesor.*
      –   *.google.es
      –   *.*.?ahoo.es
●   En caso de usar Ips también podemos definir rangos
    completos
      –   192.168.1.0/24
      –   192.168.1.111/32
      –




                                                            7
Irontec – NFS y NIS

                                                                NFS

●   Las opciones más importantes:
      –   Secure: obliga a que el servicio escuche en un puerto
            privilegiado (menor a 1024)
      –   Nosecure: elimina la obligación de usar un puerto
            privilegiado
      –   Ro: solo lectura
      –   Rw: lectura / escritura
      –   Noaccess: Sin permisos de acceso
      –   Anonuid: El uid de usuario con el que nos
            conectaremos
      –   Anongid: Es el gid de grupo con el que nos
            coenctaremos




                                                                  8
Irontec – NFS y NIS

                                                           NFS

● Para montar un dispositivo nfs habrá que hacer uso
  del comando mount
mount -t nfs 192.168.1.111:/var/log /mi/directorio/local
● El comando root debe ejecutarse como root




●   Ahora en /mi/directorio/local tendría que ver el
    contenido de la carpeta /var/log remota


●   ¡Vamos a probadlo! Uno será servidor y otro cliente




                                                            9
Irontec – NFS y NIS

                                                                NFS

●   Se debe compartir:
      –   /var/log con permisos de acceso total solo para tu
            compañero. Los demas solamente lectura

●   Se debe montar:
      –   El /var/log de tu compañero en tu /var/nuevolog
      –   Probad a escribir, mover, etc.

●   Suerte! :D




                                                                 10
Irontec – NFS y NIS

                                                          NFS

●   Se puede configurar para que NFS se monte al
    arrancar el sistema

●   Para ello se debe configurar en /etc/fstab

●   Gracias a esto podemos, por ejemplo, montar
    nuestra home en un NAS remoto




                                                           11
Irontec – NFS y NIS

                                     Optimizar la tranferencia NFS

●   A la hora de montar disponemos de unos valores
    que nos ayudaran a mejorar el rendimiento:
      –   Rsize: indica el tamaño en bytes de los bloques en la
           lectura
      –   Wsize: indica el tamaño en bytes de los bloques en la
           lectura
      –   Cache/nocache: habilita o deshabilita la cache
      –   Noatime: no actualiza la fecha de acceso
      –   Noacl: no hace uso de las acl




                                                                  12
Irontec – NFS y NIS

                                          Optimizar la tranferencia NFS

●   Sin cambiar opciones:
    dd if=/dev/zero of=/media/log/kk bs=16k count=16k
    16384+0 records in
    16384+0 records out
    268435456 bytes (268 MB) copied, 41,9188 s, 6,4 MB/s

●   Cambiando opciones (ejemplo):
    $ mount 10.10.0.118:/var/log/ /media/log/ -o wsize=1024,noatime


               ¡Probad a mejorar los tiempos!




                                                                      13
Irontec – NFS y NIS

                                     Optimizar la transferencia NFS

●   Más opciones:


    http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-nfs-client
                             man mount
                             man fstab
                              man nfs
                            man exports




                                                                 14
Irontec – NFS y NIS

                                                          NIS

●   Cada equipo tiene sus usuarios, su fichero host...
    ¡se puede compartir la información!
●   Gracias al servicio NIS es posible que los usuarios y
    hosts definidos en un servidor sean usables en
    cualquier sistema que actue como cliente.

●   NIS (network information server) fué un protocolo
    creado por Sun Microsystems.
●   Originalmente se llama YeloPages, de ahí que todos
    los comandos de NIS empiezen por “yp”




                                                           15
Irontec – NFS y NIS

                                                         NIS

●   Está ideado para redes Unix pequeñas donde la
    configuración de un DNS y LDAP supone más un
    problema que una solución por el trabajo que
    conlleva
●   Los elementos que compartiremos son:
      –   Usuarios
      –   Grupos
      –   Hosts

●   Al igual que con NFS, es necesario una estructura
    cliente/servidor



                                                          16
Irontec – NFS y NIS

                                                               NIS

●   El paquete Debian que incluye Nis se llama.... “nis”,
    por lo que habrá que instalarlo con apt-get
●   Es importante tener en cuenta que NIS no hace uso
    del Dns, por lo que en nuestro host debemos definir
    nuestro nombre de dominio:
      –   192.168.145.111 profesor.com
●   Una vez que tengamos el dominio, debemos
    definirlo en /etc/defaultdomain
●   El dominio SI es sensible a mayúsculas/minúsculas.
    No es lo mismo Profesor.com que profesor.com




                                                                17
Irontec – NFS y NIS

                                                         NIS

●   Una vez que tenemos configurado el acceso será
    necesario definir quien puede acceder a nuestros
    servicios
●   Se hace en el fichero /etc/default/nis
    255.255.255.0 192.168.144.0
    255.255.255.0 192.168.145.0
●   Solo los equipos de esa red podrán trabajar como
    clientes de nuestro servidor NIS




                                                          18
Irontec – NFS y NIS

                                                              NIS

●   Resumiendo, hemos configurado:
       –   Defaultdomain
       –   Redes a las que permitimos acceso

●   Ahora solamente queda configurar NIS para que
    actue como servidor y no como cliente
●   Dicho cambio se hace en /etc/default/nis
●   Una vez hecho el cambio, inicializaremos nuestra
    base de datos:

    /usr/lib/yp/ypinit -m



                                                               19
Irontec – NFS y NIS

                                                                            NIS

debian-servidor:~# /usr/lib/yp/ypinit -m


At this point, we have to construct a list of the hosts which will run NIS
servers. debian-servidor is in the list of NIS server hosts.       Please
continue to add
the names for the other hosts, one per line.   When you are done with the
list, type a <control D>.
next host to add:   debian-servidor
next host to add:   profesor.com
next host to add:
The current list of NIS servers looks like this:


debian-servidor
profesor.com


Is this correct?    [y/n: y]   y




                                                                             20
Irontec – NFS y NIS

                                                                   NIS

We need a few minutes to build the databases...
Building /var/yp/profesor.com/ypservers...
Running /var/yp/Makefile...
make[1]: se ingresa al directorio `/var/yp/profesor.com'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
[...]
make[1]: se sale del directorio `/var/yp/profesor.com'


debian-servidor has been set up as a NIS master server.


Now you can run ypinit -s debian-servidor on all slave server.




                                                                    21
Irontec – NFS y NIS

                                                         NIS

●   Cada vez que se añada un usuario o un host al
    equipo se debe reconstruir la base de datos, para
    que los nuevos elementos estén disponibles a todo
    el mundo
●   Estas bases de datos se guardan en:
      –   /var/yp
●   La comunicación entre cliente y servidor se hace a
    través del puerto 111 TCP (portmap) por lo que
    deberá estar abierto y sin firewall de por medio




                                                          22
Irontec – NFS y NIS

                                                                             NIS

●   Es posible jugar con la seguridad del servidor,
    definiendo que datos deseamos exportar a los
    clientes y cuales no
●   Dicha política se configura en:
        –    /etc/ypserv.conf

    # Host                      : Domain   : Map             : Security
    *                           : *        : passwd.byname   : port/mangle




                                                                              23
Irontec – NFS y NIS

                                                                            NIS

●   host: dirección IP con comodines opcionales
●   domain: nombre del dominio NIS para el que se
    aplica la regla; un asterisco sirve como comodín.
●   map: nombre del mapa al que se accede;
    igualmente un asterisco sirve como comodín.
●   security: tipo de seguridad aplicable
      –   none: donde siempre se permite el acceso
      –   port: sólo se permite el acceso si la petición se origina en un puerto
            privilegiado (por debajo de 1024)
      –   deny: acceso denegado en cualquier caso
●   A port y none es posible añadirle mangle[:field]
    donde “field” es un campo que será sustituido por
    una “x”. El valor por defecto es 2.

                                                                             24
Irontec – NFS y NIS

                                                           NIS

●   ¡Una vez configurado el servidor, queda configurar
    los clientes!
●   Por defecto la busqueda la hace mediante
    broadcast, lo que en nuestro caso puede ser una
    locura ya que tendremos varios servidores NIS
●   Por lo tanto, indicaremos el servidor NIS a mano en
    el fichero
      –   /etc/yp.conf
          ypserver 192.168.144.111
●   Reiniciamos el servicio Nis para aplicar los cambios.




                                                            25
Irontec – NFS y NIS

                                                         NIS

●   Ahora será necesario configurar nuestros ficheros
    passwd, shadow y groups para que admitan datos
    del NIS:
      –   Passwd: +::::::
      –   Shadow: +::::::::
      –   Group: +:::




                                                          26
Irontec – NFS y NIS

                                                                 NIS

●   Ahora haremos uso de los comandos yp* para
    comprobar que todo funciona:
      –   ypdomainname (averiguar nuestro dominio)
      –   ypwhich (averiguar nuestro servidor NIS)
      –   ypwich -m passwd (que servidor dispone el mapa
            passwd)
      –   ypcat -x (ver todos los servicios que ofrece el servidor)
      –   ypcat passwd (ver las entradas del mapa passwd)




                                                                      27
Irontec – NFS y NIS

                                                           NIS

●   Tendriamos que poder ver los hosts y passwd del
    servidor
●   Probad a actualizar los datos en el servidor y que
    estos sean visibles en el cliente
●   Intentad hacer login con un usuario NIS
●   Cambiad los roles, el servidor pasa a ser cliente y el
    cliente servidor :)




                                                            28
Irontec – NFS y NIS

                                                          DHCP

●   DHCP: Dynamic Host Configuration Protocol
●   Nos permite autoconfigurar la interfaz de red de los
    equipos
●   El demonio que usaremos en Debian es dhcpd,
    aunque existen más
●   apt-get install dhcpd :)
●   A parte de IP, Gateway y Máscara de red pueden
    enviar más opciones al cliente




                                                            29
Irontec – NFS y NIS

                                                                      DHCP

●   Otras opciones disponibles:
      –   http://www.ietf.org/rfc/rfc2132.txt

●   Las más importantes:
      –   Dirección DNS
      –   MTU (Unidad de transferencia máxima)
      –   Servidores NIS
      –   Servidores NTP
      –   Servidor TFT
      –   Servidor WINS




                                                                        30
Irontec – NFS y NIS

                                                          DHCP

●   Los manuales imprescindibles están en vuestro
    propio equipo
      –   man dhcpd.conf
      –   man dhcp-options
●   El fichero de configuración ya incluye unas opciones
    de ejemplo que nos pueden ayudar a montar
    nuestro servidor




                                                            31
Irontec – NFS y NIS

                                                            DHCP

●   Ejemplo DHCP:
       subnet 192.168.1.0 netmask 255.255.255.0 {
         range 192.168.1.10 192.168.1.50;
         option broadcast-address 192.168.1.255;
         option routers 192.168.1.1;
         option domain-name-servers 192.168.1.2;
         option ntp-servers 192.168.1.2;
         option domain-name irontec.com;
         option lpr-servers 192.168.1.3;
         option static-routes 10.10.0.31 10.10.0.1
       }




                                                              32
Irontec – NFS y NIS

                                                               DHCP

●   Si por alguna razón nos parecen pocas las
    opciones, podemos definir nuestras propias
    opciones:
      –   option sql-server-address code 193 = ip-address;
          option sql-server-address 192.168.3.1;
      –   option libro code 195 = text;
          option libro “the catcher in the rye”
●   Lista de posibles valores:
      –   Ip-address: Una dirección IP
      –   Text: Una cadena de texto
      –   Boolean: On/Off
      –   Integer: 1536
      –   …
●   El código puede ser un valor entre 128 y 254
                                                                 33
Irontec – NFS y NIS

                                                                DHCP

●   El tiempo de asignación de Ips se puede controlar
    (aunque en la práctica, si no apagas el ordenador es
    casi infinito)
      –   default-lease-time 600: la asignación de la IP al equipo
            tendrá una duración de 600 segundos. El cliente dhcp
            puede modificar este valor y pedir otro lease time
      –   Max-lease-time 7200: si el cliente pide otro lease time
            diferente del default, como máximo podrá indicar el
            valor aquí especificado




                                                                  34
Irontec – NFS y NIS

                                                         DHCP

●   El cliente de dhcp se configura en
    /etc/dhcp3/dhcpclient.conf
●   En el, entre otras cosas, podemos configurar que
    options se reciben
●   Los leases recibidos podemos consultarlos en
    /var/lib/dhcp3
●   Si por ejemplo tenemos nuestros propios DNS y no
    queremos que el DHCP nos cambie el resolv.conf,
    eliminariamos “domain-name-servers” de la lista de
    options a pedir




                                                           35

Más contenido relacionado

La actualidad más candente (16)

Configuracion del servidor dns en linux
Configuracion del servidor dns en linuxConfiguracion del servidor dns en linux
Configuracion del servidor dns en linux
 
Ubuntu
UbuntuUbuntu
Ubuntu
 
Linux Terminal Server
Linux Terminal ServerLinux Terminal Server
Linux Terminal Server
 
LTSP SFD Mar del Plata 09
LTSP SFD Mar del Plata 09LTSP SFD Mar del Plata 09
LTSP SFD Mar del Plata 09
 
FS_and_SWAP
FS_and_SWAPFS_and_SWAP
FS_and_SWAP
 
Mis comandos favoritos en linux parte 2
Mis comandos favoritos en linux parte 2Mis comandos favoritos en linux parte 2
Mis comandos favoritos en linux parte 2
 
Comandos para CentOS
Comandos para CentOSComandos para CentOS
Comandos para CentOS
 
Disco Duro
Disco DuroDisco Duro
Disco Duro
 
Acceso a sistema de disco
Acceso a sistema de disco Acceso a sistema de disco
Acceso a sistema de disco
 
Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivos
 
Guia esencial-linux-capacity-academy
Guia esencial-linux-capacity-academyGuia esencial-linux-capacity-academy
Guia esencial-linux-capacity-academy
 
Miranda castillo UNIX
Miranda castillo UNIXMiranda castillo UNIX
Miranda castillo UNIX
 
Sistemas de archivos linux
Sistemas de archivos linuxSistemas de archivos linux
Sistemas de archivos linux
 
Cristian medina Instalar unix
Cristian medina Instalar unixCristian medina Instalar unix
Cristian medina Instalar unix
 
Sistemas virtual de archivos en linux.
Sistemas virtual de archivos en linux.Sistemas virtual de archivos en linux.
Sistemas virtual de archivos en linux.
 
Nicolle
NicolleNicolle
Nicolle
 

Similar a Optimizar NFS y compartir información con NIS

19 sistema de archivos de red nfs
19  sistema de archivos de red nfs19  sistema de archivos de red nfs
19 sistema de archivos de red nfsAprende Viendo
 
Network.ppt alan gonzalez
Network.ppt alan gonzalezNetwork.ppt alan gonzalez
Network.ppt alan gonzalezguestab28f09
 
Network.ppt alan gonzalez
Network.ppt alan gonzalezNetwork.ppt alan gonzalez
Network.ppt alan gonzalezguestab28f09
 
Network.ppt alan gonzalez
Network.ppt alan gonzalezNetwork.ppt alan gonzalez
Network.ppt alan gonzalezguestab28f09
 
Network.ppt alan gonzalez
Network.ppt alan gonzalezNetwork.ppt alan gonzalez
Network.ppt alan gonzalezguestab28f09
 
Stacks de HPC #FSL2014
Stacks de HPC #FSL2014Stacks de HPC #FSL2014
Stacks de HPC #FSL2014Andrés Abrego
 
sistemas operativos-maestra maricarmen
sistemas operativos-maestra maricarmensistemas operativos-maestra maricarmen
sistemas operativos-maestra maricarmenKaren Vidal
 
Manejo de sistemas operativos en power point
Manejo de sistemas operativos en power point Manejo de sistemas operativos en power point
Manejo de sistemas operativos en power point Montse Perez
 
NFS y Samba
NFS y SambaNFS y Samba
NFS y Sambakrush kr
 
Ltsp linux terminal server project-
Ltsp  linux terminal server project-Ltsp  linux terminal server project-
Ltsp linux terminal server project-jeysonh
 
Clusters Beowulf
Clusters BeowulfClusters Beowulf
Clusters Beowulfsrcid
 
Despositivos de Memoria y Arranque
Despositivos de Memoria y ArranqueDespositivos de Memoria y Arranque
Despositivos de Memoria y Arranquezamudiocet
 
xfs sistema archivos.pptx
xfs sistema archivos.pptxxfs sistema archivos.pptx
xfs sistema archivos.pptxssuser5421a9
 

Similar a Optimizar NFS y compartir información con NIS (20)

19 sistema de archivos de red nfs
19  sistema de archivos de red nfs19  sistema de archivos de red nfs
19 sistema de archivos de red nfs
 
Network
NetworkNetwork
Network
 
Network
NetworkNetwork
Network
 
Network.ppt alan gonzalez
Network.ppt alan gonzalezNetwork.ppt alan gonzalez
Network.ppt alan gonzalez
 
Entorno grafico
Entorno graficoEntorno grafico
Entorno grafico
 
Entorno grafico
Entorno graficoEntorno grafico
Entorno grafico
 
Network.ppt alan gonzalez
Network.ppt alan gonzalezNetwork.ppt alan gonzalez
Network.ppt alan gonzalez
 
Network.ppt alan gonzalez
Network.ppt alan gonzalezNetwork.ppt alan gonzalez
Network.ppt alan gonzalez
 
Network.ppt alan gonzalez
Network.ppt alan gonzalezNetwork.ppt alan gonzalez
Network.ppt alan gonzalez
 
Network
NetworkNetwork
Network
 
Stacks de HPC #FSL2014
Stacks de HPC #FSL2014Stacks de HPC #FSL2014
Stacks de HPC #FSL2014
 
SERVIDOR WEB PARA LINUX
SERVIDOR WEB PARA LINUXSERVIDOR WEB PARA LINUX
SERVIDOR WEB PARA LINUX
 
Server nfs
Server nfsServer nfs
Server nfs
 
sistemas operativos-maestra maricarmen
sistemas operativos-maestra maricarmensistemas operativos-maestra maricarmen
sistemas operativos-maestra maricarmen
 
Manejo de sistemas operativos en power point
Manejo de sistemas operativos en power point Manejo de sistemas operativos en power point
Manejo de sistemas operativos en power point
 
NFS y Samba
NFS y SambaNFS y Samba
NFS y Samba
 
Ltsp linux terminal server project-
Ltsp  linux terminal server project-Ltsp  linux terminal server project-
Ltsp linux terminal server project-
 
Clusters Beowulf
Clusters BeowulfClusters Beowulf
Clusters Beowulf
 
Despositivos de Memoria y Arranque
Despositivos de Memoria y ArranqueDespositivos de Memoria y Arranque
Despositivos de Memoria y Arranque
 
xfs sistema archivos.pptx
xfs sistema archivos.pptxxfs sistema archivos.pptx
xfs sistema archivos.pptx
 

Más de Irontec

Gestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoGestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoIrontec
 
Sobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPSobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPIrontec
 
Presente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderPresente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderIrontec
 
Automated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCAutomated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCIrontec
 
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Irontec
 
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17Irontec
 
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...Irontec
 
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioEscalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioIrontec
 
VoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerVoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerIrontec
 
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec
 
Comparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseComparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseIrontec
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Irontec
 
Curso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecCurso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecIrontec
 
Curso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskCurso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskIrontec
 
Curso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanCurso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanIrontec
 
Curso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPCurso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPIrontec
 
Curso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosCurso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosIrontec
 
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraEuskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraIrontec
 
Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Irontec
 
Irontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec
 

Más de Irontec (20)

Gestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoGestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajo
 
Sobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPSobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIP
 
Presente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderPresente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ Provider
 
Automated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCAutomated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTC
 
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
 
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
 
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
 
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioEscalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
 
VoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerVoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz provider
 
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
 
Comparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseComparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSense
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)
 
Curso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecCurso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | Irontec
 
Curso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskCurso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y Asterisk
 
Curso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanCurso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: Dialplan
 
Curso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPCurso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIP
 
Curso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosCurso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzados
 
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraEuskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
 
Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6
 
Irontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IP
 

Optimizar NFS y compartir información con NIS

  • 1. NFS / NIS / DHCP Miguel Ángel Nieto <miguelangel@irontec.com> Irontec – Internet y Sistemas sobre GNU/Linux
  • 2. Irontec – NFS y NIS Introducción NFS NFS son las siglas de Network File System  Nos permite compartir carpetas y ficheros entre  distintos sistemas operativos a través de la red De esta forma, accedemos a carpetas remotas como si en realidad fuesen locales, de forma transparente Fué desarrollado en 1984 por Sun  Microsystems. 2
  • 3. Irontec – NFS y NIS Introducción NFS ● Sigue la estructura cliente/servidor ● El servidor comparte unos datos que los clientes acceden desde sus estaciones de trabajo ● Es posible compartir carpetas, dispositivos físicos (cd-rom, disquetera, usb stick) ya que en Unix, todo son carpetas :) ● Existen tres versiones de NFS, v2, v3 y v4 ● La última v4 tiene, entre otras cosas, soporte kerberos y ACLs http://www.nfsv4.org/ 3
  • 4. Irontec – NFS y NIS NFS ● Debian viene con el cliente NFS por defecto (nfs- common) Si no fuese así, será necesario instalaro ● Si queremos instalar un servidor NFS, este se encuentra en el paquete nfs-kernel-server ● Aún así, un equipo puede actuar tanto como servidor como cliente 4
  • 5. Irontec – NFS y NIS NFS ● El primer paso será instalar nfs-kernel-server ● Una vez hecho, podemos parar y arrancar el servicio mediante el script /etc/init.d/nfs-kernel- server ● Para comprobar si está en funcionamiento es necesario usar el comando rcpinfo -p # rpcinfo -p programa vers proto puerto 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100003 2 udp 2049 nfs 100003 2 tcp 2049 nfs 100005 1 udp 1018 mountd 100005 2 udp 1018 mountd 100005 1 tcp 1021 mountd 100005 2 tcp 1021 mountd [....] Tenemos que ver, como mínimo, portmapper, nfs y mountd. 5
  • 6. Irontec – NFS y NIS NFS ● Por defecto no se permite el acceso a ningún recurso compartido ● Estos se configuran en el fichero /etc/exports ● Se debe indicar que carpeta compartir y a que host ● Ejemplo: /tmp/ host.profesor.com(rw) ● Se pueden indicar tanto host como Ips. ● Si queremos dar solo lectura será (ro) ● Una vez hecho el cambio se deben aplicar con el comando: # exportfs -ra 6
  • 7. Irontec – NFS y NIS NFS ● A la hora de indicar el host al que le permitimos el acceso se pueden usar comodines como * y ? ● Por ejemplo: – alumno?.com – Profesor.* – *.google.es – *.*.?ahoo.es ● En caso de usar Ips también podemos definir rangos completos – 192.168.1.0/24 – 192.168.1.111/32 – 7
  • 8. Irontec – NFS y NIS NFS ● Las opciones más importantes: – Secure: obliga a que el servicio escuche en un puerto privilegiado (menor a 1024) – Nosecure: elimina la obligación de usar un puerto privilegiado – Ro: solo lectura – Rw: lectura / escritura – Noaccess: Sin permisos de acceso – Anonuid: El uid de usuario con el que nos conectaremos – Anongid: Es el gid de grupo con el que nos coenctaremos 8
  • 9. Irontec – NFS y NIS NFS ● Para montar un dispositivo nfs habrá que hacer uso del comando mount mount -t nfs 192.168.1.111:/var/log /mi/directorio/local ● El comando root debe ejecutarse como root ● Ahora en /mi/directorio/local tendría que ver el contenido de la carpeta /var/log remota ● ¡Vamos a probadlo! Uno será servidor y otro cliente 9
  • 10. Irontec – NFS y NIS NFS ● Se debe compartir: – /var/log con permisos de acceso total solo para tu compañero. Los demas solamente lectura ● Se debe montar: – El /var/log de tu compañero en tu /var/nuevolog – Probad a escribir, mover, etc. ● Suerte! :D 10
  • 11. Irontec – NFS y NIS NFS ● Se puede configurar para que NFS se monte al arrancar el sistema ● Para ello se debe configurar en /etc/fstab ● Gracias a esto podemos, por ejemplo, montar nuestra home en un NAS remoto 11
  • 12. Irontec – NFS y NIS Optimizar la tranferencia NFS ● A la hora de montar disponemos de unos valores que nos ayudaran a mejorar el rendimiento: – Rsize: indica el tamaño en bytes de los bloques en la lectura – Wsize: indica el tamaño en bytes de los bloques en la lectura – Cache/nocache: habilita o deshabilita la cache – Noatime: no actualiza la fecha de acceso – Noacl: no hace uso de las acl 12
  • 13. Irontec – NFS y NIS Optimizar la tranferencia NFS ● Sin cambiar opciones: dd if=/dev/zero of=/media/log/kk bs=16k count=16k 16384+0 records in 16384+0 records out 268435456 bytes (268 MB) copied, 41,9188 s, 6,4 MB/s ● Cambiando opciones (ejemplo): $ mount 10.10.0.118:/var/log/ /media/log/ -o wsize=1024,noatime ¡Probad a mejorar los tiempos! 13
  • 14. Irontec – NFS y NIS Optimizar la transferencia NFS ● Más opciones: http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-nfs-client man mount man fstab man nfs man exports 14
  • 15. Irontec – NFS y NIS NIS ● Cada equipo tiene sus usuarios, su fichero host... ¡se puede compartir la información! ● Gracias al servicio NIS es posible que los usuarios y hosts definidos en un servidor sean usables en cualquier sistema que actue como cliente. ● NIS (network information server) fué un protocolo creado por Sun Microsystems. ● Originalmente se llama YeloPages, de ahí que todos los comandos de NIS empiezen por “yp” 15
  • 16. Irontec – NFS y NIS NIS ● Está ideado para redes Unix pequeñas donde la configuración de un DNS y LDAP supone más un problema que una solución por el trabajo que conlleva ● Los elementos que compartiremos son: – Usuarios – Grupos – Hosts ● Al igual que con NFS, es necesario una estructura cliente/servidor 16
  • 17. Irontec – NFS y NIS NIS ● El paquete Debian que incluye Nis se llama.... “nis”, por lo que habrá que instalarlo con apt-get ● Es importante tener en cuenta que NIS no hace uso del Dns, por lo que en nuestro host debemos definir nuestro nombre de dominio: – 192.168.145.111 profesor.com ● Una vez que tengamos el dominio, debemos definirlo en /etc/defaultdomain ● El dominio SI es sensible a mayúsculas/minúsculas. No es lo mismo Profesor.com que profesor.com 17
  • 18. Irontec – NFS y NIS NIS ● Una vez que tenemos configurado el acceso será necesario definir quien puede acceder a nuestros servicios ● Se hace en el fichero /etc/default/nis 255.255.255.0 192.168.144.0 255.255.255.0 192.168.145.0 ● Solo los equipos de esa red podrán trabajar como clientes de nuestro servidor NIS 18
  • 19. Irontec – NFS y NIS NIS ● Resumiendo, hemos configurado: – Defaultdomain – Redes a las que permitimos acceso ● Ahora solamente queda configurar NIS para que actue como servidor y no como cliente ● Dicho cambio se hace en /etc/default/nis ● Una vez hecho el cambio, inicializaremos nuestra base de datos: /usr/lib/yp/ypinit -m 19
  • 20. Irontec – NFS y NIS NIS debian-servidor:~# /usr/lib/yp/ypinit -m At this point, we have to construct a list of the hosts which will run NIS servers. debian-servidor is in the list of NIS server hosts. Please continue to add the names for the other hosts, one per line. When you are done with the list, type a <control D>. next host to add: debian-servidor next host to add: profesor.com next host to add: The current list of NIS servers looks like this: debian-servidor profesor.com Is this correct? [y/n: y] y 20
  • 21. Irontec – NFS y NIS NIS We need a few minutes to build the databases... Building /var/yp/profesor.com/ypservers... Running /var/yp/Makefile... make[1]: se ingresa al directorio `/var/yp/profesor.com' Updating passwd.byname... Updating passwd.byuid... Updating group.byname... [...] make[1]: se sale del directorio `/var/yp/profesor.com' debian-servidor has been set up as a NIS master server. Now you can run ypinit -s debian-servidor on all slave server. 21
  • 22. Irontec – NFS y NIS NIS ● Cada vez que se añada un usuario o un host al equipo se debe reconstruir la base de datos, para que los nuevos elementos estén disponibles a todo el mundo ● Estas bases de datos se guardan en: – /var/yp ● La comunicación entre cliente y servidor se hace a través del puerto 111 TCP (portmap) por lo que deberá estar abierto y sin firewall de por medio 22
  • 23. Irontec – NFS y NIS NIS ● Es posible jugar con la seguridad del servidor, definiendo que datos deseamos exportar a los clientes y cuales no ● Dicha política se configura en: – /etc/ypserv.conf # Host : Domain : Map : Security * : * : passwd.byname : port/mangle 23
  • 24. Irontec – NFS y NIS NIS ● host: dirección IP con comodines opcionales ● domain: nombre del dominio NIS para el que se aplica la regla; un asterisco sirve como comodín. ● map: nombre del mapa al que se accede; igualmente un asterisco sirve como comodín. ● security: tipo de seguridad aplicable – none: donde siempre se permite el acceso – port: sólo se permite el acceso si la petición se origina en un puerto privilegiado (por debajo de 1024) – deny: acceso denegado en cualquier caso ● A port y none es posible añadirle mangle[:field] donde “field” es un campo que será sustituido por una “x”. El valor por defecto es 2. 24
  • 25. Irontec – NFS y NIS NIS ● ¡Una vez configurado el servidor, queda configurar los clientes! ● Por defecto la busqueda la hace mediante broadcast, lo que en nuestro caso puede ser una locura ya que tendremos varios servidores NIS ● Por lo tanto, indicaremos el servidor NIS a mano en el fichero – /etc/yp.conf ypserver 192.168.144.111 ● Reiniciamos el servicio Nis para aplicar los cambios. 25
  • 26. Irontec – NFS y NIS NIS ● Ahora será necesario configurar nuestros ficheros passwd, shadow y groups para que admitan datos del NIS: – Passwd: +:::::: – Shadow: +:::::::: – Group: +::: 26
  • 27. Irontec – NFS y NIS NIS ● Ahora haremos uso de los comandos yp* para comprobar que todo funciona: – ypdomainname (averiguar nuestro dominio) – ypwhich (averiguar nuestro servidor NIS) – ypwich -m passwd (que servidor dispone el mapa passwd) – ypcat -x (ver todos los servicios que ofrece el servidor) – ypcat passwd (ver las entradas del mapa passwd) 27
  • 28. Irontec – NFS y NIS NIS ● Tendriamos que poder ver los hosts y passwd del servidor ● Probad a actualizar los datos en el servidor y que estos sean visibles en el cliente ● Intentad hacer login con un usuario NIS ● Cambiad los roles, el servidor pasa a ser cliente y el cliente servidor :) 28
  • 29. Irontec – NFS y NIS DHCP ● DHCP: Dynamic Host Configuration Protocol ● Nos permite autoconfigurar la interfaz de red de los equipos ● El demonio que usaremos en Debian es dhcpd, aunque existen más ● apt-get install dhcpd :) ● A parte de IP, Gateway y Máscara de red pueden enviar más opciones al cliente 29
  • 30. Irontec – NFS y NIS DHCP ● Otras opciones disponibles: – http://www.ietf.org/rfc/rfc2132.txt ● Las más importantes: – Dirección DNS – MTU (Unidad de transferencia máxima) – Servidores NIS – Servidores NTP – Servidor TFT – Servidor WINS 30
  • 31. Irontec – NFS y NIS DHCP ● Los manuales imprescindibles están en vuestro propio equipo – man dhcpd.conf – man dhcp-options ● El fichero de configuración ya incluye unas opciones de ejemplo que nos pueden ayudar a montar nuestro servidor 31
  • 32. Irontec – NFS y NIS DHCP ● Ejemplo DHCP: subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.50; option broadcast-address 192.168.1.255; option routers 192.168.1.1; option domain-name-servers 192.168.1.2; option ntp-servers 192.168.1.2; option domain-name irontec.com; option lpr-servers 192.168.1.3; option static-routes 10.10.0.31 10.10.0.1 } 32
  • 33. Irontec – NFS y NIS DHCP ● Si por alguna razón nos parecen pocas las opciones, podemos definir nuestras propias opciones: – option sql-server-address code 193 = ip-address; option sql-server-address 192.168.3.1; – option libro code 195 = text; option libro “the catcher in the rye” ● Lista de posibles valores: – Ip-address: Una dirección IP – Text: Una cadena de texto – Boolean: On/Off – Integer: 1536 – … ● El código puede ser un valor entre 128 y 254 33
  • 34. Irontec – NFS y NIS DHCP ● El tiempo de asignación de Ips se puede controlar (aunque en la práctica, si no apagas el ordenador es casi infinito) – default-lease-time 600: la asignación de la IP al equipo tendrá una duración de 600 segundos. El cliente dhcp puede modificar este valor y pedir otro lease time – Max-lease-time 7200: si el cliente pide otro lease time diferente del default, como máximo podrá indicar el valor aquí especificado 34
  • 35. Irontec – NFS y NIS DHCP ● El cliente de dhcp se configura en /etc/dhcp3/dhcpclient.conf ● En el, entre otras cosas, podemos configurar que options se reciben ● Los leases recibidos podemos consultarlos en /var/lib/dhcp3 ● Si por ejemplo tenemos nuestros propios DNS y no queremos que el DHCP nos cambie el resolv.conf, eliminariamos “domain-name-servers” de la lista de options a pedir 35