Está en la página 1de 58

Curso de NFS, DHCP y CUPS en GNU/Linux (20 horas)

Teora, Gua de prcticas y ejercicios

Pgina 1 de 58

ndice de contenido
Objetivos del curso..................................................................................................4 Requisitos............................................................................................................4 Network File System...........................................................................................5 (Sistema de Archivos en Red)..............................................................................5 Sistema de archivos de red (NFS).......................................................................6 Servicios requeridos........................................................................................8 NFS y portmap.................................................................................................8 Resolucin de problemas de NFS y portmap...................................................8 Iniciar y detener NFS......................................................................................9 Configuracin del servidor NFS....................................................................10 Archivos de configuracin de clientes NFS...................................................14 El archivo /etc/fstab.......................................................................................14 Cmo proteger NFS.......................................................................................17 Uso de NFSv4................................................................................................18 Permisos de archivos.....................................................................................18 El cliente NFS....................................................................................................19 Precauciones con NFS ..................................................................................20 Corriendo NFSv4 a travs de un tnel SSH .....................................................22 Configuracin del servidor para NFSv4 sobre SSH:.....................................22 Configuracin del cliente para NFSv4 sobre SSH:........................................22 Prcticas con NFS ............................................................................................23 Ejercicio 1......................................................................................................23 6. Hacer pruebas tanto en el cliente como en el servidor: Crear archivos, borrarlos, modificarlos y ver lo que pasa con ellos.......................................24 Ejercicio 2: ....................................................................................................24 Ejercicio 3......................................................................................................24 Ejercicio 4......................................................................................................25
Pgina 2 de 58

Servicio DHCP...................................................................................................26 (Configuracin dinmica de clientes IP) ..........................................................26 El servicio DHCP ..................................................................................................27 Tipos de configuraciones y asignaciones con DHCP ........................................28 Operacin: Pasos realizados por el cliente DHCP:........................................29 Qu ventajas da el DHCP?...............................................................................30 Opciones ms importantes que un servidor DHCP puede asignar/proveer a cualquier cliente que lo solicite. ...................................................................31 Datos importantes al configurar servidor DHCP..........................................31 Configuracin General del DHCP en GNU/Linux (cualquier distro).............32 Declaracin de Subred...................................................................................37 Declaracin de shared-network, o red compartida.......................................37 Consideraciones de seguridad.......................................................................39 Instalacin y configuracin del servidor DHCP en Debian etch / canaima v1.. 40 Practicas con el servicio DHCP..........................................................................41 Configuracin de un servidor DHCP en una sola red sub-red....................41 Prctica avanzada. (Basado en un caso del examen de certificacin LPI, Linux Professional Institute) Nivel: Profesional Avanzado de Linux o LPIC-2 y con modificaciones y adaptaciones de Tecno-Redes Sistemas VCG...........41 Servicio de impresin con el sistema CUPS Common UNIX Printing System.. 47 En qu consiste el sistema de impresin CUPS?.............................................49 Instalar una impresora local con CUPS.............................................................50 Compartir nuestra impresora............................................................................55 Imprimir desde Linux en una impresora Windows............................................59

Pgina 3 de 58

Objetivos del curso Instalar y configurar los servicios de NFS (Sistema para compartir directorios y archivos en una red) , CUPS (Sistema de impresin en Linux) (Configuracin dinmicas de IP). y DHCP

Requisitos Requiere conocimientos bsicos sobre GNU/Linux y Redes TCP/IP.

Pgina 4 de 58

NetworkFileSystem (SistemadeArchivosenRed)

Pgina 5 de 58

Sistema de archivos de red (NFS) Un Sistema de archivos de red (NFS) permite a los hosts remotos montar sistemas de archivos sobre la red e interactuar con esos sistemas de archivos como si estuvieran montados localmente. Todas las versiones de NFS pueden utilizar el Protocolo de control de transmisiones (TCP) ejecutndose sobre una red IP. En el caso de NFSv4, ste lo requiere. NFSv2 y NFSv3 pueden utilizar el Protocolo de datagrama de usuarios (UDP) sobre una red IP para proporcionar conexiones de red sin supervisin (stateless) entre el cliente y el servidor. Cuando se utiliza NFSv2 o NFSv3 con UDP, bajo condiciones normales la conexin UDP desatendida minimiza el trfico de la red, ya que el servidor NFS enva un cookie al cliente despus que este tiene acceso al volumen compartido. Este cookie es un valor aleatorio guardado en el lado del servidor y es pasado junto con las peticiones RPC (llamadas remotas) desde el cliente. El servidor NFS puede ser reiniciado sin afectar a los clientes y las cookies permanecen intactas. Sin embargo, debido a que UDP es sin supervisin, si el servidor se cae de forma inesperada, los clientes UDP continan saturando la red con peticiones para el servidor. Por esta razn, TCP es el protocolo preferido cuando se conecte a un servidor NFS. Cuando se autentifique utilizando NFSv4, se crea una conexin atenta y, de forma opcional, est disponible la autenticacin de usuarios y grupos con Kerberos. NFSv4 no tiene interaccin con portmapper, rpc.mountd, rpc.lockd y rpc.statd, pues estos han sido incorporados en el kernel. NFSv4 escucha en el puerto TCP 2049. TCP es el protocolo por defecto para NFS. UDP se puede utilizar para propsitos de compatibilidad si se necesita, pero no es recomendado para uso general.
Pgina 6 de 58

La nica vez que NFS lleva a cabo la autenticacin es cuando el cliente intenta montar un recurso compartido NFS. Para limitar el acceso al servicio NFS, se utilizan envolturas TCP (TCP wrappers). Los TCP wrappers leen los archivos /etc/ hosts.allow y /etc/hosts.deny para determinar si a un cliente particular o red tiene acceso o no al servicio NFS. Despus de que al cliente se le permite acceso gracias a un TCP wrapper, el servidor NFS recurre a su archivo de configuracin, /etc/exports, para determinar si el cliente tiene suficientes privilegios para acceder a los sistemas de archivos exportados. Una vez otorgado el acceso, todas las operaciones de archivos y de directorios estn disponibles para el usuario. Si se est utilizando NFSv2 o NFSv3, los cuales no son compatibles con la autenticacin Kerberos, los privilegios de montaje de NFS son otorgados al host cliente, no para el usuario. Por lo tanto, se puede acceder a los sistemas de archivos exportados por cualquier usuario en un host cliente con permisos de acceso. Cuando se configuran las unidades compartidas NFS, tenga mucho cuidado de cules hosts obtienen permisos de lectura/escritura (rw). Para que NFS funcione con una instalacin con un cortafuegos instalado, se debe configurar IPTables con el puerto predeterminado TCP 2049. Sin una configuracin IPTables, NFS no funcionar correctamente. Por ejemplo, la lnea siguiente habilita NFS4 en un Firewall particular:
.... iptables -A INPUT

-m state --state NEW

-m tcp -p tcp --dport 2049 -j ACCEPT

........ El script de inicializacin NFS y el proceso rpc.nfsd ahora permiten la vinculacin a cualquier puerto especificado durante el inicio del sistema. Sin embargo, esto puede ser susceptible a errores si el puerto no est disponible o si entra en conflicto con otro demonio.

Pgina 7 de 58

Servicios requeridos NFS y portmap El servicio portmap bajo Linux asigna las peticiones RPC a los servicios correctos. Los procesos RPC notifican a portmap cuando comienzan, revelando el nmero de puerto que ellos estn supervisando y el nmero de programas RPC que esperan servir. El sistema cliente entonces contacta con el portmap del servidor con un nmero de programa RPC particular. Entonces portmap redirecciona al cliente al nmero del puerto apropiado para que se comunique con el servicio solicitado. Como los servicios basados en RPC confan en portmap para hacer todas las conexiones con las peticiones de clientes entrantes, portmap debe estar disponible antes que cualquiera de esos servicios comience. El servicio portmap puede utilizar TCP wrappers para el control de acceso, y las reglas de control de acceso para portmap afectan a todos los servicios basados en RPC. Alternativamente, es posible especificar reglas de control de acceso para cada demonio RPC NFS. Las pginas man para rpc.mountd y rpc.statd contienen informacin relativa a la sintaxis precisa de estas reglas.

Resolucin de problemas de NFS y portmap


Como portmap proporciona la coordinacin entre servicios RPC y los nmeros de puertos usados para comunicarlos, es til poder visualizar el estado de los servicios RPC actuales usando portmap cuando estamos resolviendo algn problema. El comando rpcinfo muestra cada servicio basado en RPC con su nmero de puerto, nmero de programa RPC, versin y tipo de protocolo (TCP o UDP). Para asegurarse que estn activos los servicios NFS basados en RPC para
Pgina 8 de 58

portmap, usar el comando siguiente: #rpcinfo -p A continuacin se presenta una muestra de la salida de este comando:
programa vers proto puerto 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 1026 status 100024 1 tcp 3019 status 100011 1 udp 939 rquotad 100011 2 udp 939 rquotad 100011 1 tcp 942 rquotad 100011 2 tcp 942 rquotad 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100021 1 udp 1033 nlockmgr 100021 3 udp 1033 nlockmgr 100021 4 udp 1033 nlockmgr 100021 1 tcp 2893 nlockmgr 100021 3 tcp 2893 nlockmgr 100021 4 tcp 2893 nlockmgr 100005 1 udp 960 mountd 100005 1 tcp 963 mountd 100005 2 udp 960 mountd 100005 2 tcp 963 mountd 100005 3 udp 960 mountd 100005 3 tcp 963 mountd

La salida de este comando revela que los servicios NFS correctos se estn ejecutando. Si uno de los servicios NFS no comienza correctamente, portmap puede ser incapaz de corresponder las peticiones RPC de los clientes para ese servicio con sus respectivos puertos. En muchos casos, si NFS no est presente en la salida de rpcinfo, reiniciando NFS provocar que estos servicios se registren correctamente con portmap y empiecen a funcionar.

Pgina 9 de 58

Iniciar y detener NFS


Para ejecutar un servidor NFS, debe estar ejecutndose el servicio portmap. Para verificar que portmap est activo, ejecutar el comando siguiente: #portmap status Si el servicio portmap se est ejecutando, entonces se puede iniciar nfs. Para iniciar un servidor NFS, ejecutar: #/etc/init.d/nfs-kernel-server start Para detener el servidor, ejecutar: #/etc/init.d/nfs-kernel-server stop La opcin restart es un atajo para detener y luego iniciar NFS. Esta es la forma ms eficiente de hacer que los cambios en la configuracin tomen efecto luego de modificar el archivo de configuracin por NFS. Para reiniciar el servidor, ejecutar: #/etc/init.d/nfs-kernel-server restart

Para reiniciar condicionalmente el servidor, ejecutar: Para recargar el archivo de configuracin del servidor NFS sin reiniciar el servicio, ejecutar: #/etc/init.d/nfs-kernel-server reload

Configuracin del servidor NFS


El archivo de configuracin /etc/exports El archivo /etc/exports controla cules sistemas de archivos son exportados a las

Pgina 10 de 58

mquinas remotas y especifica opciones. Las lneas en blanco son ignoradas, se pueden comentar lneas con el smbolo # y las lneas largas pueden ser divididas con una barra invertida (\). Cada sistema de archivos exportado debe tener su propia lnea y cualquier lista de hosts autorizadas colocada despus de un sistema de archivos exportado, debe estar separada por un espacio. Las opciones para cada uno de los hosts deben ser colocadas entre parntesis directamente detrs del identificador del host, sin ningn espacio de separacin entre el host y el primer parntesis. Una lnea para un sistema de archivos exportado tiene la estructura siguiente: () ()... En esta estructura, reemplazar con el directorio a exportar, con el host o la red a la cual va a compartir el directorio y con las opciones para ese host o red. Los hosts adicionales se pueden especificar en una lista separada por espacios. Se pueden usar los mtodos siguientes para especificar nombres de host: host nico Cuando una mquina en particular es especificada con nombre completo de dominio, nombre de mquina o direccin IP. comodines Usamos un carcter * o ? para referirnos a un grupo de nombres completos de dominio o direcciones IP o que coincidan con una cadena particular de letras. Los comodines no se deberan de utilizar con direcciones IP; sin embargo, es posible para estos funcionar accidentalmente si fallan las bsquedas de DNS inversas. Tener cuidado cuando se especifiquen comodines con nombres de dominio completos, pues tienden a ser ms exactos de lo que se cree. Por ejemplo, el uso de *.ejemplo.com como comodn, permitir a ventas.ejemplo.com acceder al sistema de archivos exportado, pero no a tom.ventas.ejemplo.com. Para coincidir ambas posibilidades, debera usar *.ejemplo.com y tambin *.*.ejemplo.com

Pgina 11 de 58

redes IP Permite la coincidencia de hosts basados en sus direcciones IP dentro de una red ms grande. Por ejemplo, 192.168.0.0/28 permite al acceso a las primeras 14 direcciones IP, desde la 192.168.0.1 a la 192.168.0.14, acceder al sistema de archivos exportado, pero no a la 192.168.0.16 (0 y 15 no permitidas) y superiores. grupos de redes Permite usar un nombre de grupo de red NIS, escrito como @. Esto pone al servidor NIS controlando el acceso de este sistema de archivos, donde los usuarios pueden ser aadidos o borrados de un grupo NIS sin que afecte a /etc/exports. En su forma ms sencilla, el archivo /etc/exports slo especifica el directorio a exportar y los hosts que pueden usarlo, como en el ejemplo siguiente: /exportado/home/vcasti vcasti.telecomvcg.net En el ejemplo, vcasti.telecomvcg.net puede montar /exportado/home/vcasti/. Como no se especifica ninguna opcin en este ejemplo, tomarn efecto las siguientes opciones predeterminadas de NFS: ro Se montan los sistemas de archivos como de slo lectura (read-only). Los host remotos no pueden hacer cambios a los datos compartidos en el sistema de archivos. Para permitir que los hosts puedan hacer cambios, debe especificar la opcin rw (lectura-escritura, read-write). wdelay Provoca que el servidor NFS retrase el escribir a disco si sospecha que otra peticin de escritura es inminente. Esto puede mejorar el rendimiento reduciendo las veces que se debe acceder al disco por comandos de escritura separados. Use no_wdelay para desactivar esta opcin, la cual slo funciona si est usando la opcin sync. root_squash Previene a los usuarios root conectados remotamente de tener privilegios como root asignndoles el id del usuario de nobody. Esto reconvierte

Pgina 12 de 58

el poder del usuario root remoto al de usuario local ms bajo, previniendo la alteracin desautorizada de archivos en el servidor remoto. Alternativamente, la opcin no_root_squash lo desactiva. Para reconvertir a todos los usuarios, incluyendo a root, use la opcin all_squash. Para especificar los ID de usuario y grupo para usar con usuarios remotos desde un host particular, utilice las opciones anonuid y anongid, respectivamente. De esta manera, puede crear una cuenta de usuario especial para que los usuarios NFS remotos compartan y especificar (anonuid=nnnn,anongid=nnn), donde nnn es el nmero de ID del usuario y es el nmero de ID del grupo. Por defecto, las listas de control de acceso (ACLs) son soportadas por NFS. Para desactivar esta funcionalidad, especifique la opcin no_acl cuando est exportando el sistema de archivos. Cada valor predeterminado para un sistema de archivos exportado debe ser explcitamente ignorado. Por ejemplo, si no se especifica la opcin rw, entonces el sistema de archivos es exportado como de slo lectura. Lo siguiente es una lnea de muestra de /etc/exports la cual sobreescribe dos opciones predeterminadas: /exportado/data 192.168.0.3(rw,sync) En este ejemplo 192.168.0.3 puede montar /exportado/data/ como

lectura/escritura y todas las transferencias al disco son efectuadas antes de completar la peticin de escritura del cliente. Adicionalmente, hay otras opciones que estn disponibles que no tienen especificado un valor predeterminado. Estas incluyen la habilidad de desactivar la verificacin por subdirectorios, permitir el acceso desde puertos inseguros y permitir bloquear archivos inseguros (necesario para algunas implementaciones antiguas de clientes NFS). Vea la pgina man de exports para estas opciones menos usadas.
Pgina 13 de 58

La manera en que el archivo /etc/exports est organizado es muy importante, particularmente lo que concierne a los espacios en blanco. Recuerde separar siempre los sistemas de archivos exportados de una mquina a la otra, con un espacio. Sin embargo, no debera haber otros espacios en el archivo a menos que se usen en lneas comentadas. Por ejemplo, las siguientes dos lneas significan cosas distintas: /home vcasti.telecomvcg.net(rw) /home vcasti.telecomvcg.net (rw) La primera lnea permite slo a los usuarios de vcasti.telecomvcg.net acceder en modo de lectura/escritura al directorio /home. La segunda lnea permite a los usuarios de vcasti.telecomvcg.net montar el directorio como de slo lectura (el predeterminado), lectura/escritura. Archivos de configuracin de clientes NFS Las comparticiones NFS son montadas en el lado del cliente usando el comando mount. El formato del comando es como sigue: mount -t nfs 192.168.0.74:/home /mnt/prueba_home Reemplazar con nfs para servidores NFSv2 o NFSv3, o nfs4 para servidores NFSv4, con una lista de opciones separadas por comas para el sistema NFS, con el host remoto, con el directorio remoto que est siendo montado y con el directorio local donde el sistema de archivos remoto se montar. Si est accediendo a una comparticin NFS emitiendo manualmente el comando mount, el sistema de archivos debe ser remontado manualmente despus de reiniciar el sistema. pero el resto del mundo puede instalarlo como

Pgina 14 de 58

El archivo /etc/fstab El archivo /etc/fstab lo referencia el servicio nfs al momento del arranque, por lo que las lneas haciendo referencia a las comparticiones NFS tienen el mismo efecto que escribir manualmente el comando mount durante el arranque. Una muestra de lnea de /etc/fstab para montar un NFS exportado ser parecida a:
valiente01:/usr/local /usr/local nfs osuid,hard,intr 0 0

Reemplazar con el nombre de la mquina, direccin IP o nombre de dominio totalmente cualificado del servidor que exporta el sistema de archivos, con la ruta al directorio exportado, con el sistema de archivos local en el cual se montar el directorio exportado. Este punto de montaje debe existir antes de que /etc/fstab sea ledo o el montaje fallar, con nfs para servidores NFSv2 o NFSv3, o con nfs4 para servidores NFSv4, con una lista de opciones separada por comas para el sistema NFS Opciones de montaje NFS Aparte de montar un sistema de archivos a travs de NFS en un host remoto, existe un nmero de diferentes opciones que pueden ser especificadas al momento del montaje que pueden hacerlo ms fcil de usar. Estas opciones pueden usarse con el comando manual mount, configuraciones /etc/fstab Las siguientes son opciones populares utilizadas para montajes NFS: fsid=num Obliga a que las configuraciones de manejo y de atributos de archivos en el cable, a ser num, en vez de un nmero derivado desde el nmero menor y principal ('minor' y 'major') del dispositivo de bloques en el sistema de archivos montado. El valor 0 tiene un significado especial cuando se utiliza con NFSv4. NFSv4 tiene un concepto de raz del sistema de archivos exportado en general. El punto de exportacin con fsid=0 se utiliza como esta raz.
Pgina 15 de 58

hard o soft Especifican si el programa que usa un archivo va una conexin NFS, debe parar y esperar (hard) a que el servidor vuelva a estar en lnea, si el host que sirve el sistema de archivos no est disponible, o si debe informar de un error (soft). Si se especifica la opcin hard, el usuario no podr terminar el proceso que est esperando que la comunicacin NFS se reanude a menos que especifique la opcin intr. Si usa soft, puede usar la opcin adicional timeo=, donde especifica el nmero de segundos que deben pasar antes de informar del error. intr Permite que se interrumpan las peticiones NFS si el servidor se cae o no puede ser accedido. noacl Apaga todo el procesamiento de ACL. nolock Desactiva el bloqueo de archivos. noexec No permite la ejecucin de binarios en sistemas de archivos montados. Esto es til si el sistema est montando un sistema de archivos no Linux a travs de NFS que contiene binarios incompatibles. nosuid No permite que los bits set-user-identifier o set-group-identifier tomen efecto. Esto previene que los usuarios remotos obtengan privilegios mayores ejecutando un programa setuid. port=num Especifica el valor numrico del puerto del servidor NFS. Si num es 0 (el valor predeterminado), entonces mount consulta al portmapper del host remoto por el nmero de puerto. Si el demonio NFS del host remoto no est registrado con su portmapper, se utilizar el nmero de puerto estndar de NFS, TCP 2049. rsize=num and wsize=num Estas configuraciones pueden acelerar la comunicacin NFS tanto para lecturas (rsize) como para escrituras (wsize),
Pgina 16 de 58

configurando un tamao de bloque de datos mayor, en bytes, que sern transferidos de una sola vez. Tenga cuidado al cambiar estos valores; algunos kernels antiguos de Linux y tarjetas de red no funcionan bien con grandes tamaos de bloques. Para NFSv2 o NFSv3, los valores por defecto para ambos parmetros est configurado a 8192. Para NFSv4, los valores por defecto para ambos parmetros es 32768. sec=mode Especifica el tipo de seguridad a utilizar cuando se autentique una conexin NFS. sec=sys es la configuracin por defecto, lo que utiliza UNIX UIDs y GIDs locales a travs de AUTH_SYS para autentificar las operaciones NFS. sec=krb5 utiliza Kerberos V5 en vez de UNIX UIDs y GIDs locales para autentificar a los usuarios. sec=krb5i utiliza Kerberos V5 para la autenticacin de usuarios y realiza la verificacin de integridad de las operaciones NFS usando sumas de verificacin para prevenir el daos de los datos. sec=krb5p utiliza Kerberos V5 para la autenticacin de usuarios, la verificacin de integridad y encriptar el trfico NFS para prevenir el husmeo del mismo. Esta es la configuracin ms segura, pero tambin tiene la sobrecarga de rendimiento ms grande. tupe Especifica que se utilice el protocolo TCP para el montaje NFS. pudu Especifica que NFS utilice el protocolo UDP para el montaje.

Pgina 17 de 58

Cmo proteger NFS NFS trabaja muy bien compartiendo sistemas de archivos enteros con un gran nmero de hosts conocidos de una manera muy transparente. Sin embargo, esta facilidad de uso trae una variedad de problemas potenciales de seguridad. Acceso al sistema La versin de NFS que planee implementar, depende de su red existente y de sus preocupaciones de seguridad. La seccin siguiente explica las diferencias entre las medidas de seguridad con NFSv2, NFSv3 y NFSv4. Si es posible, utilice NFSv4. Es el ms recomendado. Uso de NFSv4 El lanzamiento de NFSv4 trajo consigo una revolucin para la autenticacin y la seguridad cuando se comparten directorios a travs de NFS. NFSv4 manda la implementacin del mdulo del kernel RPCSEC_GSS, el mecanismo GSS-API de la versin Kerberos 5, SPKM-3, y LIPKEY. Con NFSv4, los mecanismos de seguridad obligatorios estn orientados hacia la autenticacin de usuarios individuales y no a mquinas clientes, como lo hace NFSv2 y NFSv3. Se asume que se tiene instalado un servidor de entrega de tckets (KDC) y que est configurado de la forma correcta, antes de configurar el servidor NFSv4. NFSv4 incluye el soporte a ACL basado en el modelo de Microsoft Windows NT, no en el modelo POSIX, por sus funcionalidades y porque es implementado ampliamente. NFSv2 y NFSv3 no son compatibles con los atributos nativos de ACL. Otra funcionalidad de seguridad importante de NFSv4 es la eliminacin del demonio rpc.mountd. El demonio rpc.mountd presentaba posibles agujeros de seguridad debido a la forma en que trataba con los manejadores de archivos.

Pgina 18 de 58

Permisos de archivos Una vez que el sistema de archivos es montado como lectura/escritura por un host remoto, la nica proteccin que tiene cada archivo compartido son sus permisos. Si dos usuarios que comparten el mismo valor de identificador de usuario montan el mismo NFS, ellos podrn modificar sus archivos mutuamente. Adicionalmente, cualquiera con acceso root en el sistema cliente puede usar el comando su - para volverse un usuario que tenga acceso a determinados archivos a travs de la comparticin NFS. Por defecto, las listas de control de acceso (ACLs) son soportados por NFS. No se recomienda desactivar esta funcionalidad. El comportamiento predeterminado cuando se est exportando un sistema de archivos a travs NFS es usar aplastamiento de root (root_squash). Esto coloca el identificador del usuario de cualquiera que est accediendo a la comparticin NFS, como el usuario root en su mquina local a un valor de la cuenta de nfsnobody. Nunca desactive el aplastamiento (squashing) de root. Si se est exportando una comparticin NFS como de slo lectura, considere usar la opcin all_squash, la cual hace que todos los usuarios accesando el sistema de archivos exportado tomen el ID de usuario del nfsnobody.

El cliente NFS El acceso al sistema de archivos exportado por NFS est controlado directamente por el ncleo. El archivo /proc/filesystems contiene una lista con todos los sistemas de archivos soportados directamente por el ncleo. Entonces, lo nico que tiene que hacer es decir al ncleo que quiere acceder a un sistema exportado por NFS.

Pgina 19 de 58

El comando mount permite acceder a diferentes sistemas de ficheros. Informa al ncleo que est disponible un nuevo sistema de ficheros indicando su tipo, su dispositivo y su punto de montaje. Se puede usar la opcin -t para indicar el tipo del sistema de ficheros a usar. Para NFS, escribimos: -t nfs (para nfs versin 3) o -t nfs4 (para nfs versin 4) Supongamos que la mquina valiente01 tiene un servidor NFS y exporta su directorio /home/abrito. Cuando quiera acceder desde la mquina powerman, tendr que montar el directorio exportado de valiente01 a powerman: root@powerman:
#mount -t nfs -o nosuid,hard,intr valiente01:/usr/local /usr/local

Ntese que valiente01 puede ser sustituido por su ip. El comando indica que estamos montando un sistema de ficheros NFS (-t nfs), con las opciones nosuid, hard e intr. Los dos ltimos argumentos son los ms interesantes. El primero de ellos especifica el dispositivo a montar. Para NFS la sintaxis es distinta de la lnea mount habitual, donde se especifica dispositivo y directorio. Aqu especificamos servidor:directorio_exportado en vez de dispositivo. El ltimo argumento indica la localizacin del sistema de ficheros en la parte cliente. Hemos compartido exactamente el /usr/local de valiente01 con powerman. As podemos evitar el tener que instalar programas en /usr/local ms de una vez. Para hacer esta configuracin permanente, podemos especificarlo en el archivo /etc/fstab de powerman. fstab contiene todos los dispositivos que sern montados en el arranque. La sintaxis para /etc/fstab es:
#device mount point file system options dump 0 fsckorder 0

valiente01:/usr/local /usr/local

nfs osuid,hard,intr

Sin embargo, deber tener cuidado con una entrada permanente. Slo podr usarlo cuando el servidor (valiente01) est siempre encendido, o cuando encienda valiente01 antes que powerman.
Pgina 20 de 58

Precauciones con NFS


Uno de los mayores problemas con NFS viene del hecho de que exista por defecto una relacin de confianza entre un cliente y un servidor NFS. En el caso de que la cuenta root del servidor est comprometida, la del cliente tambin lo estar. Un cliente no debe confiar ciegamente en un servidor, por ello debemos especificar opciones restrictivas cuando usamos el comando mount. Ya hemos mencionado la primera de ellas: nosuid. Cancela el efecto de los bits SUID y GID. Con esto alguien que est como root en el servidor, primero debe hacer login en el cliente como un usuario normal y despus hacerse root. Otra opcin, ms restrictiva, es noexec. Prohbe ejecutar programas en sistema de ficheros exportado. Esta opcin nicamente se utiliza en sistemas que slo contengan datos. En el lado del servidor NFS, podemos especificar que no confe en la cuenta root del cliente. Tenemos que especificarlo en /etc/exports con la opcin root_squash. Entonces si un usuario con UID 0 (root) en el cliente accediese al sistema de ficheros exportado por el servidor, tomara el UID nobody para consultar ficheros. Esta opcin est activada por defecto bajo Linux pero se puede desactivar con la opcin no_root_squash. Se puede especificar qu opciones deben aplicarse en un conjunto de UIDs. Recuerde tambin que las opciones anonuid y anongid permiten cambiar los UID/GID de nobody por los de otro usuario diferente. Algunas opciones son ms generales y se efectan por el portmapper. Por ejemplo, prohibimos el acceso a todas las mquinas con la siguiente lnea en el archivo /etc/hosts.deny:

#hosts.deny : absolute prohibition for every one to use the portmap portmap: ALL
Pgina 21 de 58

Despus en el archivo /etc/hosts.allow esta estricta prohibicin se puede contrarrestar permitiendo el acceso a las mquinas deseadas. Unas buenas reglas de cortafuegos tambin contribuyen a una proteccin mejor. Observe los puertos usados por los diferentes servicios y los protocolos utilizados:

Servicio RPC portmap nfsd mountd

Puerto 111 2049 variable

Protocolos upd / tcp udp udp / tcp

Corriendo NFSv4 a travs de un tnel SSH La configuracin es similar a un caso de montar un directorio Read/Write con NFSv4. Lo nico es que la IP se debe cambiar a 127.0.0.1 (direccin loopback ). Configuracin del servidor para NFSv4 sobre SSH: 1. En /etc/exports:
/exportfs 127.0.0.1(rw,fsid=0,insecure,no_subtree_check,sync)

2. re-exportar: exportfs -rv Configuracin del cliente para NFSv4 sobre SSH:

1. en /etc/fstab:
127.0.0.1:/privado /mnt/privado nfs4 rw,hard,intr,proto=tcp,port=8888,noauto 0 0

Pgina 22 de 58

Ahora configuramos una sesin SSH con port forwarding. Usaremos encriptacin AES. En lugar de utilizar el puerto TCP 2049 para el puerto local, usaremos el puerto TCP 8888, esto para mostrar que los clientes NFSv4 y SSH en tnel no les importa que puertos estn utilizando. Abrimos una sesin desde el cliente NFS4 al servidor NFS: # ssh -2 -x -c aes128-cbc -L 8888:127.0.0.1:2049 fc2 #password: # La sesin SSH puede ser establecida como usuario regular, no se necesita ser "root". En el cliente abrimos otro terminal como "root" y montamos el filesystem:
# mount -v /mnt/privado 127.0.0.1:/privado on /mnt/privado- type nfs4 (rw,hard,intr,proto=tcp,port=8888,addr=127.0.0.1)

Para desmontarlo, ejecutamos #umount -v /mnt/privado-nfs. Prcticas con NFS Ejercicio 1 Compartiendo un directorio (en toda la red local) 1. Crea un directorio llamado compartido_nfs (o el nombre que prefiera) dentro de tu directorio de trabajo: mkdir compartido_nfs (o mkdir /home/usuario/compartido_nfs) 2. Inicia sesin de root con el comando su y edita (con nano, vi, gedit, etc.) elarchivo /etc/exports, para aadir una lnea como la siguiente: /home/usuario/compartido_nfs *(ro,sync) 3. Exportamos el filesystem: exportfs -r
Pgina 23 de 58

4. Reiniciamos el

servicio

nfs

/etc/init.d/nfs-kernel-server restart

5.En el cliente: Creamos un directotio para el montaje. Por ejemplo: /mkdir /mnt/compartido y lo montamos:
mount -t nfs 192.168.1.10:/home/usuario/compartido_fs

6. Hacer pruebas tanto en el cliente como en el servidor: Crear archivos, borrarlos, modificarlos y ver lo que pasa con ellos. Ejercicio 2: Compartiendo un directorio con permiso de lectura y escritura 1. Crear como usuario directorio (use el suyo), sin iniciar sesin de root el

/home/usuario/LE (LE abreviacin de lectura y escritura). rw?

2. Qu tenemos que escribir en /etc/exports para compartirlo en modo

3. Qu comando tenemos que ejecutar, tras editar este archivo, para activar los cambios en el servidor NFS?

4. Crear algn directorio y monta en l el directorio /home/usuario/LE compartido por alguno de tus compaeros. Puedes crear alguna carpeta en este directorio? En qu PC se crea dicha carpeta? Ejercicio 3 Opciones de inicio en /etc/fstab 1. Edita el archivo /etc/fstab y establece las siguientes opciones para el arranque: (cambia el valor de la IP por el que aplique en tu caso remoto) El directorio remoto 192.168.0.250:/mnt/hda5/Compartido_NFS se montar automticamente en /mnt/nfs. 2. El directorio remoto 192.168.0.250:/home/usuario/Pruebas podr ser montado por cualquier usuario, en modo rw en el directorio (que habr que

Pgina 24 de 58

crear) /home/usuario/Prueba_remota.

Ejercicio 4 Accediendo con permiso de root (muy peligroso) Vamos a compartir el directorio /home de forma que el usuario root (uid=0) remoto tenga sobre l permisos de administrador. Esto es muy peligro pues si alguien conecta a la red local otra mquina en la que es capaz de iniciar sesin como root, podra acceder a nuestro /home con tota libertad. Para ello: 1. Edita el archivo /etc/exports y escribe la siguiente lnea

/home *(rw,no_root_squash,sync) 2. Reinicia el servicio NFS (/etc/init.d/nfs-kernel-server restart) Crea en una mquina remota (o en el propio equipo) el directorio /mnt/prueba_home 3. Monta en /mnt/prueba_home el directorio /home compartido mediante NFS: mount -t nfs 192.168.0.74:/home /mnt/prueba_home 4. Accede, como root a /mnt/prueba_home y prueba a crear directorios, renombrar archivos, etc, procurando no hacer demasiado dao.

Pgina 25 de 58

Servicio DHCP
Dinamic Host Configuration Protocol

(ConfiguracindinmicadeclientesIP)

Pgina 26 de 58

ElservicioDHCP Las siglas DHCP significan Dinamic Host Configuration Protocol. Es utilizado para grandes redes. El daemon acta dndole informacin de la red a las estaciones de trabajo, tales como IP Address, Subnet Mask, DNS Server, Gateway, entre otros. DHCP se trata de un protocolo del tipo cliente/servidor en el que generalmente un servidor posee una lista de direcciones IP dinmicas y las va asignando a los clientes a medida que estas van estando disponibles, sabiendo en todo momento quien ha estado en posesin de las IP asignadas, cuanto tiempo la ha tenido, y a quien se le asign despus. DHCP ha sido creado por el Grupo de Trabajo Dynamic Host Configuration del IETF (Internet Engineering Task Force, organizacin de voluntarios que define protocolos para su uso en Internet) en octubre de 1993. Su definicin se encuentra en los RFC's 2131(el protocolo DHCP) y el 2132(opciones de DHCP) El protocolo de Configuracin Dinmica de Hosts (DHCP) permite la transmisin de la configuracin de los hosts sobre una red TCP/IP. Este protocolo se encarga de la configuracin automtica de los parmetros de red, utilizando direcciones. Es comn en la redes por su fcil configuracin y mantenimiento. DHCP es una extensin de BOOTP, es decir, mejora BOOTP, y es compatible con l (un cliente puede realizar una peticin esttica BOOTP a un servidor DHCP) DHCP es un protocolo que permite asignar direcciones IP dinmicas, de forma totalmente automtica. Por ello no pierde las prestaciones de BOOTP, su predecesor, sino que las extiende permitiendo de esta manera nuevas formas de asignacin de direcciones y nuevas opciones para poder pasar a los clientes toda la informacin necesaria. DHCP es un protocolo implementado en los principales sistemas operativos as

Pgina 27 de 58

como otros dispositivos, como por ejemplos Router WIFI.

DHCP puede usarse cuando el nmero de IPs es menor que el nmero de computadores y todos no estn conectados a la vez, como en un proveedor de servicio de Internet (ISP). DHCP est formado por dos partes: un protocolo para el intercambio de los parmetros de red especficos de cada host y un mecanismo para la asignacin de direcciones de red. Un servidor DHCP tiene dos bases de datos. La primera es esttica, al igual que BOOTP y la segunda contiene una pila de direcciones IP disponibles. Esta segunda base de datos hace a DHCP dinmico. Cuando un cliente DHCP pide una direccin IP temporal, DHCP la coge de la pila de direcciones IP disponibles y se la asigna durante un periodo de tiempo negociado.

TiposdeconfiguracionesyasignacionesconDHCP
El servidor admite tres tipos de configuracin de direcciones IP: Esttica. se configura en el servidor la direccin de red que se corresponde con la direccin LAN del cliente (equivalente a BOOTP). Dinmica, por tiempo ilimitado. Se indica un rango de direcciones que se asignan a cada cliente de carcter permanente, hasta que el cliente la libera. Dinmica arrendada. Las direcciones se otorgan por un tiempo ilimitado. Un cliente debe renovar su direccin para poder seguir utilizndola. Cuando el servidor DHCP recibe una peticin, primero chequea su base de datos esttica. Si existe una entrada para esa direccin fsica, se devuelve la direccin IP esttica correspondiente. Si no se encuentra la entrada, el servidor selecciona

Pgina 28 de 58

una IP disponible de la base de datos dinmica y aade la nueva asociacin a la base de datos. Alquiler:La direccin asignada desde la pila es temporal. El servidor DHCP emite un alquiler por un periodo determinado de tiempo. Cuando el alquiler termina, el cliente debe, dejar de usar la IP o renovar el alquiler. El servidor tiene la opcin de aceptar o denegar la renovacin. El protocolo DHCP incluye tres mtodos de asignacin de direcciones IP: Asignacin manual o esttica: asigna una direccin IP a una mquina determinada. Se suele utilizar cuando se quiere controlar la asignacin de direccin IP a cada cliente, y evitar, tambin, que se conecten clientes no identificados. Asignacin automtica: Asigna una direccin IP de forma permanente a una mquina cliente la primera vez que hace la solicitud al servidor DHCP y hasta que el cliente la libera. Se suele utilizar cuando el nmero de clientes no vara demasiado. Asignacin dinmica: el nico mtodo que permite la reutilizacin dinmica de las direcciones IP. El administrador de la red determina un rango de direcciones IP y cada computadora conectada a la red est configurada para solicitar su direccin IP al servidor cuando la tarjeta de interfaz de red se inicializa. El procedimiento usa un concepto muy simple en un intervalo de tiempo controlable. Esto facilita la instalacin de nuevas mquinas clientes a la red.

Operacin: Pasos realizados por el cliente DHCP:


Enva un mensaje DHCPDISCOVER broadcast usando el puerto destino 67. Aquellos servidores que puedan dar este tipo de servicio responden con un mensaje DHCPOFFER, donde se ofrece una IP que ser bloqueada. En estos mensajes tambin puede ofrecer la duracin del alquiler que por defecto es de
Pgina 29 de 58

una hora. Si los clientes no reciben dicho mensaje, intenta establecer conexin cuatro veces ms, cada dos segundos, si an as no hay respuesta, el cliente espera cinco minutos antes de intentarlo de nuevo.

El

cliente

elige

una

de

las

IPs

ofertadas

enva

un

mensaje

DHCPREQUEST al servidor seleccionado.

El servidor responde con un mensaje DHCPACK y crea la asociacin entre la direccin fsica del cliente y su IP. Ahora el cliente usa la IP hasta que el alquiler expire.

Antes de alcanzar el 50% del tiempo del alquiler, el cliente enva otro mensaje DHCPREQUEST para renovar el alquiler.

Si el servidor responde con DHCPACK, el cliente puede seguir usando la IP durante otro periodo de tiempo. Si se recibe un DHCPNACK, el cliente debe de dejar de usar esa IP y empezar de nuevo el proceso de obtencin de una IP. Si despus de transcurrir el 87.5% del alquiler no se recibe respuesta, se manda otro DHCPREQUEST. Si se recibe un DHCPACK antes de que expire el tiempo de alquiler, se obtiene ms tiempo de alquiler. En caso contrario, se debe comenzar de nuevo el proceso de obtencin de una IP. El cliente puede terminar el alquiler antes de que expire el tiempo. En este caso, el cliente enva un mensaje DHCPRELEASE al servidor.

QuventajasdaelDHCP?
El instalar un sistema DHCP en su red, le ahorra un trabajo de configuracin para su red. Todas las computadoras piden informacin de la red y se configuran automticamente, muy recomendable para un administracin fcil.

Pgina 30 de 58

Opciones ms importantes que un servidor DHCP puede asignar/proveer a cualquier cliente que lo solicite. 1. Direccin del servidor de DNS. 2. Nombre de DNS. 3. Puerta de enlace de la direccin IP. 4. Direccin IP. 5. Mscara de subred. 6. Tiempo mximo de espera de ARP (Addres Resolution Protocol). 7. MTU (Maximun Transfer Unit) para cada mquina. 8. Servidores NIS. 9.Dominios NIS. 10. Servidores NTP (Network Time Protocol). 11. Servidores POP3 (Post Office Protocol) 12. Servidor SMTP (Simple Mail Transport Agent). 13. Servidor TFTP (Trivial File Transfer Protocol). 14. Nombre del servidor WINS (Windows Internet Naming Service). Datos importantes al configurar servidor DHCP

1.- Se puede asignar una direccin IP concreta (siempre que pertenezca al rango disponible) a una direccin MAC de la red. Para ello slo hay que crear un elemento en la lista de asignaciones estticas que contenga la direccin MAC de
Pgina 31 de 58

la mquina conocida y la IP que se le desea asignar. 2.- Una lista de direcciones IP disponibles para los equipos que autorice para actuar como servidores DHCP en la red (solo cuando no se le asigne estticamente) 3.- La deteccin de servidores DHCP no autorizados y proteccin para que stos no se inicien ni ejecuten en la red. 4.- Cache DNS, es opcional, la mayora de los router traen 2 opciones, el administrador ser el que decidir si activa esta opcin o no. 5. La direccin IP de los servidores DHCP debe ser esttica (Obligatorio). Cuando los servidores DHCP estn configurados correctamente y se autoriza su uso en una red, proporcionan un servicio administrativo til para el que han sido diseados. Sin embargo, si se introduce en la red un servidor DHCP incorrectamente configurado o no autorizado, puede causar problemas. Por ejemplo, si se inicia un servidor DHCP no autorizado, podra comenzar a conceder direcciones IP incorrectas a los clientes o reconocer negativamente a los clientes DHCP que intentan renovar sus concesiones de direcciones actuales. Cualquiera de estas configuraciones puede producir problemas adicionales a los clientes habilitados para DHCP. Por ejemplo, es posible que los clientes que obtienen una concesin de configuracin del servidor no autorizado no encuentren controladores de dominio vlidos y no puedan iniciar sesin correctamente en la red. Configuracin General del DHCP en GNU/Linux (cualquier distro) Como podemos observar en el archivo /etc/dhcp3/dhcpd.conf, cada orden o parmetro termina con un punto y coma (;), a excepcin de las opciones que necesitan de varios parmetros, que se agrupan entre llaves ({...}). Repasemos a
Pgina 32 de 58

continuacin las opciones y parmetros ms importantes a nuestra disposicin (para un detalle completo de todos los comandos accederemos al manual de configuracin dhcp.conf y dhcp-options): authoritative - La configuracin correcta para la red es la definida en el servidor DHCP. Poner este parmetro al comienzo del archivo de configuracin supone que el servidor DHCP reasignar direcciones a los clientes mal configurados por el motivo que sea, incluida una configuracin nueva del servidor. not authoritative - La funcin de este parmetro es justo la contraria del anterior. Es decir: la configuracin del servidor de DHCP no es concluyente y los clientes mal configurados que sean detectados por el servidor, seguirn con su configuracin intacta. ignore|allow client-updates - Permite la actualizacin de las asignaciones (allow) de un cliente a requerimiento de este, o bien las asignaciones se actualizan cuando el servidor as lo requiera (ignore). ddns-hostname <nombre> - Por defecto, el servidor DHCP utiliza como nombre para la solicitud el nombre que el cliente tiene asignado a su mquina. Mediante este parmetro se asigna un nombre concreto a una mquina o a todas en general. Por ejemplo, para asignar un nombre a una direccin MAC concreta, utilizaremos el cdigo siguiente:
host "canaima01" { hardware ethernet 00:60:30:3f:2d:4a; ddns-hostname "nombre_del_host"; }

Y para asignar, por ejemplo, la direccin MAC como parte del nombre del cliente, podemos usar lo siguiente:
ddns-hostname = binary-to-ascii (16, 8, "-", substring (hardware, 1, 6));

Pgina 33 de 58

Que devolver algo como 0-50-56-b-b-b.dhcp.nombre.com. ddns-domainname <nombre> - Mediante el uso de este parmetro, se aadir <nombre> al final del nombre de la mquina cliente, para formar un nombre de dominio totalmente cualificado (FQDN). ddns-update-style <tipo> - Define el mtodo de actualizacin automtica de las DNS. Los valores pueden ser ad-hoc, interim y none. ddns-updates <on|off> - Activa la actualizacin DNS mediante los valores asignados por DHCP. default-lease-time <duracin> - Especifica la cantidad de tiempo, en segundos, que ser mantenida una asignacin de direcciones, siempre y cuando el cliente no haya especificado algo concreto. fixed-address <direcciones> - Esta opcin aparece nicamente en una declaracin de host. Define las direcciones esttica a asignar a un host determinado. group - Inicia la declaracin de Grupo. hardware <tipo direccin> - Especifica el hardware de un cliente BOOTP para que ste sea reconocido por el servidor de DHCP. tipo puede ser ethernet o token-ring y direccin ser una serie de octetos hexadecimales inequvocos de la tarjeta (por ejemplo, hardware ethernet 00:50:b3:c5:60:23). max-lease-time <duracin> - Especifica la cantidad mxima de tiempo, en segundos, que ser mantenida una asignacin de direcciones. No est sujeta a esta especificacin la asignacin dinmica BOOTP. min-lease-time <duracin> - Especifica la cantidad mnima de tiempo, en segundos, que ser mantenida una asignacin de direcciones.
Pgina 34 de 58

one-lease-per-client <on|off> - Cuando la opcin se iguala a on y un cliente solicita una asignacin de direccin (DHCPREQUEST), el servidor libera de forma automtica cualquier otra asignacin asociada a dicho cliente. Con esto se supone que si el cliente solicita una nueva asignacin es porque ha olvidado que tuviera alguna, luego tiene una sola interfaz de red. No dndose esta situacin entre los clientes no es muy aconsejable el uso de esta opcin. range ip-menor ip-mayor - En una declaracin de subred, este parmetro define el rango de direcciones que sern asignadas. Pueden darse dos instrucciones range seguidas del modo: range 192.168.0.11 192.168.0.100; range 192.168.0.125 192.168.0.210; server-identifier <IP> - Identifica la mquina donde se aloja el servidor de DHCP. Su uso se aplica cuando la mquina en cuestin tiene varias direcciones asignadas en un mismo interfaz de red. server-name <nombre> - Nombre del servidor que ser suministrado al cliente que solicita la asignacin. shared-network - Declaracin de Subred compartida. subnet - Declaracin de Subred. option domain-name <nombre> - Nombre de dominio que usar el cliente en una resolucin de nombres va DNS. Normalmente, ser el nombre de dominio que se aadir al host que realiza la peticin de asignacin. option domain-name-servers <IP, [IP ...]> - Define el nombre de los servidores DNS. option finger-server <IP, [IP ...]> - Define el nombre de los servidores Finger disponibles para el cliente.
Pgina 35 de 58

option host-name <nombre> - Especifica el nombre del cliente. Puede ser un nombre cualificado o no, aunque se recomienda que el nombre del dominio se asigne mediante option domain-name. Slo se asignar el nombre al cliente en el caso de no tener ste asignado ninguno. option irc-server <IP, [IP ...]> - Define el nombre de los servidores de IRC disponibles para el cliente. option lpr-servers <IP, [IP ...]> - Define una lista de servidores de impresin LPR conforme al estndar RFC 1179. Se listan por orden de preferencia. option nds-servers <IP, [IP ...]> - Define una lista de servidores NDS disponibles para el cliente. Se usa en conjuncin de option nds-context <nombre>, que establece el nombre de inicio de la red Netware y option-ndstree-name <nombre>, que especifica el nombre del rbol a usar por el cliente solicitante. option netbios-name-servers <IP, [IP ...]> - Especifica un listado con los servidores WINS disponibles para los clientes. option nis-servers <IP, [IP ...]> - Define la lista de servidores NIS (Sun Network Information Server) disponibles. Los servidores se listan en orden de preferencia. Para establecer el nombre del dominio NIS, se usar option nisdomain <nombre>. option ntp-server <IP, [IP ...]> - Define los servidores horarios de NTP disponibles. Se listan en orden de preferencia. option pop-server <IP, [IP ...]> - Define los servidores de POP3 disponibles, listados en orden de preferencia. option routers <IP, [IP ...]> - Se definen una serie de routers (en la prctica, puertas de enlace), listadas en orden de preferencia, disponibles para el acceso al exterior por parte del cliente.
Pgina 36 de 58

option smtp-server <IP, [IP ...]> - Define la lista de servidores SMTP disponibles, listados en orden de preferencia. option subnet-mask <IP> - Definicin de la mscara de subred general.

As,

tal

como

hemos

visto

en

el

archivo

de

configuracin

/etc/dhcp3/dhcpd.conf, primero se escriben una serie de opciones generales (authoritative, ignore client-updates, etc.), para seguidamente definir una red compartida (shared-network) con todas sus opciones especficas. Dicha red incluye tres definiciones: una subred (subnet) y dos hosts especficos (host). Se puede advertir igualmente que las direcciones de estos dos hosts no tienen por qu incluirse dentro del rango de la red general.

Declaracin de Subred
Debe incluir una declaracin subnet para cada subred en su red. Si no es as, el servidor DHCP no arrancar. En este ejemplo, hay opciones globales para cada cliente DHCP en la subred y un range declarado. A los clientes se les asignar una direccin IP dentro de las IP declaradas en range.
subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.254; option subnet_mask 255.255.255.0; option domain_name "example.com"; option domain_name_servers 192.168.1.1; option time_offset _18000; range 192.168.1.10 192.168.1.100; }

Declaracin de shared-network, o red compartida


Todas las subredes que comparten la misma red fsica deben especificarse
Pgina 37 de 58

dentro

de

una

declaracin

shared_network.

Los

parmetros

dentro

de

shared_network pero fuera del cerco de las declaraciones subnet se consideran parmetros globales. El nombre de shared_network debe ser el ttulo descriptivo de la red, como, por ejemplo, mi_red_local. Dicho nombre puede ser igualmente una direccin IP.
shared_network mi_red_local { option domain_name "test.telecomvcg.net"; option domain_name_servers ns1.telecomvcg.net, ns2.telecomvcg.net; option routers 192.168.1.254; ---Declaracin de subredes especficas--subnet 192.168.1.0 netmask 255.255.255.0 { parameters for subnet range 192.168.1.1 192.168.1.31; } subnet 192.168.1.32 netmask 255.255.255.0 { parameters for subnet range 192.168.1.33 192.168.1.63; } }

Declaracin de Grupo La declaracin group puede utilizarse para aplicar parmetros globales a un grupo de declaraciones. Puede agrupar redes compartidas, subredes, hosts u otros grupos.
group { option routers 192.168.1.254; option subnet_mask 255.255.255.0; option domain_name "example.com"; option domain_name_servers 192.168.1.1; option time_offset _18000; host apex { option host_name "apex.example.com"; hardware ethernet 00:A0:78:8E:9E:AA; fixed_address 192.168.1.4; }

Pgina 38 de 58

host raleigh { option host_name "raleigh.example.com"; hardware ethernet 00:A1:DD:74:C3:F2; fixed_address 192.168.1.6; } }

Consideraciones de seguridad
El servidor de DHCP utiliza el puerto 67 y 68 a travs de UDP para recibir y enviar datos a los clientes. Es por esto que lo primero que deberemos retocar sern las reglas de nuestro cortafuegos, si es que este existe y si es que el servidor de DHCP comparte con l la misma mquina. Suponiendo que tenemos instalado iptables, la regla a introducir en el fichero de configuracin ser la siguiente: #iptables -A INPUT -i eth0 -p udp --dport 67:68 --sport 67:68 -j ACCEPT Con esta regla se permite el trfico hacia y desde los puertos UDP 67 y 68, lo cual nos deja abierto un pequeo agujero en el cortafuegos que permite el funcionamiento del servidor de DHCP. En el caso de tener varios dispositivos de red configurados en la misma mquina, habr que asegurarse de que nuestro servidor de DHCP slo se ejecuta sobre el que tiene acceso a la red a la que va a proveer de servicio. eth0 se cambiar por el interfaz usado por DHCP. Instalacin y configuracin del servidor DHCP en Debian etch / canaima v1.1 1. #apt-get install dhcpd
Pgina 39 de 58

2. Luego hay que configurar el /etc/dhcpd.conf. Antes de hacer los cambios, haga un respaldo del archivo dhcpd.conf. 3. Editar el archivo: #nano /etc/dhcpd.conf y agregar las siguientes lneas:

option domain-name "cantv.net"; option domain-name-servers 200.44.32.12, 200.11.248.12; option routers 192.168.1.10; default-lease-time 3600; max-lease-time 7200; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.254; option broadcast-address 192.168.1.255; } #las siguientes lneas son ejemplo para configurar ip estticas para alguna mquina #en particular que quisieramos #host hostname { #hardware ethernet 00:B0:CF:8B:49:37; #fixed-address 192.168.1.80; #}

3. Chequear el archivo: /etc/default/dhcp3-server Verificar que a interfaz de red corresponde a la que asignamos como DHCP: INTERFACES="eth0" 4. Reiniciar el servicio: /etc/init.d/dhcp3-server restart Si existen errores, entonces chequeamos el log: tail -20 /var/log/messages 5. En las estaciones clientes, configurarlos con el comando: dhclient

Pgina 40 de 58

6.Discutir otros procedimientos de configuracin alternos para el cliente. 6. Modificando el archivo /etc/network/interfaces 7. Utilizando la interfaz grfica de GNOME: 7.1Sistema -->Administracin -->Red

Practicas con el servicio DHCP.

Configuracin de un servidor DHCP en una sola red sub-red. 1. Rangos de IP 2. IP fijas

Prctica avanzada. (Basado en un caso del examen de certificacin LPI, Linux Professional Institute) Nivel: Profesional Avanzado de Linux o LPIC-2 y con modificaciones y adaptaciones de Tecno-Redes Sistemas VCG.

Considere una firma que tiene cuatro departamentos: Ventas, Administracin, Ingeniera y Gerencia. Todos los departamentos estn ubicados en el mismo edificio y cada departamento tiene tres pisos. En cada piso, hay hasta 200 estaciones y una impresora lser (LPRT - xx). Adems cada departamento tiene su propia impresora lser de color (CLPRT - xx) ubicada en el piso central de los 3 que le corresponde. Las impresoras pueden ser usadas por usuarios del departamento a los que las impresoras pertenecen solamente. Todos los usuarios obtienen una IP del servidor corporativo DHCP. Existe un

servidor de correo entrante POP3 y uno saliente SMTP. Una representacin grfica de la red de la compaa es mostrada abajo:

Pgina 41 de 58

La arquitectura de la red La empresa utiliza la direccin privada 172.17.0.0. Cada departamento tiene su propia red (determinado por una mscara de 24 bits). Las subredes son las siguientes: Tabla 01. IP departamentos. Los primeros dos octetos son 172.17
Departamento. Piso 0001 0001 0001 0010 0010 0010 0011 0001 0010 0011 0100 0101 0110 0111 Alcance de IP 172.17.17.0 - 172.17.17.255 172.17.18.0 - 172.17.18.255 172.17.17.1 172.17.19.0 - 172.17.19.255 172.17.36.0 - 172.17.36.255 172.17.37.0 - 172.17.37.255 172.17.36.1 172.17.37.0 - 172.17.37.255 172.17.55.0 - 172.17.55.255 Enrutador Descripcin Ventas piso1 Ventas Piso 2 Ventas Piso 3 # 4 Administracin # 5 Administracin # 6 Administracin Ingeniera # 7

Pgina 42 de 58

Departamento. Piso 0011 0011 0100 0100 0100 1000 1001 1010 1011 1100

Alcance de IP

Enrutador

Descripcin Ingeniera # 8 Ingeniera # 9 Gerencia # 10 Gerencia# 11 Gerencia# 12

172.17.56.0 - 172.17.56.255 172.17.55.1 172.17.57.0 - 172.17.57.255 172.17.74.0 - 172.17.74.255 172.17.75.0 - 172.17.75.255 172.17.74.1 172.17.76.0 - 172.17.76.255

Servicios (subred independiente) La tabla abajo indica esos servicios y sus IP fijas. Tabla02. Servicios compaa
Servicio DHCP DNS SMTP POP3 Noticias NTP Descripcin El DHCP - servidor de la compaa El DNS de la compaa El SMTP - servidor de la compaa El POP3 - servidor de la compaa El NNTP - servidor de la compaa El NTP - servidor de la compaa IP address 172.17.0.1 172.17.0.2 172.17.0.3 172.17.0.4 172.17.0.5 172.17.0.6 Nombre del anfitrin Dhcp.telecomvcg.net Dns.telecomvcg.net Smtp.telecomvcg.net Pop3.telecomvcg.net News.telecomvcg.net Ntp.telecomvcg.net

Servicios dependientes de la subred Los servicios subred -dependientes son los servicios que son solamente disponible para las estaciones en la misma subred como el servicio. La tabla abajo indica esos servicios y sus direcciones IP fijas.

Pgina 43 de 58

Tabla 03. Servicios subred -dependiente


Departamento Servicio Enrutador Impresora Ventas Impresora Impresora Impresora Enrutador Impresora Administraci n Impresora Impresora Impresora Enrutador Impresora Ingeniera Impresora Impresora Impresora Enrutador Impresora Descripcin Router piso # 2 ventas Impresora lser piso 1 Impresora lser piso 2 Impresora lser piso 3 Impresora lser color piso 2 Router piso # 5 administracin Impresora lser # 4 de piso Impresora lser piso 5 Impresora lser piso 6 Impresora lser color piso 5 Router piso 8 ingeniera Impresora lser piso 7 Impresora lser piso 8 Impresora lser piso 9 Impresora lser color piso 8 Router piso 11 Gerencia Impresora lser piso 10 IP address 172.17.17.1 172.17.17.2 172.17.18.2 172.17.19.2 172.17.18.3 Name Rtr 02.telecomvcg.net Lprt 01.telecomvcg.net Lprt 02.telecomvcg.net Lprt 03.telecomvcg.net Clprt 02.telecomvcg.net

172.17.36.1 Rtr - 05.telecomvcg.net 172.17.36.2 172.17.37.2 172.17.38.2 172.17.37.3 Lprt 04.telecomvcg.net Lprt 05.telecomvcg.net Lprt 06.telecomvcg.net Clprt 05.telecomvcg.net

172.17.55.1 Rtr - 08.telecomvcg.net 172.17.55.2 172.17.56.2 172.17.57.2 172.17.56.3 Lprt 07.telecomvcg.net Lprt 08.telecomvcg.net Lprt 09.telecomvcg.net Clprt 08.telecomvcg.net

172.17.74.1 Rtr - 11.telecomvcg.net 172.17.74.2 Lprt 10.telecomvcg.net

Pgina 44 de 58

Departamento Servicio Gerencia Impresora Impresora

Descripcin Impresora lser piso 11 Impresora lser piso 12

IP address 172.17.75.2 172.17.76.2

Name Lprt 11.telecomvcg.net Lprt 12.telecomvcg.net

Impresora

Impresora lser color piso 11

172.17.75. Clprt 3 11.telecomvcg.net

Se pide: 1. Hacer un esquema de red donde se muestren los switches, servidor DHCP corporativo, servidores Router-DHCP-relay, Firewall, servidor DNS, impresoras y estaciones. 2. Desarrollar el archivo de configuracin del servidor DHCP corporativo. 3. Discutir interrelacin DHCP corporativo con DHCP-Relay (departamentales)

Pgina 45 de 58

Servicio de impresin con el sistema CUPS


Common UNIX Printing System.

Pgina 46 de 58

El sistema CUPS (Common UNIX Printing System), actualmente es el sistema estndar de impresin en Linux. En el entorno grfico, las aplicaciones que pueden imprimir son compatibles tanto con lpr/lpd como con CUPS. Algunas aplicaciones (GNOME, KDE, Xfce y OpenOffice) traen Administradores de impresin compatibles con los diferentes sistemas de impresin que nos permiten gestionar las impresoras y los trabajos de impresin, como KJobViewer (paquete kdeprint).

Muchas aplicaciones (OpenOffice, KDE...) incorporan dispositivos virtuales que permiten imprimir un documento como PDF, generar emails o faxes.

Pgina 47 de 58

En qu consiste el sistema de impresin CUPS? El sistema de impresin CUPS reemplaza al sistema de impresin lpr/lpd y consiste en lo siguiente: a. El demonio de impresin cupsd (print spooler daemon) vigila los directorios spool buscando trabajos a imprimir. Cuando aparece alguno, cupsd lanza una copia de s mismo que imprimir el archivo en la impresora apropiada. b. La cola de impresin (spool), ubicada en el directorio /var/spool/cups, es donde se almacenan los trabajos a imprimir. Los nuevos trabajos a imprimir se colocan en la cola de impresin a la espera, el primero que entra es el primero que sale. c. Los comandos lpr/lpd para manejar la cola de impresin: el sistema lpr/lpd es uno de los estndares de UNIX, y las aplicaciones asumen que tendrn los comandos de este sistema de impresin disponibles. Por este motivo CUPS proporciona su propia versin de esos comandos, que son:

lpr (o lp): enviar trabajos a la cola de impresin. Este comando copia el archivo a imprimir en el directorio de spool, donde permanece hasta que el demonio cupsd lo imprime. Su sintaxis es:
$ lpr <archivo>

lpq: consultar los trabajos pendientes en la cola de impresin. lpc: configurar las impresoras. lprm: eliminar trabajos de la cola de impresin.

d. Los drivers PPD de las impresoras PostScript: en Linux, cuando una aplicacin enva un documento a la impresora genera un archivo PostScript. Si la impresora entiende el lenguaje PostScript puede imprimir el documento directamente. Slo tenemos que decirle a CUPS cules son las caractersticas de la impresora, y eso lo hace el archivo PPD (Postscript
Pgina 48 de 58

Printer Description): contiene todas las caractersticas de la impresora, como tamaos de papel, colores, resoluciones disponibles, entre otras. Si la impresora no entiende PostScript debemos traducir los documentos que generan las aplicaciones (PostScript) a un lenguaje que entienda la impresora, por lo que necesitamos un filtro. De esto se encarga Foomatic (paquete foomatic-db-engine) que proporciona el archivo PPD y los filtros necesarios para traducir los documentos (trabaja sobre GhostScript). En ambos casos, el archivo PPD de la impresora se puede descargar desde LinuxPrinting (linuxprinting.org) o desde la web de CUPS (cups.org) y se debe guardar en el directorio /usr/share/cups/model. e. Los comandos CUPS para administrar las impresoras: lpinfo, lpadmin, enable, disable, accept, reject, lpoptions y lpstat. f. La interfaz web de CUPS: es la mejor opcin para administrar CUPS.

Pgina 49 de 58

Instalar una impresora local con CUPS Veamos cmo instalar una impresora local con CUPS utilizando su interfaz web:

Conectamos la impresora. Conseguimos e instalamos el archivo PPD de nuestra impresora. Instalamos Foomatic si la impresora no es PostScript. Reiniciamos el demonio de CUPS:
# /etc/init.d/cupsys restart

Accedemos al interfaz web de CUPS: http://localhost:631

Entramos en Administracin.

Pgina 50 de 58

pulsamos Aadir impresora e introducimos Nombre de la impresora:por ejemplo, HPlaserjet1150,

Ubicacin: Laboratorio C: por ejemplo, Impresoras Laser HP.

Pgina 51 de 58

En la siguiente pantalla nos preguntar Tipo de conexin: HP ML-2010 USB # 1.

Seleccionamos el modelo. Nos pedir Usuario y Contrasea, ya que para administrar impresoras hay que tener permisos de root (la contrasea se enva en texto plano, sin encriptar).

Pgina 52 de 58

y ya tenemos la impresora instalada. Pulsando en Impresoras iremos a la pgina de la nueva impresora. Desde aqu podemos monitorizar los trabajos de impresin, cambiar las opciones de configuracin y seleccionarla como impresora predeterminada.

Pgina 53 de 58

Para terminar, comprobamos que realmente funciona lanzando una pgina de prueba con Imprimir pgina de prueba. Compartir nuestra impresora Tenemos dos posibilidades para compartir nuestra impresora: 1. CUPS escuchando conexiones de mquinas remotas Los equipos que dispongan de un cliente IPP (Linux, Unix, Mac y Windows XP) podrn conectar con el demonio de impresin cupsd de nuestra mquina mediante el protocolo IPP (Internet Printing Protocol, puerto 631 TCP), e imprimir en nuestra impresora, una vez que les permitamos acceder. Para ello, en el archivo de configuracin de CUPS, /etc/cups/cupsd.conf especificaremos qu mquinas tienen acceso a CUPS. Buscaremos las lneas:
<Location /> Order Deny,Allow Deny All Allow 127.0.0.1 </Location>

Vemos que por defecto slo puede acceder a CUPS la propia mquina (127.0.0.1). Para que puedan acceder las mquinas de la LAN agregamos la lnea:
Allow 192.168.0.0/255.255.255.0

Para terminar reiniciamos el demonio de CUPS:


# /etc/init.d/cupsys restart

Una vez compartida la impresora, es muy sencillo imprimir desde Linux:

Interfaz web de CUPS --> http://localhost:631

Pgina 54 de 58

Administracin --> Aadir impresora Introducimos Nombre de la impresora, Ubicacin y Descripcin Tipo de conexin -->Internet Printing Protocol (IPP). URL de la conexin --> ipp://192.168.0.2/printers/Canon. Modelo, Usuario y Contrasea y la impresora ya est instalada.

Tambin es muy sencillo imprimir desde Windows XP:


Asistente para agregar impresoras Impresora de red o una impresora conectada a otra computadora Conectarse a una impresora en Internet o en su red domstica u organizacin URL de la conexin, http://192.168.0.2:631/printers/hp.

Pgina 55 de 58

Instalamos los drivers de la impresora desde el CD del fabricante y listo.

2. Que el servidor Samba atienda peticiones remotas y las pase a CUPS Los equipos que dispongan de un cliente SMB (Windows) podrn conectar con el servidor Samba (paquete samba) de nuestra mquina mediante el protocolo SMB (puerto 139 TCP), y ste se encargar de pasarle la peticin a CUPS.

Vamos a configurar el servidor Samba para compartir nuestra impresora. Primero crearemos en nuestro sistema un usuario especfico (smbprint) para que acceda a la impresora mediante Samba. Si queremos permitir acceso annimo lo podemos crear sin contrasea:
# /usr/sbin/adduser --system --disabled-password smbprint

Para compartir nuestra impresora CUPS y que slo el usuario smbprint tenga acceso a ella, como invitado (por lo que todas las mquinas de la red local y con conexin directa desde Internet podrn imprimir), editaremos el archivo /etc/samba/smb.conf colocando:
[printers] browseable = yes
Pgina 56 de 58

printable = yes public = yes guest only = yes guest account = smbprint path = /home/smbprint Adems tenemos que decirle a Samba que el sistema de impresin es CUPS, no lpr/lpd, por lo que cambiaremos /etc/samba/smb.conf para que quede: [global] printcap name = cups printing = cups

Grabamos los cambios y reiniciamos Samba:


# /etc/init.d/samba restart

Una vez compartida la impresora, es muy sencillo imprimir desde Windows:

localizamos nuestra mquina en el Explorador de archivos. Veremos que tiene una impresora compartida. pulsamos Conectar e instalamos los drivers desde el CD del fabricante.

Imprimir desde Linux en una impresora Windows Para conectar desde Linux con un equipo remoto Windows que tiene una impresora compartida usaremos el cliente Samba (paquete smbclient), mediante el protocolo SMB, puerto 139 TCP. CUPS utiliza como back-end el programa smbspool de Samba.

Pgina 57 de 58

Primero nos aseguraremos de que podemos acceder a la mquina Windows:


# smbclient -L 192.168.0.2 -U usuario

Una vez comprobado que la impresora remota es accesible, es muy sencillo imprimir:

Interfaz web de CUPS --> http://localhost:631 Administracin --> Aadir impresora Introducimos Nombre de la impresora, Ubicacin y Descripcin Tipo de conexin --> Windows Printer va Samba. URL de la conexin --> smb://usuario:password@192.168.0.2/Canon (si el usuario con permiso para imprimir en el servidor Samba se llama igual que el usuario que lanza la impresin, no es necesario especificarlo). Modelo, Usuario y Contrasea para terminar .

Pgina 58 de 58

También podría gustarte