CentOS Linux y Servicios de Red

Tamaño: px
Comenzar la demostración a partir de la página:

Download "CentOS Linux y Servicios de Red"

Transcripción

1

2 CentOS Linux y Servicios de Red versiones 6 y 7 Antonio Vazquez Este libro está a la venta en Esta versión se publicó en This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do Antonio Vazquez

3 Índice general 1.- Instalación CentOS CentOS Administración básica Comandos básicos Crear y editar ficheros Redirigir la salida de un comando Instalar software Entorno gráfico Otros comandos útiles SELinux Networking IPv IPv Herramientas de red DNS Servicio DNS Instalar un servidor DNS Instalando un servidor maestro Configuración del cliente Servidores esclavos y transferencias de zona DNSSEC Herramientas de diagnóstico Resolución de problemas Ficheros de log

4 1.- Instalación CentOS 6 Como suele ocurrir con todo, existe más de una forma de instalar CentOS en un ordenador. Sin embargo aqui únicamente nos centraremos en la instalación típica desde DVD. Lo primero que hay que hacer es conseguir los DVDs. Éstos se pueden descargar desde el sitio oficial de CentOS en https://www.centos.org/. En el momento de escribir este libro, los archivos ISO para Centos 6 se podían descargar desde los enlaces disponibles en Podemos seleccionar la versión exacta que queremos instalar, la arquitectura (32 ó 64 bits) y el tipo de instación (por red, mínima, etc ). Descargaremos los ficheros CentOS-6.2-i386-bin-DVD1.iso y CentOS-6.2- i386-bin-dvd2.iso. Una vez que tenemos listos los DVDs la instalación es bastante sencilla. Nos aseguramos de que el ordenador está configurado para arrancar desde DVD y lo reiniciamos con el primer DVD de instalación insertado. Después de unos segundos veremos la pantalla de la Fig. 1. Fig 1:Arrancando con el DVD de instalación Elegiremos la primera opción Install or upgrade an existing system, esto lanzará el programa de instalación. Ahora se nos ofrece la posibilidad de comprobar el medio de instalación (Fig. 2). Si

5 1.- Instalación 2 estamos seguros de que los DVDs están bien pulsamos en Skip. Fig 2:Comprobando los medios de instalación Ahora el sistema arrancará el instalador gráfico (Fig. 3).

6 1.- Instalación 3 Fig 3:El instalador gráfico En las siguientes pantallas tendremos que elegir el idioma y la disposición del teclado (Fig. 4 y Fig. 5).

7 1.- Instalación 4 Fig 4:Idioma

8 1.- Instalación 5 Fig 5:Disposición del teclado Ahora tenemos que especificar si estamos instalando CentOS en un disco estándar o en un dispositivo especial como un disco de una SAN, un dispositivo iscsi, etc La mayoría de las veces instalaremos sobre discos estándar así que seleccionaremos la primera opción (Fig. 6).

9 1.- Instalación 6 Fig 6:Seleccionando el tipo de dispositivo Nada más pulsar el botón Next aparecerá un mensaje de advertencia (Fig. 7) para informarnos de que se va a eliminar toda la información que pudiera haber en el disco. Como se trata de un disco vacío, o bien de un disco cuyos datos ya no necesitamos, pulsamos en Yes, discard any data.

10 1.- Instalación 7 Fig 7:Advertencia, el disco podría tener datos El programa ahora nos pide el nombre y el dominio del ordenador que estamos a punto de instalar (Fig. 8). Podemos introducir esta información ahora o hacerlo una vez que la instalación haya terminado. Pulsamos Next.

11 1.- Instalación 8 Fig 8:Nombre de máquina y dominio En las siguientes pantallas tendremos que elegir la zona horaria y la contraseña del usuario root (Fig. 9 y Fig 10).

12 1.- Instalación 9 Fig 9:Zona horaria

13 1.- Instalación 10 Fig 10:Contraseña de root Ahora se nos presentan varias opciones antes de comenzar con la instalación tal cual (Fig. 11). Podemos elegir utilizar todo el disco independientemente de las particiones existentes, usar solo las particiones Linux, solo el espacio libre, personalizar el particionado, etc Como el particionado por defecto resulta aceptable elegiremos la primera opción y utilizaremos todo el disco. Aunque si tenemos perfectamente claro el papel que va a desempeñar el servidor en la red sería mejor optar por un particionamiento personalizado con volúmenes o particiones separados para los directorios /home, /var, etc

14 1.- Instalación 11 Fig 11:Opciones de particionado del disco Veremos otro mensaje de advertencia (Fig. 12) para recordarnos que los cambios se van a escribir a disco, y acto seguido se nos pedirá que especifiquemos qué software queremos instalar. A la hora de elegir el software tenemos varias opciones predefinidas como servidor de Bases de Datos, servidor Web, etc Elegiremos inicialmente la opción Instalación mínima (Fig. 13) y más tarde instalaremos el software adicional según lo necesitemos. Fig 12:Escribiendo a disco

15 1.- Instalación 12 Fig 13:Selección de software Finalmente comienza la instalación propiamente dicha (Fig. 14).

16 1.- Instalación 13 Fig 14:Instalando los paquetes de software Después de unos minutos la instalación habrá finalizado (Fig. 15) y tendremos que reiniciar el sistema.

17 1.- Instalación 14 Fig 15: Felicidades! Una vez que el sistema arranque ya tenemos un servidor CentOS funcional (Fig. 16).

18 1.- Instalación 15 Fig 16:Nuestro flamante servidor CentOS 7 La instalación de CentOS 7 la realizaremos también desde el DVD. En el momento de escribir este libro la imagen del DVD se puede descargar desde su sitio oficial¹. DEspués de descargar el fichero podremos grabarlo en un DVD. Después de eso ya estamos listos para arrancar el servidor con el DVD de instalación, siempre que el ordenador esté ya configurado en la BIOS para arrancar desde un DVD. En unos segundos aparecerá la pantalla de la Fig. 17. ¹http://www.centos.org/download/

19 1.- Instalación 16 Fig 17:Arrancando con el DVD de CentOS 7 DVD Seleccionamos la primera opción, Install CentOS 7. Ahora se lanzará el instalador gráfico y se nos preguntará qué idioma queremos utilizar durante la instalación (Fig. 18).

20 1.- Instalación 17 Fig 18:Instalando CentOS 7 Después de hacer click en el botón Continue podemos ver un breve resumen de la instalación (v. Fig 19).

21 1.- Instalación 18 Fig 19:Instalando CentOS 7 En esta pantalla podemos fijar la zona horaria (Fig. 20) o cambiar la distribución del teclado (Fig. 21).

22 1.- Instalación 19 Fig 20:Eligiendo la zona horaria

23 1.- Instalación 20 Fig 21:Seleccionando una distribución del teclado Tambień podemos elegir qué paquetes de software queremos instalar (Fig. 22). La opción seleccionada por defecto es la instalación mínima (Minimal install), pero hay muchas otras opciones disponibles, como por ejemplo Web Server o Virtualization Host. Mantendremos la opción por defecto: Minimal Install.

24 1.- Instalación 21 Fig 22:Selección de software Antes de comenzar con la instalación propiamente dicha, necesitamos elegir el dispositivo donde vamos a instalar (Fig.23).

25 1.- Instalación 22 Fig 23:Destino de la instalación En la mayoría de los casos la instalación se realizará sobre el disco local, pero también se pueden seleccionar otros dispositivos como discos de la SAN. En este punto también podríamos configurar la red pero, como preferimos hacerlo después de la instalación, podemos omitir este paso y hacer click en el botón Begin Installation. Mientras el sistema está copiando ficheros (Fig. 24) podemos configurar la contraseña del root y crear usuarios adicionales (Fig. 25 y 26).

26 1.- Instalación 23 Fig 24:Instalando el sistema

27 1.- Instalación 24 Fig 25:Configurando la contraseña del root

28 1.- Instalación 25 Fig 26:Creando usuarios adicionales Una vez que termina la instalación (Fig. 27) podemos reiniciar la máquina y comenzar a usar CentOS 7.

29 1.- Instalación 26 Fig 27: Instalación completa!

30 2.-Administración básica Una vez que el sistema está instalado y listo es el momento de empezar a hacer un buen uso de él. Este no es un libro sobre administración básica de Linux, pero intentaremos explicar brevemente los comandos más importantes que un administrador de sistemas Linux debería conocer Comandos básicos Directorios y sus contenidos(ls y cd) Una vez logados en el sistema como root, con la contraseña que especificamos al instalar, se nos mostrará el prompt. Inicialmente nuestra ubicación será el directorio home del root (/root), podemos confirmar este punto con el comando pwd. Si queremos listar los ficheros y subdirectorios dentro de /root podemos hacerlo tecleando ls. Igual que en la vida real es posible disponer de varias carpetas para organizar nuestros documentos, también se puede hacer lo mismo en el ordenador y crear directorios con el comando mkdir nombre_de_directorio. Ahora, para acceder a este directorio escribiremos cd nombre_de_directorio. Más tarde podemos retornar al directorio superior añadiendo dos puntos al comando cd (v. Fig. 28). Fig 28:Algunos comandos básicos

31 2.-Administración básica Crear usuarios Antes nos hemos logado con el usuario root, esto resulta aceptable en un sistema de prueba pero no es aconsejable hacerlo en un sistema en producción. En vez de esto, lo mejor es logarse con un usuario estándar y cambiar al usuario root cuando haya que realizar tareas administrativas. Vamos a ver cómo hacerlo. Primero tendremos que crear el usuario estándar con useradd, useradd acepta varios parámetros en línea de comandos, pero en este caso solamente usaremos -m para crear el directorio home del usuario. Si no estamos seguros de la lista de parámetros asociada con cada comando (casi) siempre podemos teclear comando -h y aparecerá un texto de ayuda. Así que tecleamos useradd -m antonio y creamos el usuario. Ahora tenemos que asignarle a este usuario una contraseña. Lo hacemos con passwd nombre_de_usuario. 1 ~]# useradd -m antonio 2 ~]# passwd antonio 3 Changing password for user antonio. 4 New password: 5 BAD PASSWORD: it is based on a dictionary word 6 BAD PASSWORD: is too simple 7 Retype new password: 8 passwd: all authentication tokens updated successfully. Ahora que hemos creado el usuario abandonamos la sesión con exit y volvemos a logarnos con el usuario que acabamos de crear. A partir de ahora si queremos realizar labores de administración podemos cambiar a root con el comando su. Cuando terminemos tecleamos exit para volver a la cuenta estándar. Si en un momento no estamos seguros del usuario con el que estamos logados actualmente, podemos averiguarlo en cualquier momento con el comando whoami. 1 ~]$ pwd 2 /home/antonio 3 ~]$ su root 4 Password: 5 antonio]# whoami 6 root 7 antonio]# exit 8 exit 9 ~]$ whoami 10 antonio

32 2.-Administración básica Crear y editar ficheros Cuando se administra un servidor, una de las acciones más habituales y repetidas es editar ficheros de configuración. Esto se hace con editores de texto. Linux incluye varios de ellos, tanto en modo texto como en modo gráfico vi Posiblemente el editor de texto más extendido en el mundo de Linux y Unix sea vi. Por eso resulta recomandable que todo administrador de Linux conozca, al menos básicamente, este editor. PAra crear un nuevo fichero de texto o editar uno ya existente pasaremos el nombre de fichero como parámetro. Por ejemplo podríamos escribir vi nuevo_fichero. Aparecerá una pantalla en blanco (v. Fig. 29). Pero antes de introducir algún texto tenemos que pulsar la tecla i. Al hacerlo estamos cambiando del modo comando al modo inserción. Fig 29:Crear un nuevo fichero con vi Una vez en el modo insertar podemos teclear el texto (v. Fig. 30).

33 2.-Administración básica 30 Fig 30:Insertar texto en vi Si cometemos un error o queremos cambiar algo deberemos cambiar de nuevo al modo comando pulsando la tecla esc. Ahora podremos mover el cursor con las teclas del cursos y suprimir un carácter con la tecla x. Por ejemplo, si queremos sustituir la palabra king por queen colocaremos el cursor sobre la letra k y pulsaremos la tecla x 4 veces. Una vez que hemos borrado la palabra king tendremos que teclear el nuevo texto, para ello cambiamos otra vez a modo insertar pulsando la tecla i. Tendremos que repetir este proceso cada vez que queramos cambiar o borrar algo y cuando hayamos terminado guardaremos el fichero y cerraremos vi. Para guardar el fichero en cualquier momento basta con cambiar a modo comando y teclear :w sin las comillas (v. Fig. 31). Para salir del programa hacemos exactamente lo mismo pero en lugar de teclear :w teclearemos :q. También es posible guardar y salir en una misma operación con :wq.

34 2.-Administración básica 31 Fig 31:Guardar el fichero de texto nano Otro editor de texto bastante conocido en Linux es nano. Su uso no está tan extendido como el de vi pero, por otra parte, mucha gente lo considera más amigable. Nano normalmente no se instala por defecto, por lo que será necesario instalarlo con yum (v. sección Instalando software ). 1 ~]# nano 2 -bash: nano: command not found 3 ~]# yum provides nano 4 Loaded plugins: fastestmirror 5 Loading mirror speeds from cached hostfile 6 * c6-media: 7 nano el6.i686 : A small text editor 8 Repo : c6-media 9 Matched from: ~]# yum install nano Para abrir o crear un fichero solo necesitamos teclear nano nombre_del_fichero Por ejemplo, nano otro_fichero_de_texto.txt. Una vez que lanzamos nano (v. Fig. 32) podemos teclear el texto directamente, usando las teclas exactamente igual que haríamos en cualquier procesador de texto del tipo WYSIWYG. Cuando hayamos terminado pulsaremos Ctrl-X para guardar el fichero.

35 2.-Administración básica 32 Fig 32:Nano cat Otro de los comandos que podemos utilizar es cat, el cual mostrará directamente en pantalla el contenido del fichero que se le pase como parámetro. Por ejemplo, si quisieramos ver el contenido del fichero /etc/group teclearíamos esto: 1 named]# cat /etc/group 2 root:x:0:root 3 bin:x:1:root,bin,daemon 4 daemon:x:2:root,bin,daemon 5 sys:x:3:root,bin,adm 6 adm:x:4:root,adm,daemon 7 tty:x:5: grep Este es uno de los comandos más útiles para el administrador. Como entrada recibe un fichero o bien la salida de otro comando y muestra solo las líneas del fichero que contienen un determinado patrón. Por ejemplo, para ver el contenido del fichero /etc/passwd podríamos usar cat como ya hemos visto.

36 2.-Administración básica 33 1 ~]# cat /etc/passwd 2 root:x:0:0:root:/root:/bin/bash 3 bin:x:1:1:bin:/bin:/sbin/nologin 4 daemon:x:2:2:daemon:/sbin:/sbin/nologin 5 adm:x:3:4:adm:/var/adm:/sbin/nologin 6 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 7 sync:x:5:0:sync:/sbin:/bin/sync 8 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 9 halt:x:7:0:halt:/sbin:/sbin/halt 10 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 11 uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin 12 operator:x:11:0:operator:/root:/sbin/nologin 13 games:x:12:100:games:/usr/games:/sbin/nologin 14 gopher:x:13:30:gopher:/var/gopher:/sbin/nologin 15 ftp:x:14:50:ftp User:/var/ftp:/sbin/nologin 16 nobody:x:99:99:nobody:/:/sbin/nologin 17 dbus:x:81:81:system message bus:/:/sbin/nologin 18 vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin 19 saslauth:x:499:76:"saslauthd user":/var/empty/saslauth:/sbin/nologin 20 postfix:x:89:89::/var/spool/postfix:/sbin/nologin 21 qpidd:x:498:499:owner of Qpidd Daemons:/var/lib/qpidd:/sbin/nologin 22 sshd:x:74:74:privilege-separated SSH:/var/empty/sshd:/sbin/nologin 23 named:x:25:25:named:/var/named:/sbin/nologin 24 ntp:x:38:38::/etc/ntp:/sbin/nologin 25 dhcpd:x:177:177:dhcp server:/:/sbin/nologin 26 tcpdump:x:72:72::/:/sbin/nologin 27 apache:x:48:48:apache:/var/www:/sbin/nologin 28 antonio:x:500:500::/home/antonio:/bin/bash Pero si quisieramos ver solamente la línea del usuario root podríamos pasar la salida del cat al comando grep. Para hacer esto necesitamos conectar ambos comandos con el símbolo, lo que se denomina en inglés pipe. Escribiríamos esto: 1 ~]# cat /etc/passwd grep root 2 root:x:0:0:root:/root:/bin/bash Ahora solo se muestran las lineas que contienen la palabra root. Una opción muy útil de grep es -v, lo que hace esta opción es mostrar todas las líneas que NO contienen un cierto término o patrón. Por ejemplo, varios ficheros de configuración tienen muchas líneas comentadas que comienzan por el símbolo (#). En estos casos siempre resulta mucho más fácil ver solo las líneas que no están comentadas.

37 2.-Administración básica 34 1 ~]# cat /etc/ssh/sshd_config grep -v "#" Protocol 2 7 SyslogFacility AUTHPRIV PasswordAuthentication yes 11 ChallengeResponseAuthentication no more Si el fichero que intentamos ver con cat es demasiado grande, no podremos ver todo el contenido en una única pantalla y el texto se desplazará automáticamente hacia abajo. Si queremos ver el contenido completo podemos usar el comando more. De este modo podemos ver todo el contenido pantalla a pantalla, pasando manualmente de una a otra. ]# more /var/log/messages Fig 33:Viendo el contenido de un fichero con more

38 2.-Administración básica less El comando less es muy parecido a more, con él también podemos ver un fichero grande pantalla a pantalla. La única diferencia es que less nos permite retroceder a la página anterior, mientras que con more cuando avanzamos a la siguiente pantalla ya no podemos retroceder (al menos que salgamos de more y lo ejecutemos de nuevo) head Hemos visto que podemos usar cat para ver el contenido de un fichero. Sin embargo, si el fichero es muy grande el contenido ocupará varias pantallas. Como ya hemos visto podemos usar more o less para ver todo el contenido pantalla a pantalla, pero es posible que solo queramos ver las primeras líneas. Si este es el caso podemos escribir head nombre_del_fichero y veremos las 10 primeras líneas (por defecto) del fichero. 1 named]# head /etc/group 2 root:x:0:root 3 bin:x:1:root,bin,daemon 4 daemon:x:2:root,bin,daemon 5 sys:x:3:root,bin,adm 6 adm:x:4:root,adm,daemon 7 tty:x:5: 8 disk:x:6:root 9 lp:x:7:daemon,lp 10 mem:x:8: 11 kmem:x:9: 12 named]# Si queremos ver solo las 3 primeras líneas usaremos -n 3. Por ejemplo: 1 named]# head -n 3 /etc/group 2 root:x:0:root 3 bin:x:1:root,bin,daemon 4 daemon:x:2:root,bin,daemon 5 named]# tail Tail es un comando similar a head, pero muestra las últimas líneas del fichero en lugar de las primeras. Para ver las últimas 4 líneas del fichero /etc/group podemos hacer esto:

39 2.-Administración básica 36 1 named]# tail -n 4 /etc/group 2 qpidd:x:499: 3 sshd:x:74: 4 antonio:x:500: 5 named:x:25: 6 named]# Una opción realmente útil de tail es -f. Con ella se mostrarán en pantalla las últimas líneas del fichero y las líneas que se vayan añadiendo a partir de ese momento. Por ejemplo, si queremos ver qué eventos del sistema están teniendo lugar en este momento podemos abrir el fichero /var/log/messages con la opción -f. Cuando hayamos terminado podemos salir pulsando Ctrl-C Redirigir la salida de un comando Al hablar del comando grep, vimos que podíamos asociar la salida de un programa a la entrada de otro programa. Cuando tecleamos cat /etc/passwd grep root, lo que estamos haciendo es pasar los datos de salida del comando cat como parámetro de entrada para el programa grep. También podríamos redirigir la salida a un fichero. Por ejemplo. si queremos ogtener una lista con el contenido de la carpeta /etc, podemos redirigir la salida al fichero cat.txt. Entonces solo tendremos que abrir el fichero con cualquier editor. 1 ~]# ls /etc/ > etc.txt 2 ~]# cat etc.txt 3 adjtime 4 aliases 5 aliases.db 6 alternatives 7 anacrontab Instalar software Una de las principales tareas de un administrador es la instalación de nuevo software. En CentOS esto se hace principalmente con las utilidades rpm y yum. La aplicación rpm fue desarrollada por RedHat como un gestor de paquetes de software, permite al usuario instalar paquetes fácilmente y mantiene una base de datos con todo el software instalado en el sistema. El fichero rpm contiene el código binario que será instalado, así como los scripts que necesitan ser ejecutados antes o después de la instalación, con el fin de copiar los ficheros a su destino, crear directorios, etc Por ejemplo, si tenemos el DVD de CentOS en /media/cdrom podríamos instalar un rpm así:

40 2.-Administración básica 37 1 ~]# rpm -ivh /media/cdrom/packages/gedit el6.i686.rpm 2 Preparing... ########################################### [100%] 3 package gedit-1: el6.i686 is already installed Le decimos a rpm que instale (-i) el paquete gedit, y que nos muestre el progreso de la instalación (-h) y toda la información posible. En cualquier momento podemos revisar el software instalado en el sistema con rpm. 1 ~]# rpm -qa 2 libnl el6.i686 3 ca-certificates el6_1.5.noarch 4 python-iwlib el6.i686 5 centos-release-6-2.el6.centos.7.i686 6 pciutils el6.i686 7 iwl5000-firmware _1-1.el6_1.1.noarch 8 lsof el6.i686 9 xorg-x11-drv-ati-firmware el6.noarch 10 libedit cvs.1.el6.i iwl4965-firmware el6.noarch 12 libpcap git117cb5.el6.i Si queremos comprobar que el paquete llamado gedit está instalado podemos hacerlo combinando el comando rpm con grep. 1 ~]# rpm -qa grep -i gedit 2 gedit el6.i686 Y finalmente, si queremos borrar el paquete instalado, podemos hacerlo muy fácilmente. 1 ~]# rpm -e gedit 2 ~]# rpm -qa grep -i gedit 3 ~]# Cada fichero rpm también nos informa de los demás rpms de los que depende, es decir, los ficheros rpm que deben estar ya instalados para que el rpm que queremos instalar funcione correctamente. Podría ocurrir, y de hecho sucede, que un determinado software depende de cierta libreria para funcionar, la cual a su vez depende de otro componente. Por ejemplo, si intentamos instalar logwatch recibiremos el siguiente mensaje.

41 2.-Administración básica 38 1 ~]# rpm -ivh /media/cdrom/packages/logwatch el6.noarch.rp\ 2 m 3 error: Failed dependencies: 4 mailx is needed by logwatch el6.noarch 5 perl(date::manip) is needed by logwatch el6.noarch Este fenómeno ha sido llamado dependency hell, y ha sido una pesadilla para los administradores de Linux durante años. Para resolver este problema se creó yum. Yum intenta comprobar y resolver automáticamente todas las dependencias que un determinado paquete de software pueda tener. De tal modo que la instalación pase a ser una tarea de lo más sencilla Configurando yum en Centos 6 Se puede configurar yum para que busque los paquetes de software en distintos repositorios. Por defecto está configurado para buscarlos en Si no tenemos conexión a Internet, tendremos que especificarle a yum que use el DVD local como repositorio. Este repositorio ya está configurado, pero se encuentra deshabilitado por defecto. En el directorio /etc/yum.repos.d podemos ver los ficheros asociados con los repositorios de yum. 1 ~]# ls /etc/yum.repos.d/ 2 CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo Podemos editar el fichero CentOS-Media.repo para habilitar el repositorio, pero también podemos hacerlo utilizando el propio yum. Si tecleamos yum, el comando nos mostrará en pantalla las diferentes opciones disponibles. Para ver los repositorios actuales ejecutaremos yum repolist. 1 ~]# yum repolist 2 Loaded plugins: fastestmirror 3 Loading mirror speeds from cached hostfile 4 Could not retrieve mirrorlist 5 repo=os error was 6 14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'" 7 repo id repo name status 8 base CentOS-6 - Base 0 9 extras CentOS-6 - Extras 0 10 updates CentOS-6 - Updates 0 11 repolist: 0 Para asegurarnos de que yum utiliza únicamente el repositorio del DVD local, tendremos que deshabilitar todos los repositorios y activar posteriormente el repositorio c6-media. Esto podemos

42 2.-Administración básica 39 hacerlo con las opciones disablerepo y enablerepo. El comando completo para listar los paquetes de software disponibles en el dvd local sería este: yum disablerepo=* enablerepo=c6-media list. Si ejecutamos el comando yum list, veremos todos los paquetes disponibles en este repositorio, siempre que el dvd esté montado. Si no es así, podemos montarlo en cualquier momento con el comando mount. Por ejemplo, para montar el cdrom en el directorio /media/cdrom creamos el directorio (si no existe) y ejecutamos el comando mount /dev/cdrom /media/cdrom. 1 ~]# mkdir /media/cdrom 2 ~]# mount /dev/cdrom /media/cdrom/ 3 mount: block device /dev/sr0 is write-protected, mounting read-only Aquí podemos ver parte del listado de paquetes disponibles. 1 ~]# yum --disablerepo=* --enablerepo=c6-media list 2 Loaded plugins: fastestmirror 3 Loading mirror speeds from cached hostfile 4 * c6-media: 5 Installed Packages 6 ConsoleKit.i CentOS i386/6.2 8 ConsoleKit-libs.i CentOS i386/ GConf2.i MAKEDEV.i CentOS i386/ ORBit2.i acl.i CentOS i386/ aic94xx-firmware.noarch 17 -CentOS i386/ alsa-lib.i apr.i apr-util.i apr-util-ldap.i atk.i atmel-firmware.noarch 24 -CentOS i386/ attr.i CentOS i386/ audit.i CentOS i386/ audit-libs.i686

43 2.-Administración básica CentOS i386/ authconfig.i CentOS i386/ avahi-libs.i b43-openfwwf.noarch 35 -CentOS i386/ basesystem.noarch 37 -CentOS i386/ bash.i CentOS i386/ Configurando yum en Centos 7 En CentOS 7 no existe ningún repositorio para el dvd local definido por defecto. Así que tendremos que crearlo manualmente. En el directorio /etc/yum.repo.d/ veremos esto. 1 ~]# ls /etc/yum.repos.d/ 2 CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Sources.repo CentOS-Vault.repo 3 ~]# Tenemos que creat un nuevo fichero llamado CentOS-Media.repo para este nuevo repositorio. 1 yum.repos.d]# cat CentOS-Media.repo 2 [c7-media] 3 name=centos-$releasever - Media 4 baseurl=file:///media/cdrom/ 5 gpgcheck=0 6 enabled=0 Tendremos que crear el directorio /media/cdrom y montar el cdrom también. 1 ~]# mkdir /media/cdrom 2 ~]# mount /dev/cdrom /media/cdrom/ 3 mount: block device /dev/sr0 is write-protected, mounting read-only Ahora podemos comprobar si este nuevo repositorio funciona listando los paquetes disponibles.

44 2.-Administración básica 41 1 yum.repos.d]# yum --disablerepo=* --enablerepo=c7-media list 2 3 Installed Packages 4 ModemManager-glib.x86_64 5 NetworkManager.x86_64 6 conda 7 NetworkManager-glib.x86_64 8 conda 9 NetworkManager-tui.x86_64 10 conda 11 acl.x86_64 12 aic94xx-firmware.noarch 13 alsa-firmware.noarch 14 alsa-lib.x86_64 15 alsa-tools-firmware.x86_64 16 audit.x86_64 17 audit-libs.x86_64 18 authconfig.x86_64 19 avahi.x86_64 20 avahi-autoipd.x86_64 21 avahi-libs.x86_64 22 basesystem.noarch Opciones de yum Yum es una herramiente bastante versátil, hemos visto cómo listar los paquetes, pero también podemos listar colecciones de paquetes llamadas grupos(groups). Para listar estos grupos podríamos teclear yum disablerepo=* enablerepo=c6-media grouplist. Después de esto veremos en la pantalla una lista con los grupos ya instalados y aquellos que se pueden instalar. En este ejemplo podría haber alguna diferencia entre CentOS 6 y CentOS 7, ya que las versiones de yum son diferentes. Por ejemplo, algunos grupos podrían no aparecer por defecto en CentOS 7, en este caso deberíamos usar la opción group list hidden. En CentOS 6:

45 2.-Administración básica 42 1 ~]# yum --disablerepo=* --enablerepo=c6-media grouplist 2 Loaded plugins: fastestmirror 3 Loading mirror speeds from cached hostfile 4 * c6-media: 5 Setting up Group Process 6 Checking for new repos for mirrors 7 Installed Groups: 8 Client management tools 9 server 10 Graphical Administration Tools 11 Messaging Client Support 12 Systems Management Messaging Server support 13 Installed Language Groups: 14 Arabic Support [ar] 15 Armenian Support [hy] 16 Georgian Support [ka] En CentOS 7: 1 ~]# yum --disablerepo=* --enablerepo=c7-media group list 2 Loaded plugins: fastestmirror 3 Loading mirror speeds from cached hostfile 4 Available environment groups: 5 Minimal Install 6 Infrastructure Server 7 File and Print Server 8 Basic Web Server 9 Virtualization Host 10 Server with GUI 11 GNOME Desktop 12 KDE Plasma Workspaces 13 Development and Creative Workstation 14 Installed groups: 15 System Administration Tools 16 Available Groups: 17 Compatibility Libraries 18 Console Internet Tools 19 Development Tools 20 Graphical Administration Tools

46 2.-Administración básica Legacy UNIX Compatibility 22 Scientific Support 23 Security Tools 24 Smart Card Support 25 System Management 26 Done ~]# yum --disablerepo=* --enablerepo=c7-media group list hidden 29 Loaded plugins: fastestmirror 30 Loading mirror speeds from cached hostfile 31 Available environment groups: 32 Minimal Install 33 Infrastructure Server 34 File and Print Server 35 Basic Web Server 36 Virtualization Host 37 Server with GUI 38 GNOME Desktop 39 KDE Plasma Workspaces 40 Development and Creative Workstation 41 Installed groups: 42 Core 43 Server 44 Network Infrastructure Server 45 System Administration Tools 46 Available Groups: 47 Additional Development 48 Anaconda Tools 49 Backup Client 50 Backup Server 51 Base 52 Compatibility Libraries 53 Conflicts (Client) 54 Conflicts (Server) 55 Conflicts (Workstation) 56 Console Internet Tools 57 DNS Name Server 58 Debugging Tools 59 Desktop Debugging and Performance Tools 60 Development Tools 61 Dial-up Networking Support 62 Directory Client

47 2.-Administración básica Directory Server 64 Emacs 65 FTP Server 66 File and Storage Server 67 Fonts 68 GNOME 69 GNOME Applications 70 Graphical Administration Tools 71 Graphics Creation Tools 72 Guest Agents 73 Guest Desktop Agents 74 Hardware Monitoring Utilities 75 High Availability 76 Identity Management Server 77 Infiniband Support 78 Input Methods 79 Internet Applications 80 Internet Browser 81 Java Platform 82 KDE 83 KDE Applications 84 KDE Multimedia Support 85 Large Systems Performance 86 Legacy UNIX Compatibility 87 Legacy X Window System Compatibility 88 Load Balancer 89 Mainframe Access 90 MariaDB Database Client 91 MariaDB Database Server 92 Multimedia 93 Network File System Client 94 Networking Tools 95 Office Suite and Productivity 96 PHP Support 97 Performance Tools 98 Perl Support 99 Perl for Web 100 Platform Development 101 PostgreSQL Database Client 102 PostgreSQL Database Server 103 Print Server 104 Printing Client

48 2.-Administración básica Python 106 Remote Desktop Clients 107 Remote Management for Linux 108 Resilient Storage 109 Ruby Support 110 Scientific Support 111 Security Tools 112 Smart Card Support 113 System Management 114 Technical Writing 115 Virtualization Client 116 Virtualization Hypervisor 117 Virtualization Platform 118 Virtualization Tools 119 Web Server 120 Web Servlet Engine 121 X Window System 122 Done Si quisiéramos instalar uno de estos grupos, como Hardware monitoring utilities, podríamos obtener algo más de información con el parámetro groupinfo. 1 www]# yum --disablerepo=* --enablerepo=c6-media groupinfo "Hardwar\ 2 e monitoring utilities" 3 Loaded plugins: fastestmirror 4 Loading mirror speeds from cached hostfile 5 * c6-media: 6 Setting up Group Process 7 Checking for new repos for mirrors Group: Hardware monitoring utilities 11 Description: A set of tools to monitor server hardware 12 Default Packages: 13 smartmontools 14 Optional Packages: 15 edac-utils 16 lm_sensors Como podemos ver, el grupo cinsiste en un paquete por defecto y dos paquetes opcionales. Los paquetes por defecto se instalarán siempre que instalamos el grupo, mientras que los paquetes opcionales se instalarán solo si así los especificamos. De tal modo que para instalar el grupo con sus

49 2.-Administración básica 46 paquetes opcionales tendríamos que usar este comando: yum disablerepo=* enablerepo=c6- media setopt=group_package_types=optional groupinstall Hardware monitoring utilities. A continuación aparecerá una pantalla informativa pidiendo la confirmación. Decimos yes (y). 1 ~]# yum --disablerepo=* --enablerepo=c6-media --setopt=group_packa\ 2 ge_types=optional groupinstall "Hardware monitoring utilities" 3 Loaded plugins: fastestmirror 4 Loading mirror speeds from cached hostfile 5 * c6-media: 6 Setting up Group Process 7 Checking for new repos for mirrors 8 Resolving Dependencies 9 --> Running transaction check > Package edac-utils.i686 0: el6 will be installed > Package lm_sensors.i686 0: el6 will be installed 12 --> Finished Dependency Resolution Dependencies Resolved ================================================================================ 17 Package Arch Version Repository Size 18 ================================================================================ 19 Installing: 20 edac-utils i el6 c6-media 40 k 21 lm_sensors i el6 c6-media 122 k Transaction Summary 24 ================================================================================ 25 Install 2 Package(s) Total download size: 162 k 28 Installed size: 415 k 29 Is this ok [y/n]: y 30 Downloading Packages: Total 2.0 MB/s 162 kb 00:00 33 Running rpm_check_debug 34 Running Transaction Test 35 Transaction Test Succeeded 36 Running Transaction 37 Installing : lm_sensors el6.i686 1/2 38 Installing : edac-utils el6.i686 2/2 39

50 2.-Administración básica Installed: 41 edac-utils.i686 0: el6 lm_sensors.i686 0: el Complete! Otra característica muy útil de yum es su capacidad de identificar en qué paquete se ubica un determinado comando. Por ejemplo, una de las herramientas más útiles para el administrador Linux son las páginas del man, las cuales proporcionan una gran cantidad de información sobre los distintos comandos y ficheros de configuración del sistema. Pero como hemos realizado una instalación mínima de CentOS, esta utilidad no estará instalada. Sin embargo, podemos identificar el paquete que contiene esta herramienta con la ayuda de yum. 1 ~]# man 2 -bash: man: command not found 3 ~]# yum --disablerepo=* --enablerepo=c6-media provides man 4 Loaded plugins: fastestmirror 5 Loading mirror speeds from cached hostfile 6 * c6-media: 7 man-1.6f-29.el6.i686 : A set of documentation tools: man, apropos and whatis 8 Repo : c6-media 9 Matched from: Como podemos ver, el paquete que debemos instalar se llama - como cabría esperar - man. En este caso el nombre del paquete es muy intuitivo, pero no siempre sucede esto y, en esos casos, yum resulta de mucha ayuda. Ahora con solo teclear yum disablerepo=* enablerepo=c6-media install man, podremos usar man para obtener información de cualquier comando. 1 ~]# yum --disablerepo=* --enablerepo=c6-media install man 2 ~]# man ls 3 4 LS(1) User Commands LS(1) 5 6 NAME 7 ls - list directory contents 8 9 SYNOPSIS 10 ls [OPTION]... [FILE] DESCRIPTION 13 List information about the FILEs (the current directory by default). 14 Sort entries alphabetically if none of -cftuvsux nor --sort is speci 15 fied.

51 2.-Administración básica Mandatory arguments to long options are mandatory for short options 18 too a, --all 21 do not ignore entries starting with A, --almost-all 24 do not list implied. And Entorno gráfico CentOS 6 Después de realizar una instalación mínima, no tendremos entorno gráfico. Si queremos iniciar el servidor en modo gráfico necesitaremos instalar los siguientes grupos de paquetes: 1 ~]# yum groupinstall desktop 2 ~]# yum groupinstall "X Window System" Una vez que tenemos instalados ambos grupos, podemos pasar al modo gráfico con el comando init 5. 1 ~]# init 5 La primera vez veremos una página de bienvenida (Fig. 34) y la habitual información sobre la licencia (Fig. 35). A continuación, el sistema nos pedirá que creemos un usuario normal (no root) (Fig. 36).

52 2.-Administración básica 49 Fig 34:Instalando el entorno gráfico

53 2.-Administración básica 50 Fig 35:Información sobre la licencia

54 2.-Administración básica 51 Fig 36:Creando un usuario A continuación tendremos que introducir o confirmar los datos acerca de la fecha y la hora (Fig. 37). Después podemos activar Kdump (Fig. 38) si así lo deseamos y tenemos suficiente memoria. Kdump puede usarse para ayudar a resolver un posible fallo del kernel. La forma de utilizar kdump está más allá del ámbito de este libro.

55 2.-Administración básica 52 Fig 37:Fecha y hora

56 2.-Administración básica 53 Fig 38:Kdump Finalmente vemos la pantalla de login gráfico (Fig. 39).

57 2.-Administración básica 54 Fig 39:Login gráfico CentOS 7 Si utilizamos CentOS 7 los paquetes que tenemos que instalar son estos: 1 ~]# yum --disablerepo=* --enablerepo=c7-media group install "X Win\ 2 dow System" 3 ~]# yum --disablerepo=* --enablerepo=c7-media group install "Gnome\ 4 Desktop" Cuando la instalación finalice podremos lanzar el entorno gráfico con startx. 1 ~]# startx En un momento veremos esto (v. Fig. 40).

58 2.-Administración básica 55 Fig 40: Configuración inicial Como podemos ver, falta la información de la licencia, así que hacemos click en LICENSE INFORMATION y aceptamos la licencia (v. Fig. 41).

59 2.-Administración básica 56 Fig 41: Información de licencia Después de aceptar la licencia y pulsar el botón Done podemos ver que la licencia ha sido aceptada (v. Fig. 42).

60 2.-Administración básica 57 Fig 42: Finalizando la configuración Hacemos click en Finish configuration y accedemos a la ventana de login gráfico (Fig. 43).

61 2.-Administración básica 58 Fig 43:Login gráfico Otros comandos útiles chmod Cada fichero en un sistema Linux tiene un conjunto de permisos asociados, es decir, no todos los usuarios pueden leer o modificar el fichero. Algunos usuarios podrían abrir el fichero y ejecutarlo (si es un fichero binario o un script), algunos otros podrían modificar su contenido, etc Tradicionalmente en Linux existen tres conjuntos de permisos asociados a cada fichero, para el propietario, el grupo y el resto de usuarios. Podemos ver estos permisos con el comand ols -l. Por ejemplo 1 named]# ls -l /etc/init.d/named 2 -rwxr-xr-x. 1 root root 6806 Dec /etc/init.d/named En este caso el propietario (root) puede leer (r), escribir(w) y ejecutar(x) el script /etc/init.d/named. El grupo(root) solo puede leerlo y ejecutarlo. Y el resto de usuarios solo pueden leer y ejecutar el fichero también. Si por alguna razón necesitamos cambiar los permisos podemos hacerlo con chmod. Necesitamos concretar qué grupo de permisos queremos modificar: u (propietario), g (grupo), o (otro) o bien a

62 2.-Administración básica 59 (los 3 grupos). También debemos especificar si queremos añadir (+) o quitar (-) el permiso. Veamos un par de ejemplos. 1 named]# chmod o+w /etc/init.d/named 2 named]# ls -l /etc/init.d/named 3 -rwxr-xrwx. 1 root root 6806 Dec /etc/init.d/named Hemos añadido(+) permiso de escritura(w) al resto de usuarios(other). 1 named]# chmod o-w /etc/init.d/named 2 named]# ls -l /etc/init.d/named 3 -rwxr-xr-x. 1 root root 6806 Dec /etc/init.d/named Y ahora revertimos la situación quitando(-) el permiso de escritura tee Ya hemos visto que se puede redirigir la salida de un comando a un fichero. 1 ~]# ls /var/ > var_folder.txt 2 ~]# cat var_folder.txt 3 cache 4 db 5 empty 6 games 7 lib 8 local 9 lock 10 log 11 mail 12 named 13 nis 14 opt 15 preserve 16 run 17 spool 18 tmp 19 www 20 yp Pero a veces puede que nos interese ver la salida del comando en pantalla al mismo tiempo que redirigimos dicha salida a un fichero. Podemos hacer esto con tee.

63 2.-Administración básica 60 1 ~]# ls /var/ tee var_folder.txt 2 cache 3 db 4 empty 5 games 6 lib 7 local 8 lock 9 log 10 mail 11 named 12 nis 13 opt 14 preserve 15 run 16 spool 17 tmp 18 www 19 yp 20 ~]# cat var_folder.txt 21 cache 22 db 23 empty 24 games 25 lib 26 local 27 lock 28 log 29 mail 30 named 31 nis 32 opt 33 preserve 34 run rm A veces necesitamos eliminar ficheros o directorios, para hacerlo podemos usar rm. Por ejemplo, para eliminar un fichero llamado file_to_delete.txt solo tendríamos que teclear esto:

64 2.-Administración básica 61 1 ~]# rm file_to_delete.txt 2 rm: remove regular empty file `file_to_delete.txt'? y Por defecto rm pide confirmación antes de borrar un fichero, pero podemos forzar el borrado sin necesidad de confirmar usando el parámetro -f. Si queremos borrar una carpeta tendremos que usar el parámetro -r (recursivo). 1 ~]# rm -f file_to_delete.txt 2 rm: descend into directory `folder_to_delete'? y 3 rm: remove regular file `folder_to_delete/one.txt'? y 4 rm: remove regular file `folder_to_delete/two.txt'? y 5 rm: remove regular file `folder_to_delete/three.txt'? y SELinux SELinux es un mecanismo de defensa desarrollado por la NSA. Se podría describir brevemente como un mecanismo de seguridad que crea otra capa de protección contra accesos no autorizados y limita el daño que una intrusión podría causar al sistema. En un sistema Linux, SELinux podría estar en uno de estos tres estados: Disabled. SELinux no se está ejecutando y, por lo tanto, no realizará ninguna acción. Permissive. SELinux monitoriza el comportamiento del sistema y registra la actividad, pero no bloquerá ni interferirá en ningún modo en las acciones del sistema. Enforcing. SELinux está en ejecución y, dependiendo de la configuración, podría bloquear ciertas acciones efectuadas por los procesos en ejecución en el sistema. Podemos ver si SELinux está en ejecución con el siguiente comando: 1 named]# sestatus 2 SELinux status: enabled 3 SELinuxfs mount: /selinux 4 Current mode: enforcing 5 Mode from config file: enforcing 6 Policy version: 24 7 Policy from config file: targeted En este caso podemos ver que SELinux está habilitado y en modo enforcing. En este modo SELinux bloqueará cualquier acción que no esté permitida en la configuración de SELinux. Podríamos cambiar el modo a permissive, que permite las acciones que SELinux normalmente bloquearía, pero registra en un logs los detalles sobre cada acción que viola la configuración de SELinux. Este modo permissive es muy útil cuando estamos afinando el funcionamiento de SELinux. Podemos cambiar a este modo con setenforce.

65 2.-Administración básica 62 1 ~]# setenforce permissive Podemos comprobar si el cambio fue efectivo con los comandos getenforce o setstatus. 1 ~]# getenforce 2 Permissive 3 ~]# sestatus 4 SELinux status: enabled 5 SELinuxfs mount: /selinux 6 Current mode: permissive 7 Mode from config file: enforcing 8 Policy version: 24 9 Policy from config file: targeted También es posible deshabilitar completamente SELinux. Podemos hacerlo editando el fichero /etc/sysconfig/selinux. Debería haber una línea que comienza por SELINUX=, que puede tener 3 valores distintos: enforcing, permissive o disabled. Al asignar el valor disabled, en el siguiente reinicio de la máquina SELinux estará deshabilitado. SELinux asigna etiquetas (labels) a los procesos, ficheros y carpetas. De acuerdo con estas etiquetas, habitualmente llamadas contextos, los procesos podrán o no llevar a cabo ciertas acciones. Podemos comprobar el contexto de seguridad de cualquier carpeta con el comando ls -Z. 1 ~]# ls -Z /home/ 2 drwx antonio antonio unconfined_u:object_r:user_home_dir_t:s0 antonio 3 drwx jose jose unconfined_u:object_r:user_home_dir_t:s0 jose Las diferentes carpetas tendrán distintos contextos asociados. 1 ~]# ls -Z /var/www/ 2 drwxr-xr-x. root root system_u:object_r:httpd_sys_script_exec_t:s0 cgi-bin 3 drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 error 4 drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 html 5 drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 icons Por ejemplo, para que Apache pueda acceder a los ficheros html de un sitio Web, la carpeta tendrá que tener asignado el contexto httpd_sys_content_t. Debemos tener esto en cuenta al configurar los distintos servicios en CentOS, y por supuesto también deberemos asignar los permisos de lectura, escritura y/o ejecución cuando sea necesario. Si necesitamos cambiar el contexto de un fichero o carpeta podemos hacerlo con chcon.

66 2.-Administración básica 63 1 ~]# mkdir test 2 ~]# ls -Zd test 3 drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 test 4 ~]# chcon -t httpd_sys_content_t test/ 5 ~]# ls -dz test 6 drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 test También podemos ver el contexto asociado a un proceso en ejecución con ps -Z. 1 ~]# ps -Z 2 LABEL PID TTY TIME CMD 3 unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c pts/0 00:00:00 bash 4 unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c pts/0 00:00:01 ps SELinux también mantiene por defecto una serie de variables que, de acuerdo con su valor, van a influir en el comportamiento del sistema. Podemos obtener una lista de estos valores con el comando getsebool. 1 ~]# getsebool -a 2 abrt_anon_write --> off 3 abrt_handle_event --> off 4 allow_console_login --> on 5 allow_cvs_read_shadow --> off 6 allow_daemons_dump_core --> on 7 allow_daemons_use_tcp_wrapper --> off 8 allow_daemons_use_tty --> on 9 allow_domain_fd_use --> on 10 allow_execheap --> off 11 allow_execmem --> on Podemos cambiar cualquiera de estos valores con setsebool. 1 ~]# setsebool abrt_anon_write on 2 ~]# getsebool abrt_anon_write 3 abrt_anon_write --> on El cambio tendrá efecto inmediatamente, pero cuando el servidor se reinicie de nuevo el parámetro recuperará su antiguo valor. Para que el cambio sea permanente necesitamos añadir -P al comando del ejemplo anterior.

67 2.-Administración básica 64 1 ~]# setsebool -P abrt_anon_write on Otra herramienta útil para gestionar SELinux es semanage. Normalmente no se instala por defecto, así que si queremos utilizarla tendremos que instalar el paquete policycoreutils-python. Con semanage podemos obtener una lista de los distintos contextos. 1 ~]# semanage fcontext -l 2 SELinux fcontext type Context 3 4 / directory system_u:o\ 5 bject_r:root_t:s0 6 /.* all files system_u:o\ 7 bject_r:default_t:s0 8 /[^/]+ regular file system_u:o\ 9 bject_r:etc_runtime_t:s0 10 /\.autofsck regular file system_u:o\ 11 bject_r:etc_runtime_t:s0 12 /\.autorelabel regular file system_u:o\ 13 bject_r:etc_runtime_t:s0 14 /\.journal all files <<None>> 15 /\.suspended regular file system_u:o\ 16 bject_r:etc_runtime_t:s0 17 /a?quota\.(user group) regular file system_u:o\ 18 bject_r:quota_db_t:s0 19 /afs directory system_u:o\ 20 bject_r:mnt_t:s0 21 /bin directory system_u:o\ 22 bject_r:bin_t:s0 23 /bin/.* all files system_u:o\ 24 bject_r:bin_t:s0 25 /bin/alsaunmute regular file system_u:o\ 26 bject_r:alsa_exec_t:s0 27 /bin/bash regular file system_u:o\ 28 bject_r:shell_exec_t:s0 29 /bin/bash2 regular file system_u:o\ 30 bject_r:shell_exec_t:s0 31 /bin/d?ash regular file system_u:o\ 32 bject_r:shell_exec_t:s

68 2.-Administración básica 65 También podemos obtener un listado de las variables booleanas de SELinux, junto con una breve descripción. 1 ~]# semanage boolean -l 2 SELinux boolean State Default Description 3 4 ftp_home_dir (off, off) Allow ftp to read and write files \ 5 in the user home directories 6 smartmon_3ware (off, off) Enable additional permissions need\ 7 ed to support devices on 3ware controllers. 8 xdm_sysadm_login (off, off) Allow xdm logins as sysadm 9 xen_use_nfs (off, off) Allow xen to manage nfs files 10 mozilla_read_content (off, off) Control mozilla content access 11 ssh_chroot_rw_homedirs (off, off) Allow ssh with chroot env to read \ 12 and write files in the user home directories 13 tftp_anon_write (off, off) Allow tftp to modify public files \ 14 used for public file transfer services. 15 allow_console_login (on, on) Allow direct login to the console \ 16 device. Required for System spamassassin_can_network (off, off) Allow user spamassassin clients to\ 18 use the network A lo largo del libro usaremos estas herramientas para configurar SELinux, de modo que sea posible la ejecución de los distintos servicios de red.

69 3.- Networking En nuestros días un ordenador completamente aislado del mundo exterior es algo prácticamente inservible. Muchas tareas cotidianas como enviar y recibir s, compartir ficheros o consultar una base de datos requieren una conexión externa. Para comunicarse, los ordenadores usan un software que se denomina protocolo de red. No entraremos en detalles acerca de los diferentes protocolos de red, puesto que ya existen multitud de libros sobre este tema. En realidad existen muchos protocolos de red, pero el estándar de facto es el protocolo TCP/IP IPv4 Este protocolo fue desarrollado en los años 70 por la Agencia de Proyectos de Investigación de Defensa Avanzada (DARPA por sus siglas en inglés). Es un modelo jerárquico que asigna a cada ordenador una dirección IP en forma de cuatro octetos x.x.x.x. Cada dirección tiene una máscara asociada que también consiste en cuatro octetos. Veremos esto con un poco más de detalle. Como mencionamos anteriormente, una dirección IP se representa con 4 números cuyos valores oscilan entre 0 y 255, por ejemplo , , , etc Además, cada dirección IP lleva asociado otro parámetro, la máscara de subred. La máscara de subred podría ser , , , etc Imaginemos que tenemos un ordenador con los siguientes parámetros: Dirección IP: Máscara de red: Ahora debemos introducir un nuevo concepto, la dirección de red. Este valor nos servirá para determinar si 2 ordenadores están en la misma o en diferentes redes. Para obtener la dirección de red comparamos los valores de la dirección IP y de la máscara de red en binario. Dirección IP: Máscara de red: La dirección de red será la parte de la dirección ip que se corresponde con la parte de la máscara de red con unos. En este ejemplo será: Dirección de red: Dado que la dirección de red necesita tener una longitud de 4 octetos también, el resto de la dirección se completará con ceros. Dirección de red:

70 3.- Networking 67 Para que dos máquinas puedan comunicarse directamente deberán tener la misma dirección de red. Por ejemplo, si ya tenemos un servidor con la dirección IP y la máscara de red , deberíamos usar la misma dirección de red (y por supuesto una IP diferente) para un nuevo ordenador. Una de las muchas direcciones IP válidas podría ser esta: Dirección IP: Máscara de red: Dirección de red: De forma que, como hemos dicho, una dirección IP siempre debe tener una máscara asociada, de otra forma no podríamos determinar a qué red pertenece. En los ejemplos previos hemos especificado la dirección IP y la máscara de red como dos valores separados, pero se pueden representar juntos en una forma abreviada. Vamos a tomar el último ejemplo: Dirección IP: Máscara de red: Si pasamos los valores a binario obtenemos esto: Dirección IP: Máscara de red: Vemos que la máscara de red tiene 24 unos, así que podríamos representarla así: /24 Las direcciones IP también se pueden clasificar en varias categorías: Clase A: La dirección (en formato binario) comienza con un 0. Es decir, cada dirección entre 1.x.x.x y 127.x.x.x se considera una dirección IP de clase A. Clase B: La dirección empieza con 10. El rango de IPs en este caso va de 128.x.x.x hasta 191.x.x.x. Clase C: En este caso la dirección empieza con 110. El rango válido de direcciones de este tipo va de 192.x.x.x hasta 224.x.x.x. También existe una Clase D y una Clase E, utilizadas para propósitos específicos, pero no entraremos en detalles Direcciones especiales También hay unas cuantas direcciones que fueron definidas con un propósito específico. Un ejemplo es la dirección IP , llamada dirección de bucle local (loopback en inglés). Cada dispositivo que usa el protocolo TCP tiene asignada esta dirección con el fin de poder comprobar localmente el funcionamiento del protocolo TCP.

71 3.- Networking 68 Otras direcciones de red están concebidas para su uso exclusivo en redes de área local (LANs) pero no en Internet, ya que a diferencia de las direcciones estándar, éstas no son únicas. Estas direcciones son: / / /16 De modo que cada dirección IP que se encuentre contenida en uno de estos rangos es considerada una dirección privada Unicast, multicast y broadcast Un dispositivo IPv4 se puede comunicar directamente con otro sispositivo estableciendo una relación uno-a-uno. Esto se denomina unicast. Pero tal vez este dispositivo quiera comunicarse con todos aquellos dispositivos con la misma dirección de red. Esto se llama broadcast y consiste en la dirección de red y todos los bits de hosts puestos a 1. Por ejemplo, si un ordenador tiene la dirección /24 y quiere enviar un broadcast lo enviará a la dirección Y también hay un tercer escenario, en el cual un ordenador quiere comunicarse con un grupo de máquinas en la misma red, pero no todas ellas. Para que esto funcione, estas máquinas deberán compartir una dirección de multicast. Este tipo de comunicación se llama también así, multicast. of communication is called multicast Conficuración de IPv4 en CentOS CentOS 6 Para asignar temporalmente una dirección IP a nuestro servidor CentOS podemos usar el comando ifconfig. Ejecutado con el parámetro -a nos mostrará todas las interfaces de red presentes, independientemente de si éstas están configuradas o no. 1 ~]# ifconfig -a 2 eth0 Link encap:ethernet HWaddr 00:0C:29:78:4C:B1 3 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 4 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 5 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 6 collisions:0 txqueuelen: RX bytes:0 (0.0 b) TX bytes: (0.0 b) 8 Interrupt:19 Base address:0x lo Link encap:local Loopback 11 inet addr: Mask: inet6 addr: ::1/128 Scope:Host

72 3.- Networking UP LOOPBACK RUNNING MTU:16436 Metric:1 14 RX packets:19843 errors:0 dropped:0 overruns:0 frame:0 15 TX packets:19843 errors:0 dropped:0 overruns:0 carrier:0 16 collisions:0 txqueuelen:0 17 RX bytes: (18.6 MiB) TX bytes: (18.6 MiB) Podemos ver que hay 2 interfaces de red en nuestro servidor: lo (loopback), una interfaz de red virtual usada internamente, y eth0, la cual se corresponde con una tarjeta ethernet. Esta última es la interfaz que tendremos que usar para configurar la dirección IP de nuestro servidor. 1 ~]# ifconfig eth netmask up Con ifconfig podemos añadir una IP temporal, pero para que este cambio sea persistente tendremos que modificar la configuración de red del sistema. Podemos hacer esto manualmente editando el fichero /etc/sysconfig/network-scripts/ifcfg-eth0 y añadiendo las siguientes líneas: 1 IPADDR= BOOTPROTO=none 3 NETMASK= TYPE=Ethernet También tendremos que cambiar la línea ONBOOT=no a ONBOOT=yes, de modo que la interfaz de red se active después de cada reinicio. Este procedimiento funciona perfectamente, pero probablemente sea más cómodo utilizar una herramienta de configuración automática como system-confignetwork. Este programa seguramente no esté instalado por defecto, así que tendremos que instalarlo ahora. Como vimos en el capítulo previo podemos usar yum para identificar el paquete asociado a un comando determinado. 1 ~]# yum --disablerepo=* --enablerepo=c6-media provides system-conf\ 2 ig-network 3 Loaded plugins: fastestmirror 4 Loading mirror speeds from cached hostfile 5 * c6-media: 6 file:///media/centos/repodata/repomd.xml: [Errno 14] Could not open/read file://\ 7 /media/centos/repodata/repomd.xml 8 Trying other mirror. 9 file:///media/cdrecorder/repodata/repomd.xml: [Errno 14] Could not open/read fil\ 10 e:///media/cdrecorder/repodata/repomd.xml 11 Trying other mirror. 12 c6-media 4.0 kb 00: Warning: 3.0.x versions of yum would erroneously match against filenames.

73 3.- Networking You can use "*/system-config-network" and/or "*bin/system-config-network" to ge\ 15 t that behaviour 16 No Matches found 17 ~]# yum --disablerepo=* --enablerepo=c6-media provides */system-co\ 18 nfig-network 19 Loaded plugins: fastestmirror 20 Loading mirror speeds from cached hostfile 21 * c6-media: 22 system-config-network-tui el6.2-1.el6.noarch : The Network Adminstration 23 : Tool 24 Repo : c6-media 25 Matched from: 26 Filename : /usr/share/system-config-network 27 Filename : /usr/bin/system-config-network 28 Filename : /etc/pam.d/system-config-network 29 Filename : /etc/security/console.apps/system-config-network 30 Filename : /usr/sbin/system-config-network Así que instalamos el paquete system-config-network-tui con este comando: yum disablerepo=* enablerepo=c6-media install system-config-network-tui. Una vez que el paquete está instalado, podemos lanzar el programa con system-config-network (Fig. 44). Fig 44:System-config-network Seleccionamos la opción Device configuration y pulsamos INTRO. Ahora en la pantalla aparecerá una lista con las interfaces de red (Fig. 45), en este caso solamente hay una, la seleccionamos y pulsamos nuevamente INTRO.

74 3.- Networking 71 Fig 45:Seleccionar una interfaz Rellenamos el formulario y hacemos click en Ok->Save & Quit (Fig. 46). Fig 46:Asignar una dirección IP Si revisamos de nuevo el fichero /etc/sysconfig/network-scripts/ifcfg-eth0, veremos que el contenido del fichero se ha actualizado. Sin embargo aún tendremos que cambiar manualmente el parámetro ONBOOT=no a ONBOOT=yes.

75 3.- Networking Centos 7 En CentOS 7 el comando ifconfig no se instala por defecto, ya que se aconseja emplear otras utilidades en su lugar como por ejemplo el comando ip. Con ella podemos añadir una dirección IP así: 1 ~]# ip address add /24 dev enp0s3 También podemos listar las interfaces y sus IPs asociadas. 1 ~]# ip address show 2 1: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN 3 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 4 inet /8 scope host lo 5 valid_lft forever preferred_lft forever 6 inet6 ::1/128 scope host 7 valid_lft forever preferred_lft forever 8 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP \ 9 qlen link/ether 08:00:27:a0:46:d2 brd ff:ff:ff:ff:ff:ff 11 inet /24 scope global enp0s3 12 valid_lft forever preferred_lft forever Como ocurría en CentOS 6, la dirección IP que acabamos de asignar tendrá un carácter temporal. Si queremos que sea persistente tendremos que editar el fichero /etc/sysconfig/network-scripts/ifcfgenp0s3 y añadir las siguientes líneas: 1 IPADDR= BOOTPROTO=static 3 NETMASK= TYPE=Ethernet Tendremos que añadir el parámetro ONBOOT=yes, de modo que la interfaz de red se active cada vez que el sistema arranca. De este modo asignamos manualmente una dirección IP estática al servidor, pero resulta mucho más cómodo hacerlo con una utilidad. En CentOS 6 utilizamos system-config-network, pero este comando no está disponible en CentOS 7, en su lugar debemos usar nmtui (v. Fig. 47 y Fig. 48).

76 3.- Networking 73 Fig 47:nmtui Fig 48:Editando una conexión con nmtui

77 3.- Networking 74 Como aún no hemos añadido una puerta de enlace por defecto, la ñadimos ahora (v. Fig. 49). Aceptamos los cambios (v. Fig. 50). Fig 49:Añadiendo la puerta de enlace por defecto con nmtui

78 3.- Networking 75 Y reiniciamos el servicio de red. Fig 50:Añadiendo la puerta de enlace por defecto con nmtui 1 ~]# service network restart 2 Restarting network (via systemctl): [ OK ] Ahora podemos consultar la puerta de enlace predeterminada con el comando ip. 1 ~]# ip route show 2 default via dev enp0s3 proto static metric /24 dev enp0s3 proto kernel scope link src IPv6 Según Internet fue ganando popularidad, llegó un momento en el que resultó claro que no habría suficientes direcciones IPv4 para satisfacer la creciente demanda. Las direcciones IPv4 tienen una longitud de 4 bytes, lo que permite un máximo de 4200 millones de direcciones, mientras que la población mundial es de unos 7000 millones. Obviamente no todas las personas tienen un ordenador conectado a Internet - especialmente en países pobres - pero cada día más y más personas se conectan a Internet, y cada vez es más habitual disponer de ordenador, smartphone y tablet, todos ellos

79 3.- Networking 76 con conexión a Internet. Además, también debemos tener en cuenta que cada servidor en Internet necesita también una IP única. Considerando estos hechos, parece bastante razonable pensar que IPv4 no será capaz de satisfacer la creciente necesidad de más direcciones para una Internet en continuo crecimiento. Para resolver este problema, los ingenieros del IETF(Internet Engineering Task Force) decidieron ponerse manos a la obra para desarrollar un protocolo que cumpliera con las nuevas expecativas. Así surgió el protocolo IPv6. IPv6 utiliza direcciones de 128 bits, lo que permite un máximo de 3.4 * 10ˆ38 direcciones, cifra que debería ser suficiente durante un largo tiempo. Las direcciones IPv6 se representan habitualmente en 8 grupos de 16 bits, en formato hexadecimal, de esta forma: fe80:0000:0000:0000:020c:29ff:fedf:d786/64 El /64 se utiliza para representar la máscara, concepto que ya vimos al hablar de direcciones IPv4. Esto quiere decir que los primeros 64 bits de la dirección se utilizarán para definir la dirección de red. Con el fin de simplificar la representación de las direcciones IPv6, cuando hay varios ceros consecutivos el mayor grupo de 0 s puede omitirse. fe80::020c:29ff:fedf:d786/64 Como ocurría con las direcciones IPv4, también hay unas cuantas direcciones IPv6 a las que se ha asignado un papel especial. Las que comienzan por fe80 se consideran direcciones locales (link-local addresses en inglés). Un concepto similar a las direcciones privadas en el mundo IPv4. Siempre que una interfaz de red está habilitada para IPv6 se le asigna automáticamente una dirección IPv6 que comienza por fe80. Podemos asignar una dirección IPv6 a la interfaz eth0 con el comando ip. 1 ~]# ip address add 2000::20c:29ff:fe78:4cb1/64 dev eth0 Ahora podemos ver la nueva ip asignada. 1 ~]# ifconfig eth0 2 eth0 Link encap:ethernet HWaddr 00:0C:29:78:4C:B1 3 inet addr: Bcast: Mask: inet6 addr: 2000::20c:29ff:fe78:4cb1/64 Scope:Global 5 inet6 addr: fe80::20c:29ff:fe78:4cb1/64 Scope:Link 6 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 7 RX packets: errors:25 dropped:14 overruns:0 frame:0 8 TX packets: errors:0 dropped:0 overruns:0 carrier:0 9 collisions:0 txqueuelen: RX bytes: (369.9 MiB) TX bytes: (54.9 MiB)

80 3.- Networking Interrupt:19 Base address:0x ~]# ip address show dev eth0 14 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNO\ 15 WN qlen link/ether 00:0c:29:78:4c:b1 brd ff:ff:ff:ff:ff:ff 17 inet /24 brd scope global eth0 18 inet6 2000::20c:29ff:fe78:4cb1/64 scope global 19 valid_lft forever preferred_lft forever 20 inet6 fe80::20c:29ff:fe78:4cb1/64 scope link 21 valid_lft forever preferred_lft forever Herramientas de red netstat Cada vez que un programa necesita comunicarse por red utiliza lo que el protocolo TCP llama puertos. Un puerto sería una forma de identificar un servicio determinado dentro de la red. Por ejemplo, para comunicarse con un servidor Web se utilizaría el puerto 80, para conectar con un servidor FTP el puerto 21, etc Es decir, por cada servicio de red en ejecución en el servidor habrá (al menos) un puerto TCP abierto. Si queremos saber qué puertos tenemos abiertos en un momento dado podemos usar netstat. Por defecto mostrará solo los puertos con una conexión establecida. 1 ~]# netstat 2 Active Internet connections (w/o servers) 3 Proto Recv-Q Send-Q Local Address Foreign Address Stat\ 4 e 5 tcp :ssh :49775 ESTA\ 6 BLISHED 7 Active UNIX domain sockets (w/o servers) 8 Proto RefCnt Flags Type State I-Node Path 9 unix 2 [ ] DGRAM 10 unix 10 [ ] DGRAM /dev/log En este caso podemos ver que tenemos un único puerto tcp conectado, el puerto ssh. El comando muestra varios sockets unix abiertps, pero por ahora ignoraremos esta información. Podemos pasarle varias opciones a netstat. Algunas de las más útiles son: (-a) para mostrar TODOS los puertos abiertos

81 3.- Networking 78 y no solo los que ya están conectados, (-p) para identificar el programa que tiene abierto el puerto, (-t) para TCP, (-u) para UDP o (-n) para mostrar el número de puerto en lugar del nombre del servicio asociado a dicho puerto. Veamos un ejemplo: 1 ~]# netstat -aptn 2 Active Internet connections (servers and established) 3 Proto Recv-Q Send-Q Local Address Foreign Address Stat\ 4 e PID/Program name 5 tcp : :* LIST\ 6 EN 1107/sshd 7 tcp : :* LIST\ 8 EN 1183/master 9 tcp : :* LIST\ 10 EN 1196/qpidd 11 tcp : :50316 ESTA\ 12 BLISHED 6738/sshd 13 tcp 0 0 :::22 :::* LIST\ 14 EN 1107/sshd 15 tcp 0 0 ::1:25 :::* LIST\ 16 EN 1183/master Obtenemos la lista de todos los puertos TCP abiertos, mostrando los números de puerto y los programas que han abierto cada puerto lsof Otra herramienta muy útil es lsof. Probablemente no está instalada por defecto, pero podemos instalarla con yum como ya hemos visto antes. 1 ~]# yum --disablerepo=* --enablerepo=c6-media provides lsof 2 Loaded plugins: fastestmirror 3 Loading mirror speeds from cached hostfile 4 * c6-media: 5 lsof el6.i686 : A utility which lists open files on a Linux/UNIX system 6 Repo : c6-media 7 Matched from: 8 9 ~]# yum --disablerepo=* --enablerepo=c6-media install lsof Esta herramienta enumera los ficheros abiertos en el sistema, pero también podemos usarla para ver qué proceso está escuchando en un puerto dado.

82 3.- Networking 79 1 ~]# lsof -i :53 2 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 3 named 8616 named 20u IPv t0 TCP *:domain (LISTEN) 4 named 8616 named 21u IPv t0 TCP localhost:domain (LISTEN) 5 named 8616 named 22u IPv t0 TCP :domain (LISTEN) 6 named 8616 named 512u IPv t0 UDP *:domain 7 named 8616 named 513u IPv t0 UDP localhost:domain 8 named 8616 named 514u IPv t0 UDP :domain nmap En ocasiones necesitamos conocer qué puertos son accesibles por red. Podría suceder que un servicio estuviera escuchando en un puerto determinado, pero que un cortafuegos o filtro de cualquier tipo estuviera bloqueando el acceso a dicho puerto. En este caso, obviamente, no podría haber comunicación entre servidor y cliente. Para probar si un puerto es accesible o no podemos usar nmap. La sintaxis básica es nmap nombre_o_ip: 1 named]# nmap Starting Nmap 5.21 ( ) at :31 CEST 4 mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled.\ 5 Try using --system-dns or specify valid servers with --dns-servers 6 Nmap scan report for Host is up ( s latency). 8 Not shown: 998 filtered ports 9 PORT STATE SERVICE 10 22/tcp open ssh 11 53/tcp open domain 12 MAC Address: 00:0C:29:78:4C:B1 (VMware) Nmap done: 1 IP address (1 host up) scanned in 5.29 seconds 15 named]# Podemos especificar los puertos que queremos comprobar.

83 3.- Networking 80 1 named]# nmap -p 80, Starting Nmap 5.21 ( ) at :05 CEST 4 mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled.\ 5 Try using --system-dns or specify valid servers with --dns-servers 6 Nmap scan report for Host is up ( s latency). 8 PORT STATE SERVICE 9 22/tcp open ssh 10 80/tcp filtered http 11 MAC Address: 00:0C:29:78:4C:B1 (VMware) Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds 14 named]# También podemos obtener más información acerca de los servicios que están escuchando en cada puerto. 1 named]# nmap -sv Starting Nmap 5.21 ( ) at :07 CEST 4 Nmap scan report for delphos.olimpus.local ( ) 5 Host is up ( s latency). 6 Not shown: 998 filtered ports 7 PORT STATE SERVICE VERSION 8 22/tcp open ssh OpenSSH 5.3 (protocol 2.0) 9 53/tcp open domain 10 MAC Address: 00:0C:29:78:4C:B1 (VMware) Service detection performed. Please report any incorrect results at 13 org/submit/. 14 Nmap done: 1 IP address (1 host up) scanned in seconds 15 named]# ping Una de las utilidades más sencillas y útiles para diagnosticar problemas de red es ping. Com ping simplemente enviamos un pequeño paquete de datos al destino. Si el paquete llega, el destino - habitualmente - responderá.

84 3.- Networking 81 1 ~]# ping PING ( ) 56(84) bytes of data bytes from : icmp_seq=1 ttl=63 time=2.76 ms 4 64 bytes from : icmp_seq=2 ttl=62 time=1.59 ms ping6 Ping6 es la versión para IPv6 del comando ping. Funciona del mismo modo pero utilizando direcciones IPv6. 1 ~]# ping6 2001::20c:29ff:fe78:4cb2 2 PING 2001::20c:29ff:fe78:4cb2(2001::20c:29ff:fe78:4cb2) 56 data bytes 3 64 bytes from 2001::20c:29ff:fe78:4cb2: icmp_seq=1 ttl=64 time=0.083 ms 4 64 bytes from 2001::20c:29ff:fe78:4cb2: icmp_seq=2 ttl=64 time=0.080 ms Si intentamos hacer ping a una dirección local (las que empiezan con de80), necesitamos indicar la interfaz. De otro modo obtendremos un error. 1 ~]# ping6 fe80::20c:29ff:fe78:4cb1 2 connect: Invalid argument 3 ~]# ping6 -I eth0 fe80::20c:29ff:fe78:4cb1 4 PING fe80::20c:29ff:fe78:4cb1(fe80::20c:29ff:fe78:4cb1) from fe80::20c:29ff:fe78\ 5 :4cb1 eth0: 56 data bytes 6 64 bytes from fe80::20c:29ff:fe78:4cb1: icmp_seq=1 ttl=64 time=3.70 ms 7 64 bytes from fe80::20c:29ff:fe78:4cb1: icmp_seq=2 ttl=64 time=0.111 ms 8 64 bytes from fe80::20c:29ff:fe78:4cb1: icmp_seq=3 ttl=64 time=0.044 ms 9 ^C fe80::20c:29ff:fe78:4cb1 ping statistics packets transmitted, 3 received, 0% packet loss, time 2300ms 12 rtt min/avg/max/mdev = 0.044/1.285/3.701/1.708 ms

85 4.- DNS El número de ordenadores interconectados crece cada día. Es posible diseñar una red con un esquema de direccionamiento de red jerárquico que asigne direcciones IP de acuerdo con la ubicación física de cada máquina, pero incluso en este caso siempre será más fácil identificar a los dispositivos de red por un nombre y no por una dirección IP. Un servidor de DNS local nos permite establecer una relación directa entre un nombre de ordenador y su dirección IP, lo que facilita mucho la gestión de la red Servicio DNS Para comunicarse entre sí, cada máquina de la red debe disponer de una dirección IP única. Se podría decir que existe una cierta analogía conuna red telefónica, en la que un número de teléfono identifica a un único dispositivo y le posibilita la comunicación con otros teléfonos. Trabajar con direcciones IP está bien para las máquinas, pero puede resultar un engorro para las personas. Sería necesario recordar la dirección IP de todos y cada uno de los dispositivos a los que quisiéramos conectarnos. Definitivamente es mucho más cómodo utilizar nombres como o mucho más fáciles de recordar. Internamente las computadoras se comunican entre sí utilizando sus direcciones IP, no sus nombres asociados. Así que es necesario tener un sistema capaz de determinar la dirección IP asociada con un determinado nombre de dominio. De modo que, por ejemplo, si tecleamos en nuestro navegador favorito, nuestro PC tiene que ser capaz de averiguar la dirección IP asociada con el nombre Una vez que descubre que la dirección IP es establece una conexión y muestra la página Web. Si hubiéramos escrito en la barra de direcciones no habría sido necesario preguntar la dirección IP de Un servidor DNS es una máquina que mantiene una lista de asociaciones nombre - dirección IP. En los primeros días de Internet esto se conseguía con un único fichero de texto que todos los ordenadores tenían que conocer para poder comunicarse entre sí. Este fichero es /etc/passwd, y aún hoy está presente en cada computadora. Por ello se puede utilizar para proporcionar un servicio de resolución de nombres básico. Por ejemplo, podemos abrir el fichero /etc/passwd y añadir la siguiente línea: A partir de este momento, cada vez que nuestra máquina necesite conocer la dirección IP de asumirá que esta dirección IP es

86 4.- DNS 83 1 ~]# cat /etc/hosts localhost localhost.localdomain localhost4 localhost4.localdomain4 3 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain dummy-server.example.com ~]# ping 7 PING ( ) 56(84) bytes of data bytes from dummy-server.example.com ( ): icmp_seq=1 ttl=64 time=0\ ms bytes from dummy-server.example.com ( ): icmp_seq=2 ttl=64 time=0\ ms bytes from dummy-server.example.com ( ): icmp_seq=3 ttl=64 time=0\ ms 14 ^C ping statistics packets transmitted, 3 received, 0% packet loss, time 2459ms 17 rtt min/avg/max/mdev = 0.052/0.055/0.058/0.006 ms Utilizar el fichero host para la resoluciójn de nombres todavía puede resultar apropiado para redes pequeñas, pero desde el momento en que Internet comenzó a crecer resultó evidente que se necesitaba un nuevo sistema de resolución de nombres. Y por ello se desarrolló el sistema DNS. Un servidor DNS mantiene una base de datos con todas las direcciones IP y nombres incluidos en un dominio. Por supuesto un único servidor DNS es incapaz de almacenar todas las relaciones nombre - dirección IP existentes en el Mundo, sino que habitualmente cada servidor DNS solamente mantiene la información relativa a su propio dominio. Los servidores DNS se organizan de un modo jerárquico, como hemos visto en la Fig. 51, de modo que cuando el servidor DNS asignado no consigue resolver un nombre, le pasa la petición a otro servidor de una capa superior. Es fácil de entender con un ejemplo.

87 4.- DNS 84 Fig 51:Jerarquía DNS Imaginemos que estamos delante de una computadora del dominio acme.net y queremos acceder a la web es.wikipedia.org. La computadora consultará si servidor DNS local acerca del nombre es.wikipedia.org, pero este servidor solo conoce los registros mail.acme.net, etc Así que decide consultar al servidor del dominio.net. Este servidor del dominio.net tampoco conoce la dirección del servidor es.wikipedia.org así que tiene que consultar a su vez al servidor raíz (.). El servidor raíz no sabe la dirección exacta de es.wikipedia.org, pero sí que conoce la dirección del servidor del domino.org, así que le pasa la consulta a dicho servidor. A su vez el servidor de nombres de.org transmitirá esa misma consulta al servidor DNS del dominio wikipedia.org, que será quien finalmente nos diga la dirección IP asociada con el nombre es.wikipedia.org, la respuesta se le pasará al servidor DNS del dominio acme.net, que a su vez le responderá al cliente Instalar un servidor DNS Para ilustrar la teoría que hemos visto hasta ahora, vamos a instalar y configurar un servidor DNS. El paquete que tendremos que instalar es bind. Si ya tenemos una conexión a Internet podemos usar yum sin las opciones disablerepo y enablerepo, ya que la aplicación descargará de los repositorios de Internet los paquetes necesarios. También podemos usar el parámetro -y para responder automáticamente que sí a cualquier mensaje de confirmación. Por otro lado, si todavía no tenemos una conexión a Internet tendremos que usar las opciones que vimos antes y asegurarnos de que el DVD está montado.

88 4.- DNS 85 1 ~]# yum -y install bind Arrancando el servicio en CentOS 6 Una vez instalado, deberíamos tener un nuevo script en el directorio /etc/init.d. Este script se llamará named. 1 ~]# ls /etc/init.d/named 2 /etc/init.d/named Podemos comprobar el estado de este nuevo servicio llamando al script con el parámetro status. 1 ~]# /etc/init.d/named status 2 rndc: neither /etc/rndc.conf nor /etc/rndc.key was found 3 named is stopped O también podemos usar el comando service. 1 ~]# service named status 2 rndc: neither /etc/rndc.conf nor /etc/rndc.key was found 3 named is stopped En ambos casos vemos que el servicio named está parado. Y también parece que faltan un par de ficheros. Entraremos en más detalle dentro de un momento, pero por ahora nos limitaremos a iniciar el servicio con el siguiente comando: 1 ~]# service named start 2 Starting named: [ OK ] 3 ~]# service named status 4 rndc: neither /etc/rndc.conf nor /etc/rndc.key was found 5 named (pid 1570) is running... Ahora deberemos asegurarnos de que el servicio arranca automáticamente cada vez que el servidor se reinicie. Podemos comprobar esto con chkconfig. 1 ~]# chkconfig --list named 2 named 0:off 1:off 2:off 3:off 4:off 5:off 6:off Podemos ver que, ahora mismo, el servicio named no está configurado para arrancar de forma automática en ninguno de los 6 niveles de ejecución. Lo cambiamos.

89 4.- DNS 86 1 ~]# chkconfig named on 2 ~]# chkconfig --list named 3 named 0:off 1:off 2:on 3:on 4:on 5:on 6:off Ahora el servicio named se iniciará en todos los niveles de ejecución, excepto el 0(apagado), el 1(monousuario) y el 6(reinicio). Hasta ahora no hemos hablado de niveles de ejecución, pero podemos decir que es la forma que tiene el SO de identificar si la máquina está apagada (nivel de ejecución 0), en modo monousuario (nivel de ejecución 1), en modo texto multiusuario con conectividad limitada (nivel de ejecución 2), en modo texto multiusuario con conectividad completa (nivel de ejecución 3), en modo gráfico multiusuario (nivel de ejecución 5) o reiniciándose (nivel de ejecución 6). El nivel de ejecución 4 no se usa por defecto, pero puede ser definido por el usuario Arrancando el servicio en CentOS 7 La gestión de servicios en CentOS 7 ha experimentado muchos cambios, y ahora el sistema ya no utiliza los scripts de /etc/init.d, excepto para unos pocos servicios. El resto son gestionados ahora por systemd. Para comprobar el estado de un servicio tendremos que usar el comando systemctl. 1 ~]# systemctl status named 2 named.service - Berkeley Internet Name Domain (DNS) 3 Loaded: loaded (/usr/lib/systemd/system/named.service; disabled) 4 Active: inactive (dead) Vemos que es servicio está detenido, así que lo iniciamos. 1 ~]# systemctl start named 2 ~]# systemctl status named 3 named.service - Berkeley Internet Name Domain (DNS) 4 Loaded: loaded (/usr/lib/systemd/system/named.service; disabled) 5 Active: active (running) since dom :05:36 CET; 4s ago 6 Process: 2855 ExecStart=/usr/sbin/named -u named $OPTIONS (code=exited, status\ 7 =0/SUCCESS) 8 Process: 2853 ExecStartPre=/usr/sbin/named-checkconf -z /etc/named.conf (code=\ 9 exited, status=0/success) 10 Main PID: 2857 (named) 11 CGroup: /system.slice/named.service /usr/sbin/named -u named 13

90 4.- DNS nov 23 01:05:37 Centos7 named[2857]: NS: veri...un 15 nov 23 01:05:37 Centos7 named[2857]: NS: no v...nd 16 nov 23 01:05:37 Centos7 named[2857]: error (no valid RRSIG) resolving './NS nov 23 01:05:37 Centos7 named[2857]: error (network unreachable) resolving nov 23 01:05:37 Centos7 named[2857]: NS: veri...un 19 nov 23 01:05:37 Centos7 named[2857]: NS: no v...nd 20 nov 23 01:05:37 Centos7 named[2857]: error (no valid RRSIG) resolving './NS nov 23 01:05:37 Centos7 named[2857]: NS: veri...un 22 nov 23 01:05:37 Centos7 named[2857]: NS: no v...nd 23 nov 23 01:05:37 Centos7 named[2857]: error (no valid RRSIG) resolving './NS Hint: Some lines were ellipsized, use -l to show in full. Ahora el servicio está en ejecución, pero tenemos que asegurarnos de que se inicia con cada arranque del servidor. 1 ~]# systemctl enable named 2 ln -s '/usr/lib/systemd/system/named.service' '/etc/systemd/system/multi-user.ta\ 3 rget.wants/named.service' Podemos comprobar que el servicio se ha habilitado correctamente con el siguiente comando: 1 ~]# systemctl list-unit-files --type=service Obtenemos así un listado de los servicios instalados en el servidor. 1 UNIT FILE STATE 2 auditd.service enabled named.service enabled Instalando un servidor maestro Antes de pasar a la instalación vamos a hablar un poco acerca de los tipos de servidores DNS: Como ya sabemos, un servidor DNS traduce nombres en direcciones IP. Pero según su modo de funcionamiento se pueden distinguir diferentes tipos de servidor:

91 4.- DNS 88 Servidor de caché. En este caso, el servidor no almacena ninguna información con las relaciones nombre - dirección IP, de forma que tiene que consultar con otros servidores que sí disponen de dicha información. Pero una vez que obtiene esa información la mantiene en caché, de tal modo que cuando otro cliente hace esa misma consulta puede responder rápidamente sin necesidad de contactar con otros servidores. Servidor maestro. El servidor mantiene una copia de los nombres e IPs de los dispositivos pertenecientes al dominio, lo que se denomina una zona. Este servidor tiene autoridad para cambiar la IP asociada a un nombre determinado, así como para añadir o eliminar registros. Servidor esclavo. El servidor mantiene también una copia de la zona, pero de solo lectura. El servidor cuenta con toda la información necesaria para responder a las consultas de los clientes, pero no puede cambiar, añadir o eliminar registros. Hasta ahora hemos instalado el software necesario pero, obviamente, necesitamos configurarlo. Vamos a suponer que tenemos un dominio llamado olimpus.local, y unas cuantas máquinas llamadas prometheus, zeus, aphrodite, etc y queremos asegurarnos de que cuando un cliente busca la máquina aphrodite.olimpus.local obtiene su dirección IP asociada. Para lograr esto, tendremos que crear la zona. Veamos el procedimiento paso a paso. El archivo de configuración principal del servidor DNS es /etc/named.conf. Después de una instalación nueva tendrá un aspecto como este: 1 // 2 // named.conf 3 // 4 // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS 5 // server as a caching only nameserver (as a localhost DNS resolver only). 6 // 7 // See /usr/share/doc/bind*/sample/ for example named configuration files. 8 // 9 10 options { 11 listen-on port 53 { ; }; 12 listen-on-v6 port 53 { ::1; }; 13 directory "/var/named"; 14 dump-file "/var/named/data/cache_dump.db"; 15 statistics-file "/var/named/data/named_stats.txt"; 16 memstatistics-file "/var/named/data/named_mem_stats.txt"; 17 allow-query { localhost; }; 18 recursion yes; dnssec-enable yes; 21 dnssec-validation yes; 22 dnssec-lookaside auto;

92 4.- DNS /* Path to ISC DLV key */ 25 bindkeys-file "/etc/named.iscdlv.key"; 26 }; logging { 29 channel default_debug { 30 file "data/named.run"; 31 severity dynamic; 32 }; 33 }; zone "." IN { 36 type hint; 37 file "named.ca"; 38 }; include "/etc/named.rfc1912.zones"; Este es el fichero de configuración de un servidor CentOS 6, en CentOS 7 el fichero es ligeramente distinto, no obstante la forma de configurarlo es exactamente la misma en los dos casos. Estas son algunas de las opciones más importantes: 1 listen-on port 53 { ; }; 2 listen-on-v6 port 53 { ::1; }; El servidor solamente escuchará en la dirección del localhost, es decir, no será accesible desde otros dispositivos de la red. Como queremos que se pueda consultar al servidor DNS desde otras máquinas cambiaremos estas dos líneas. 1 listen-on port 53 { any; }; 2 listen-on-v6 port 53 { any; }; directory "/var/named"; Esto solo significa que el directorio por defecto para los archivos de zona será /var/named. No es necesario cambiar esto.

93 4.- DNS 90 1 allow-query { localhost; }; Queremos que el servidor responda a peticiones de cualquier máquina, así que cambiamos este valor. 1 allow-query { any; }; 2 3 zone "." IN { 4 type hint; 5 file "named.ca"; 6 }; Esta es la única zona definida por ahora en el fichero de configuración. La zona que se encuentra en la cima de la jerarquía. Si abrimos el fichero /var/named/named.ca veremos que contiene las direcciones de los servidores raíz de Internet. Ahora tendremos que proporcionarle al servidor la información relativa a nuestro dominio. De modo que debajo de la definición de la zona. teclearemos esto: 1 zone "olimpus.local" IN { 2 type master; 3 file "olimpus.local.zone"; 4 }; Ahora podemos guardar los cambios. Para asegurarnos de que la sintaxis del fichero named.conf es correcta podemos usar el comando named-checkconf. 1 ~]# named-checkconf 2 ~]# Como vemos, el comando no ha mostrado ningún mensaje, por lo que podemos asumir que la sintaxis es correcta. Si hubiera un error sintáctico el programa nos lo indicaría. Por ejemplo, si nos hubiéramos olvidado de cerrar una llave recibiríamos un mensaje como este: 1 ~]# named-checkconf 2 /etc/named.conf:26: '}' expected near ';' Acabamos de definir la zona en el archivo /etc/named.conf, pero ahora tenemos que crear el fichero /var/named/olimpus.local.zone, al que hacemos referencia en la definición de la zona. Como cabría esperar, el fichero debe cumplir con unas características sintácticas determinadas. Si estamos creando un fichero de zona desde cero y no recordamos todos los detalles acerca de la sintaxis del fichero podemos echar un vistazo a algunos de los ficheros de muestra en el directorio /usr/share/doc/bind /sample. De hecho, la carpeta /usr/share/doc* es un recurso muy útil siempre que intentamos configurar o afinar un servicio, ya que ahí podemos encontrar ejemplos de ficheros de configuración para casi todos los servicios instalados en el servidor. El fichero de zona debería quedar similar a este:

94 4.- DNS 91 1 ; 2 ;Data file for olimpus.local 3 ; 4 $TTL 2D 5 olimpus.local. IN SOA olimpus.local. root.olimpus.local. ( ; Serial 7 1D; Refresh 8 2H; Retry 9 1W; Expire 10 2D); Default TTL IN NS delphos.olimpus.local. 13 IN MX 10 prometheus.olimpus.local delphos IN A prometheus IN A aphrodite IN A delphos IN AAAA fe80::20c:29ff:fe78:4cb1 19 dns IN CNAME delphos 20 mail IN CNAME prometheus Las líneas que empiezan con ; son comentarios que se utilizan para aclarar el contenido del fichero. Después definimos los parámetros asociados al fichero de zona, tales como los parámetros de refresco y reintento, el tiempo de expiración o el TTL por defecto. Cada fichero de zona debe tener un número de serie asociado, este número se utilizará al replicar información entre servidores para saber si existe una versión más nueva de un fichero de zona. 1 IN NS delphos.olimpus.local. Este es un registro NS, nos dice cuáles son los servidores de nombres del dominio olimpus.local. Este registro es obligatorio. En nuestro ejemplo el único servidor de nombres es delphos.olimpus.local, pero podríamos tener varios de ellos. 1 IN MX 10 prometheus.olimpus.local. De un modo similar, aquí definimos el servidor de correo del dominio olimpus.local y su prioridad asociada (10). En este caso solo tenemos un servidor de correo, pero podríamos tener dos o incluso más, y asignar a cada uno de ellos distinta prioridad dependiendo de su potencia de proceso. Veremos esto de nuevo al hablar del servicio de correo.

95 4.- DNS 92 1 delphos IN A prometheus IN A aphrodite IN A Ahora tenemos una lista con todas las máquinas en la zona y sus direcciones IP asociadas. Estos registros se denominan registros de tipo A. 1 delphos IN AAAA fe80::20c:29ff:fe78:4cb1 Además podemos asociar nombres y direcciones IPv6, en este caso se usan registros AAAA. 1 dns IN CNAME delphos 2 mail IN CNAME prometheus Y finalmente tenemos un par de registros CNAME, que funcionan como alias. Es decir, el cliente podrá hacer ping a delphos.olimpus.local o a dns.olimpus.local indistintamente. Una vez que hemos terminado de configurar la zona, podemos revisar la sintaxis con el comando named-checkzone. 1 named]# named-checkzone olimpus.local olimpus.local.zone 2 zone olimpus.local/in: loaded serial OK Ahora arrancamos el servicion named. En CentOS 6: 1 named]# service named start 2 Starting named: [ OK ] En CentOS 7: 1 ~]# systemctl start named Aparentemente todo ha ido bien, peor para asegurarnos vamos a consultar al servidor DNS la dirección de la máquina delphos.olimpus.local. Más tarde veremos con más detalle algunas de las herramientas que se pueden usar para consultar el servicio DNS, por ahora vamos a hacer una breve introducción al comando dig. Dig nos permite consultar al servidor DNS que elijamos. Para chequear nuestro nuevo servidor de nombres teclearemos esto:

96 4.- DNS 93 1 named]# delphos.olimpus.local 2 -bash: dig: command not found Como hemos mencionado ya varias veces, si la utilidad no está instalada por defecto, tendremos que averiguar el paquete al que pertenece e instalarlo. A partir de este momento ya no insistiremos más en este punto. 1 named]# yum --disablerepo=* --enablerepo=c6-media provides dig 2 Loaded plugins: fastestmirror 3 Loading mirror speeds from cached hostfile 4 * c6-media: 5 Warning: 3.0.x versions of yum would erroneously match against filenames. 6 You can use "*/dig" and/or "*bin/dig" to get that behaviour 7 No Matches found 8 named]# yum --disablerepo=* --enablerepo=c6-media provides */dig 9 Loaded plugins: fastestmirror 10 Loading mirror speeds from cached hostfile 11 * c6-media: 12 32:bind-utils P3.el6.i686 : Utilities for querying DNS name servers 13 Repo : c6-media 14 Matched from: 15 Filename : /usr/bin/dig named]# yum --disablerepo=* --enablerepo=c6-media install bind-u\ 18 tils 19 Loaded plugins: fastestmirror 20 Loading mirror speeds from cached hostfile 21 * c6-media: 22 Setting up Install Process 23 Resolving Dependencies 24 --> Running transaction check > Package bind-utils.i686 32: P3.el6 will be installed 26 --> Finished Dependency Resolution Dependencies Resolved ================================================================================ 31 Package Arch Version Repository Size 32 ================================================================================ 33 Installing: 34 bind-utils i686 32: P3.el6 c6-media 177 k 35

97 4.- DNS Transaction Summary 37 ================================================================================ 38 Install 1 Package(s) Total download size: 177 k 41 Installed size: 423 k 42 Is this ok [y/n]: y 43 Downloading Packages: 44 Running rpm_check_debug 45 Running Transaction Test 46 Transaction Test Succeeded 47 Running Transaction 48 Installing : 32:bind-utils P3.el6.i686 1/ Installed: 51 bind-utils.i686 32: P3.el Complete! 54 named]# Ahora ya podemos hacer la consulta 1 named]# delphos.olimpus.local 2 ; <<>> DiG P3-RedHat P3.el6 delphos.olimpus.loc\ 3 al 4 ; (1 server found) 5 ;; global options: +cmd 6 ;; Got answer: 7 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: ;; QUESTION SECTION: 11 ;delphos.olimpus.local. IN A ;; ANSWER SECTION: 14 delphos.olimpus.local IN A ;; AUTHORITY SECTION: 17 olimpus.local IN NS delphos.olimpus.local ;; ADDITIONAL SECTION: 20 delphos.olimpus.local IN AAAA fe80::20c:29ff:fe78:4cb1

98 4.- DNS ;; Query time: 7 msec 23 ;; SERVER: #53( ) 24 ;; WHEN: Sat Aug 2 10:42: ;; MSG SIZE rcvd: named]# Queremos consultar al servidor , así que le pasamos este dato como Podemos ver que se ejecutó correctamente (status: NOERROR). Además, el servidor nos respondió que delphos.olimpus.local tiene la dirección IPv y la dirección IPv6 fe80::20c:29ff:fe78:4cb1, lo que es correcto. Parece que ya tenemos un servidor DNS funcional, pero desafortunadamente esto no es completamente cierto. Hasta ahora tenemos una forma de traducir nombres en direcciones IP. Esto es lo que se llama resolución directa, pero también deberíamos tener un modo de traducir direcciones IP en nombres de máquina (resolución inversa). Para conseguir esto, el procedimiento es bastante similar a lo que hemos visto antes. En el fichero /etc/named.conf definiremos una nueva zona que proporcionará la resolución inversa. La haremos justo debajo de la zona olimpus.local. 1 zone " in-addr.arpa" IN { 2 type master; 3 file " zone"; 4 }; El formato x.x.x.in-addr.arpa, donde x.x.x.x es la dirección de red en orden inverso, es una forma estándar de nombrar las zonas inversas. Ahora creamos el fichero /var/named/ zone. La sintaxis es similar a la utilizada en el fichero olimpus.local.zone. 1 $TTL 2D; in-addr.arpa. IN SOA delphos.olimpus.local. root.olimpus.local. ( ;serial ;refresh(3 days) ;retry(4 hours) ;expire(3 weeks) ;minimum(1 week) 8 ) 9 NS delphos.olimpus.local PTR delphos.olimpus.local. Y lo revisamos.

99 4.- DNS 96 1 named]# named-checkzone in-addr.arpa zone 2 zone in-addr.arpa/IN: loaded serial OK Reiniciamos el servicio En CentOS 6: 1 named]# service named restart 2 Stopping named: [ OK ] 3 Starting named: [ OK ] En CentOS 7: 1 ~]# systemctl restart named y consultamos al servidor con la herramienta dig. 1 named]# -x ; <<>> DiG P3-RedHat P3.el6 -x ; (1 server found) 5 ;; global options: +cmd 6 ;; Got answer: 7 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: ;; QUESTION SECTION: 11 ; in-addr.arpa. IN PTR ;; ANSWER SECTION: in-addr.arpa IN PTR delphos.olimpus.local ;; AUTHORITY SECTION: in-addr.arpa IN NS delphos.olimpus.local ;; ADDITIONAL SECTION: 20 delphos.olimpus.local IN A delphos.olimpus.local IN AAAA fe80::20c:29ff:fe78:4cb ;; Query time: 2 msec 24 ;; SERVER: #53( ) 25 ;; WHEN: Sat Aug 2 11:28: ;; MSG SIZE rcvd: 136

100 4.- DNS 97 Como ocurrió antes, podemos ver que la consulta se ejecutó sin errores (status: NOERROR), y el servidor respondió que la dirección IPv está asignada al servidor delphos.olimpus.local. Finalmente crearemos la zona inversa para IPv6. Abrimos de nuevo el fichero /etc/named.conf y añadimos las siguientes líneas: 1 zone " e.f.ip6.arpa" IN { 2 type master; 3 file "fe zone"; 4 }; Como vemos, el nombre estándar es similar al que se utiliza con las zonas IPv4, también consiste en la dirección de red en orden inverso, pero ahora el sufijo es ip6.arpa. En lo que respecta al fichero /var/named/fe zone esto es lo que tenemos que escribir: 1 $TTL ; 2 days e.f.ip6.arpa. IN SOA delphos.olimpus.local. root.oli\ 3 mpus.local. ( ;serial ;refresh(3 days) ;retry(4 hours) ;expire(3 weeks) ;minimum(1 week) 9 ) NS delphos.olimpus.local b.c e.f.f.f.9.2.c IN PTR delphos Y comprobamos la sintaxis. 1 named]# named-checkzone e.f.ip6.arpa\ 2 fe zone 3 zone e.f.ip6.arpa/IN: loaded serial OK Reiniciamos el servicio named y consultamos al servidor de nuevo.

101 4.- DNS 98 1 named]# -x fe80::20c:29ff:fe78:4cb1 2 3 ; <<>> DiG P3-RedHat P3.el6 -x fe80::20c:29ff:f\ 4 e78:4cb1 5 ; (1 server found) 6 ;; global options: +cmd 7 ;; Got answer: 8 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: ;; QUESTION SECTION: 12 ;1.b.c e.f.f.f.9.2.c e.f.ip6.arpa. IN PT\ 13 R ;; ANSWER SECTION: 16 1.b.c e.f.f.f.9.2.c e.f.ip6.arpa \ 17 IN PTR delphos e.f.ip6.arpa ;; AUTHORITY SECTION: e.f.ip6.arpa IN NS delphos.olimpus.local ;; ADDITIONAL SECTION: 23 delphos.olimpus.local IN A delphos.olimpus.local IN AAAA fe80::20c:29ff:fe78:4cb ;; Query time: 1 msec 27 ;; SERVER: #53( ) 28 ;; WHEN: Sat Aug 2 11:58: ;; MSG SIZE rcvd: 191 Todo está funcionando bien ahora, así que configuraremos el servicio para que arranque automáticamente después de cada reinicio. Hay diferentes formas de hacer esto, por ejemplo en CentOS 6 podemos usar chkconfig. 1 ~]# chkconfig named on 2 ~]# chkconfig --list named 3 named 0:off 1:off 2:on 3:on 4:on 5:on 6:off En CentOS 7 deberíamos usar el comando systemctl.

102 4.- DNS 99 1 ~]# systemctl enable named A partir de ahora, cada vez que se reinicie el servidor el servicio named se iniciará automáticamente. Ahora podremos resolver los nombres de dominio que hemos definido en nuestras zonas, pero si queremos que nuestro servidor pueda resolver dominios de Internet como tendremos que reenviar esas peticiones a un servidor DNS externo. Si el servidor DNS externo tiene la IP , habrá que incluir las siguientes líneas en el fichero /etc/named.conf : 1 forwarders { ; 3 }; Estas líneas deberían incluirse en la sección de opciones generales, de modo que el fichero de configuración debería quedar más o menos así: 1 options { 2 listen-on port 53 { any; }; 3 listen-on-v6 port 53 { any; }; forwarders { ; 9 }; Configuración del cliente En Linux podemos ver la configuración actual del cliente DNS en el fichero /etc/resolv.conf. 1 ~]# cat /etc/resolv.conf 2 nameserver search olimpus.local En este ejemplo, el cliente enviará las consultas DNS al servidor Si en la consulta no se ha especificado un sufijo DNS se añadirá por defecto olimpus.local. Podemos editar este fichero a mano, pero normalmente resulta más sencillo utilizar una de las herramientas administrativas que cada distribución de Linux pone a nuestra disposición. Por

103 4.- DNS 100 ejemplo, en CentOS 6 podemos usar el programa system-config-network, en CentOS 7 no hay ningún programa system-config-network, pero hay uno similar llamado nmtui, en Suse podemos hacer lo mismo con Yast, en Ubuntu podemos abrir System settings e ir luego a Network. Por su parte en Windows tendremos que editar las propiedades TCP/IP de la conexión LAN (Fig. 52 y Fig. 53). Fig 52:propiedades de la conexión LAN

104 4.- DNS 101 Fig 53:Configuración IP Por supuesto, para que los clientes puedan acceder al servidor DNS tenemos que permitir en el firewall el acceso al puerto UDP 53. En CentOS 6: 1 ~]# iptables -I INPUT 2 -m state --state new -p udp --dport 53 -j \ 2 ACCEPT En CentOS 7: 1 ~]# firewall-cmd --add-service=dns 2 success En el caso de CentOS 7, con el comando anterior estamos permitiendo el acceso tanto al puerto UDP 53 como al puerto TCP 53. Podremos ver más detalles acerca del firewall incluido en CentOS 7 en la sección 10 de este libro Servidores esclavos y transferencias de zona En este punto, tenemos un servidor que alberga toda la información de la zona olimpus.local. Como veremos a lo largo de este libro, el DNS es un servicio fundamental, puesto que de él depende el

Instalación de Linux 6.4 Enzo Viza (eviza-dba.blogspot.com)

Instalación de Linux 6.4 Enzo Viza (eviza-dba.blogspot.com) Pag. 1 Instalar Linux 6.4 - VirtualBox ejecutar Virtual Box -----------------------------------------------------------------------Clic Machine->New -----------------------------------------------------------------------ingresar

Más detalles

Instalación/configuración servicio VTUN

Instalación/configuración servicio VTUN Proyecto: Instalación/configuración servicio VTUN Autor: Juan Carlos Valero Fecha: 27/12/2012 Versión: 1.1 Preliminares Se confecciona este documento a fin de tener una guia de instalación y configuración

Más detalles

labs Linux para Administradores de Elastix Elastix Certification ELASTIX CERTIFICATION

labs Linux para Administradores de Elastix Elastix Certification ELASTIX CERTIFICATION Linux para Administradores de Elastix Elastix Certification 2012, PALOSANTO SOLUTIONS todos los derechos reservados. Esta documentación y su propiedad intelectual pertenece a PaloSanto Solutions. Cualquier

Más detalles

Manual de instalación del servidor Sierra

Manual de instalación del servidor Sierra Manual de instalación del servidor Sierra 1. Contenido y preparación de la instalación...1 2. Instalación de PostgreSQL con PostGIS para el soporte de datos espaciales.... 2 3. Instalación de Apache Geronimo...3

Más detalles

Compartiendo conocimiento... Guía básica de instalación de Asterisk 11 en Centos6.5

Compartiendo conocimiento... Guía básica de instalación de Asterisk 11 en Centos6.5 Compartiendo conocimiento... Guía básica de instalación de Asterisk 11 en Centos6.5 (c) 2014 Xavier Jiménez Índice de contenido Introducción y propósito del documento...1 Instalación de CentOS...1 Instalación

Más detalles

How to #7: Samba como Grupo de Trabajo

How to #7: Samba como Grupo de Trabajo Instituto Tecnológico de Las Américas (ITLA) Sistema Operativos 3 Luis Enmanuel Carpio Domínguez Matrícula: 2012-1206 How to #7: Samba como Grupo de Trabajo SAMBA Samba es una implementación de código

Más detalles

LABORATORIO DE REDES PRÁCTICA 1 COMANDOS BÁSICOS PARA LA CONFIGURACIÓN DEL NIVEL IP EN UNA RED DE SISTEMAS UNIX. 1. LA INTERFAZ loopback

LABORATORIO DE REDES PRÁCTICA 1 COMANDOS BÁSICOS PARA LA CONFIGURACIÓN DEL NIVEL IP EN UNA RED DE SISTEMAS UNIX. 1. LA INTERFAZ loopback LABORATORIO DE REDES PRÁCTICA 1 COMANDOS BÁSICOS PARA LA CONFIGURACIÓN DEL NIVEL IP EN UNA RED DE SISTEMAS UNIX 1. LA INTERFAZ loopback La primera interfaz que es necesario activar al configurar el nivel

Más detalles

SRI UT01 Instalación de WMware Software de máquinas Virtuales Jorge García Delgado. Jorge García Delgado

SRI UT01 Instalación de WMware Software de máquinas Virtuales Jorge García Delgado. Jorge García Delgado SRI UT01 Instalación de WMware Software de máquinas Virtuales SRI UT01 Instalación de WMware Software de máquinas Virtuales INSTALACIÓN DE WMWARE 1. Iniciamos la instalación. 2. Nos sale un asistente,

Más detalles

SO2006 login: ----------------------------------------------------------------------

SO2006 login: ---------------------------------------------------------------------- Pregunta: - Mi problema es q no encuentro los caracteres "" Respuesta: La imagen de linux que les proporcionamos tiene cargado el mapa de caracteres para un teclado español. Probablemente tu tengas

Más detalles

Ministerio de Educación, Cultura y Deporte. Aulas en Red. Windows. Módulo 1: Tareas Iniciales. Instalación Servidor

Ministerio de Educación, Cultura y Deporte. Aulas en Red. Windows. Módulo 1: Tareas Iniciales. Instalación Servidor Ministerio de Educación, Cultura y Deporte. Aulas en Red. Windows Módulo 1: Tareas Iniciales. Instalación Servidor Aulas en red. Aplicaciones y servicios. Windows Windows Server 2008 En este apartado de

Más detalles

Openfiler - Appliance NAS/SAN

Openfiler - Appliance NAS/SAN 1 de 44 01/12/2007 1:57 Openfiler - Appliance NAS/SAN Servidor de almacenamiento - Servidor de ficheros, En este documento revisaremos el funcionamiento de un servidor de ficheros llamado Openfiler, podemos

Más detalles

Oracle Database 12c (12.1.0.2.0) Creación de Máquina Virtual OL 7.0

Oracle Database 12c (12.1.0.2.0) Creación de Máquina Virtual OL 7.0 Oracle Database 12c (12.1.0.2.0) Creación de Máquina Virtual OL 7.0 1. Certificación de Ambiente Antes de comenzar la instalación y configuración es necesario verificar que la versión de sistema operativo

Más detalles

ebox: Servidor de dominio Windows libre y gratuito

ebox: Servidor de dominio Windows libre y gratuito ebox: Servidor de dominio Windows libre y gratuito Guía de instalación y configuración Manuel Morán Vaquero mmv@edu.xunta.es Febrero 2010 Esta guía está basada en la versión 1.2 de ebox Índice 1 Introducción

Más detalles

How to. Servidor Samba en CentOS

How to. Servidor Samba en CentOS Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez Matrícula: 2010-2946 How to How to: Servidor Samba en CentOS!!! Servidor Samba en CentOS Samba es

Más detalles

UNIDAD DIDACTICA 14 REQUISITOS PREVIOS PARA CONFIGURAR LINUX UBUNTU SERVER COMO CONTROLADOR DE DOMINIO

UNIDAD DIDACTICA 14 REQUISITOS PREVIOS PARA CONFIGURAR LINUX UBUNTU SERVER COMO CONTROLADOR DE DOMINIO UNIDAD DIDACTICA 14 REQUISITOS PREVIOS PARA CONFIGURAR LINUX UBUNTU SERVER COMO CONTROLADOR DE DOMINIO Eduard Lara 1 1. COMPROBACIONES PREVIAS ANTES DE INSTALAR EL CONTROLADOR Antes de hacer que Linux

Más detalles

Al igual que HTTP, FTP se basa en el envío de comandos codificados mediante ASCII, es decir, en texto plano.

Al igual que HTTP, FTP se basa en el envío de comandos codificados mediante ASCII, es decir, en texto plano. FTP (FILE TRANSFER PROTOCOL) FTP es un programa que se utiliza para transferir información, almacenada en ficheros, de una máquina remota a otra local, o viceversa (RFC 959). Para poder realizar esta operación

Más detalles

Manual de Instalación y Configuración

Manual de Instalación y Configuración Manual de Instalación y Configuración Sí Servidor Estatal SSIE - Estatal v.10.2 Mayo, 2015 Nombre del Manual Instalación y Configuración Servidor Estatal SSIE-Estatal v.10.2 Unidad responsable de la Elaboración

Más detalles

Luego de esto nos saldra la primera ventana del proceso de instalación de nuestra distro ClearOS.

Luego de esto nos saldra la primera ventana del proceso de instalación de nuestra distro ClearOS. Instalando ClearOS Luego de haber configurado nuestro equipo debidamente para que este realice el proceso de booteo, en esta ocasión realizaremos la instalación desde la unidad de CD/DVD-ROM/RW. Encendemos

Más detalles

Guía 7: Virtualización. 1. Configurar una infraestructura de hardware por varios sistemas operativos funcionando de forma totalmente independiente.

Guía 7: Virtualización. 1. Configurar una infraestructura de hardware por varios sistemas operativos funcionando de forma totalmente independiente. Arquitectura de Computadoras: Guía 7 1 Facultad: Ingeniería. Escuela: Electrónica Asignatura: Arquitectura de Computadoras Guía 7: Virtualización. Objetivo General 1. Configurar una infraestructura de

Más detalles

Introducción a las redes TCP/IP en Linux

Introducción a las redes TCP/IP en Linux Diseño y Administración de Sistemas y Redes Juan Céspedes Curso 2005 2006 Subsistema de red 1 Subsistema de red Los subsistemas más importantes del kernel de Linux son: gestión

Más detalles

SILLABUS CURSO : LINUX

SILLABUS CURSO : LINUX SILLABUS CURSO : LINUX Administración DURACIÓN : 8 sesiones de 3 horas cada sesión Horarios : Grupo 1 : Lunes Miércoles -Viernes (8:00 pm a 11 :00 pm) Grupo 2 : Martes Jueves ( 7:00 pm 10 :00 pm) SUMILLA

Más detalles

Universidad de Guayaquil Carrera de Ingenieria en Sistemas

Universidad de Guayaquil Carrera de Ingenieria en Sistemas DESARROLLO:Primeramente tenemos que tener instalado Centos 5 y Windows Xp dentro de la maquina virtual. Donde Centos 5 actuara como nuestro servidor samba, a través del cual voy a tener también acceso

Más detalles

FREEDOS 1.0. CURSO DE TÉCNICO EN SEGURIDAD DE REDES Y SISTEMAS José María Torres Corral

FREEDOS 1.0. CURSO DE TÉCNICO EN SEGURIDAD DE REDES Y SISTEMAS José María Torres Corral FREEDOS 1.0. CURSO DE TÉCNICO EN SEGURIDAD DE REDES Y SISTEMAS José María Torres Corral 2011 m a r t e s, 0 8 d e m a r z o d e 2 0 1 1 1 Tabla de contenido 2... Requisitos para la instalación... 2 3...

Más detalles

Instituto Tecnológico de Las Américas

Instituto Tecnológico de Las Américas Instituto Tecnológico de Las Américas Mariel Elizabeth Puente Adames 20121325 Instalación de Slackware server How to install Slackware Slackware Linux es una distribución de Linux. Es una de las más antiguas

Más detalles

Conceptos Fundamentales sobre UNIX Laboratorio 16.2.6 Comandos de Networking (Tiempo estimado: 45 min.)

Conceptos Fundamentales sobre UNIX Laboratorio 16.2.6 Comandos de Networking (Tiempo estimado: 45 min.) Conceptos Fundamentales sobre UNIX Laboratorio 16.2.6 Comandos de Networking (Tiempo estimado: 45 min.) Objetivos: Desarrollar una comprensión de los comandos de networking de UNIX y TCP/IP Hacer ping

Más detalles

II. DISEÑO DEL SISTEMA. Introducción Instalación por red Arranque por red

II. DISEÑO DEL SISTEMA. Introducción Instalación por red Arranque por red II. DISEÑO DEL SISTEMA Introducción Instalación por red Arranque por red Qué es un cluster? Cluster de memoria Distribuida Nuestro Diseño Login SERVER PXE, NFS,TFTP, DHCP Internet DISKS NODOS DE COMPUTO

Más detalles

Creación y recuperación de imágenes de partición

Creación y recuperación de imágenes de partición Creación y recuperación de imágenes de partición Tabla de contenido 1. Introducción...1 2. Crear una imagen de una partición...2 2.1 Arranque del sistema con SystemRescueCD...3 2.2 Crear una partición

Más detalles

Manual de instalación y configuración de FreeNAS.

Manual de instalación y configuración de FreeNAS. Manual de instalación y configuración de FreeNAS. 1. Descripción 2. Configuración Oracle 3. Instalación Servidor Freenas 4. Configuración del servidor 5. Instalación de plugins 6. Vista desde el exterior

Más detalles

Software de Comunicaciones. Práctica 2 - File Transfer Protocol

Software de Comunicaciones. Práctica 2 - File Transfer Protocol Software de Comunicaciones Práctica 2 - File Transfer Protocol Juan Díez-Yanguas Barber Software de Comunicaciones Ingeniería Informática - 5º Curso Jdyb - Febrero 2013 Juan Díez- Yanguas Barber Práctica

Más detalles

Blog C osilla s de J uansal

Blog C osilla s de J uansal Blog C osilla s de J uansal Juan Salvador Aleixandre Talens Este libro está a la venta en http://leanpub.com/blogcosillasdejuansal Esta versión se publicó en 2015-11-06 This is a Leanpub book. Leanpub

Más detalles

Introducción a NetGUI

Introducción a NetGUI Introducción a NetGUI Redes I Departamento de Sistemas Telemáticos y Computación (GSyC) Septiembre de 2011 GSyC - 2011 Introducción a NetGUI 1 c 2011 Grupo de Sistemas y Comunicaciones. Algunos derechos

Más detalles

Creación Servidor FTP

Creación Servidor FTP Creación Servidor FTP FTP (siglas en inglés de File Transfer Protocol, 'Protocolo de Transferencia de Archivos') en informática, es un protocolo de red para la transferencia de archivos entre sistemas

Más detalles

REDES DE COMPUTADORES Laboratorio

REDES DE COMPUTADORES Laboratorio 1nsloo.cl REDES DE COMPUTADORES Laboratorio Práctica 1: Emulación de redes con NetGUI. 1. OBJETIVOS. El objetivo de esta práctica es aprender a utilizar la herramienta de emulación de redes Netkit / NetGUI,

Más detalles

Software de Comunicaciones. Práctica 7 - Secure Shell. SSH

Software de Comunicaciones. Práctica 7 - Secure Shell. SSH Software de Comunicaciones Práctica 7 - Secure Shell. SSH Juan Díez-Yanguas Barber Software de Comunicaciones Ingeniería Informática - 5º Curso Jdyb - Mayo 2013 Juan Díez- Yanguas Barber Práctica 7 Índice

Más detalles

Como Crear Distro Personalizada

Como Crear Distro Personalizada Como Crear Distro Personalizada En este tutorial aprenderemos como crear nuestra propia Distro Personalizada y esto lo haremos a través de www.susestudio.com. Para hacer esto muy fácil: 1- Entramos a nuestra

Más detalles

Utfsm jmc. SO Linux. Redes. Miguel Varas

Utfsm jmc. SO Linux. Redes. Miguel Varas Utfsm jmc SO Linux Redes Miguel Varas Parte final del curso Servicios Internet [1] Minirepaso linux básico y redes [2] DNS [3] Servidor web [4] Servidor de correo [5] Administración de cortafuegos [6]

Más detalles

Práctica3 - Analizadores de red: Wireshark y tcpdump.

Práctica3 - Analizadores de red: Wireshark y tcpdump. Práctica3 - Analizadores de red: Wireshark y tcpdump. 1- Objetivos Comprender los conceptos básicos del monitoreo de tráfico de red mediante el uso del analizador de protocolos Wireshark y del sniffer

Más detalles

Unidad 0. Preparación del material. Implantación y administración remota y centralizada de Sistemas Operativos. Manuel Morán Vaquero

Unidad 0. Preparación del material. Implantación y administración remota y centralizada de Sistemas Operativos. Manuel Morán Vaquero Unidad 0 Preparación del material Implantación y administración remota y centralizada de Sistemas Operativos Manuel Morán Vaquero mmv@edu.xunta.es http://www.immv.es Contenidos 1 Introducción 2 Máquina

Más detalles

UNIDAD DIDACTICA 13 INICIAR SESIÓN EN LINUX DE FORMA REMOTA

UNIDAD DIDACTICA 13 INICIAR SESIÓN EN LINUX DE FORMA REMOTA UNIDAD DIDACTICA 13 INICIAR SESIÓN EN LINUX DE FORMA REMOTA Eduard Lara 1 1. INICIO SESIÓN EN LINUX Inicio en modo local Se enciende el equipo y se introduce el nombre de usuario local y su contraseña,

Más detalles

virtual appliance guía de inicio rápido

virtual appliance guía de inicio rápido vybuddy virtual appliance guía de inicio rápido Para VMware Workstation 8 (64-bit) En la guía se usa VMware Workstation 8 (64 bits) para Linux, una VM desarrollada con Ubuntu server 11.10 64-bit y hosts

Más detalles

RED NACIONAL DE SOPORTE TECNICO

RED NACIONAL DE SOPORTE TECNICO RED NACIONAL DE SOPORTE TECNICO ITCA-FEPADE Active Directory v1 Administración (Aulas Informáticas) Septiembre 2009 Contenido Impresoras en Active Directory... 3 Administración de Escritorios Remotos...

Más detalles

Puesta en marcha de un SGBD local para Linux y máquinas virtuales

Puesta en marcha de un SGBD local para Linux y máquinas virtuales Puesta en marcha de un SGBD local para Linux y máquinas virtuales Dídac Gil de la Iglesia P07/50011/02646 FUOC P07/50011/02646 Puesta en marcha de un SGBD local para Linux y máquinas virtuales Índice

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN CICLO: 02/2015 GUÍA DE LABORATORIO #6 Nombre de la Practica: Instalación de FreeBSD para Server. Tiempo Estimado: 2 horas

Más detalles

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente MANUAL TECNICO INSTALACIÓN Y CONFIGURACIÓN DEL SISTEMA AARON A QUIEN VA DIRIGIDO El siguiente manual está dirigido al administrador encargado de la instalación y configuración del Sistema AARON. PRÓLOGO

Más detalles

Servidor. Comenzaremos por confirmar que el servicio NFS esta instalado y ejecutandose desde la terminal, escribiremos lo siguiente: #rpm -q nfs-utils

Servidor. Comenzaremos por confirmar que el servicio NFS esta instalado y ejecutandose desde la terminal, escribiremos lo siguiente: #rpm -q nfs-utils NFS Red Hat Enterprise Linux 6 provee dos mecanismos para compartir archivos y carpetas con otros sistemas operativos por medio de la red. Una de las opciones es utilizar una tecnologia llamada samba.

Más detalles

Software de Comunicaciones. Práctica 4 - DHCP & Dynamic DNS

Software de Comunicaciones. Práctica 4 - DHCP & Dynamic DNS Software de Comunicaciones Práctica 4 - DHCP & Dynamic DNS Juan Díez-Yanguas Barber Software de Comunicaciones Ingeniería Informática - 5º Curso Jdyb - Marzo 2013 Juan Díez- Yanguas Barber Práctica 4 Índice

Más detalles

SQL Data Export for PS/PSS

SQL Data Export for PS/PSS Version 2.3.5 MANUAL DE INSTRUCCIONES (M98232701-01-13B) CIRCUTOR, SA ÍNDICE 1.- INSTALACIÓN DEL SOFTWARE SQL DATA EXPORT... 3 1.1.- HABILITAR CONEXIONES REMOTAS DEL SERVIDOR SQL SERVER... 14 1.2.- DESINSTALAR

Más detalles

INSTALACIÓN DE MySQL SERVER EN WINDOWS

INSTALACIÓN DE MySQL SERVER EN WINDOWS INSTALACIÓN DE MySQL SERVER EN WINDOWS Seguir los siguientes pasos: En primer lugar necesitaremos disponer del programa de instalación. Se puede descargar gratuitamente de http://dev.mysql.com/downloads

Más detalles

Instalación y configuración de un servidor de base de datos MySQL 4.1 y su réplica en Red Hat Linux ES 4.0 o Fedora.

Instalación y configuración de un servidor de base de datos MySQL 4.1 y su réplica en Red Hat Linux ES 4.0 o Fedora. Instalación y configuración de un servidor de base de datos MySQL 4.1 y su réplica en Red Hat Linux ES 4.0 o Fedora. Toni de la Fuente Díaz http://blyx.com Septiembre 2006 Introducción:...1 Datos de interés

Más detalles

SERVIDOR APACHE. Conexión remota con el servidor (putty)

SERVIDOR APACHE. Conexión remota con el servidor (putty) SERVIDOR APACHE A lo largo de este módulo vamos a ir viendo los pasos para instalar el componente principal de nuestro servidor web. Apache es uno los servidores http más extendidos actualmente para la

Más detalles

Gestión de LDAP en Debian Índice de contenido

Gestión de LDAP en Debian Índice de contenido Índice de contenido...1 1. LDAP...3 2. Instalación de un servidor LDAP...6 2.1 Instalación del servicio LDAP...6 2.2 Configuración del servicio LDAP...9 2.3 Creación del directorio LDAP...19 Instalar Jxplorer...19

Más detalles

Instalación Webmin y Servidor Apache

Instalación Webmin y Servidor Apache Instalación Webmin y Servidor Apache Para la instalación hemos usado esta página: http://www.jampudia.com/sistemas-operativos/linux/instalar-webmin-en-ubuntu.html Pero para editar el documento no usamos

Más detalles

El sistema operativo Linux

El sistema operativo Linux El sistema operativo Linux Introducción Que es linux Sistema operativo que emula UNIX Creado por un estudiante, Linus Torvald, para poder hacer sus prácticas en un PC. Nace en 1991 Linux 1.0 en 1994 2.2

Más detalles

UNIDAD DIDACTICA 18 INTEGRACIÓN DE CLIENTES WINDOWS EN UN CONTROLADOR DE DOMINIO LINUX SERVER

UNIDAD DIDACTICA 18 INTEGRACIÓN DE CLIENTES WINDOWS EN UN CONTROLADOR DE DOMINIO LINUX SERVER UNIDAD DIDACTICA 18 INTEGRACIÓN DE CLIENTES Eduard Lara 1 1. INTRODUCCIÓN Qué hemos hecho hasta ahora? - Instalado samba, para compartir recursos de manera elemental, pero sin ningún tipo de control de

Más detalles

Thinclients Terminales ligeros con CentOS 5 y Thinstation

Thinclients Terminales ligeros con CentOS 5 y Thinstation Thinclients Terminales ligeros con CentOS 5 y Thinstation Manuel Morán Vaquero mmv@edu.xunta.es Febrero 2010 Índice 1 Introducción Licencia y disclaimer Ventajas y desventajas de los terminales ligeros

Más detalles

Instalación de Openfiler

Instalación de Openfiler Instalación de Openfiler Para poder realizar una instalación de Openfiler en un pendrive es necesario que este tenga como mínimo 1 GB de capacidad, aunque lo recomendable es usar entre 2 y 4 GB; esto permite

Más detalles

Citrix XenServer. 1 de 25 09/06/2008 23:39. Instalación, configuración y administración de Citrix XenServer,

Citrix XenServer. 1 de 25 09/06/2008 23:39. Instalación, configuración y administración de Citrix XenServer, 1 de 25 09/06/2008 23:39 Citrix XenServer Instalación, configuración y administración de Citrix XenServer, Citrix XenServer permite a las empresas disponer de máquinas virtuales Windows y Linux rápida

Más detalles

Índice de contenido 2/32

Índice de contenido 2/32 10. ANEXOS 1/32 Índice de contenido 10.1 Utilización de NFS en Windows...3 10.2 Utilización de iscsi en Windows...4 10. Montar un Raid por Software en openfiler...5 10.4 Montar Almacenamiento por NFS en

Más detalles

Instrucciones de instalación de IBM SPSS Modeler Server 17 para UNIX

Instrucciones de instalación de IBM SPSS Modeler Server 17 para UNIX Instrucciones de instalación de IBM SPSS Modeler Server 17 para UNIX Contenido Instrucciones para la instalación.... 1 Requisitos del sistema........... 1 Requisitos adicionales.......... 1 Instalación...............

Más detalles

Kosmo Desktop Manual de desarrollo Instalación y configuración del código fuente de Kosmo en Eclipse

Kosmo Desktop Manual de desarrollo Instalación y configuración del código fuente de Kosmo en Eclipse Kosmo Desktop Manual de desarrollo Instalación y configuración del código fuente de Kosmo en Eclipse Versión 3.0 02/12/2010 2 3 1 Control de versiones VERSIÓN AUTOR FECHA CAMBIO 1.0 SAIG, S.L. 22/03/2007

Más detalles

virtual appliance guía de inicio rápido

virtual appliance guía de inicio rápido vybuddy virtual appliance guía de inicio rápido Para VMware Workstation 8 (64-bit) En la guía se usa VMware Workstation 8 (64 bits) para Linux, una VM desarrollada con Ubuntu server 12.04 64-bit y hosts

Más detalles

Laboratorio Instalando y Configurando Servidor FTP

Laboratorio Instalando y Configurando Servidor FTP Laboratorio Instalando y Configurando Servidor FTP Objetivo General: Configurar servidor de FTP. Objetivo Específico: Al finalizar éste laboratorio el alumno será capaz de: Instalar los paquetes necesarios

Más detalles

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Objetivos Integrar un toolchain basado en PTXdist sobre un IDE gráfico basado en Eclipse. Creación y compilación de un pequeño proyecto.

Más detalles

4. Dynamic Host Configuration Protocol (DHCP)

4. Dynamic Host Configuration Protocol (DHCP) 4. Dynamic Host Configuration Protocol (DHCP) 4.1. Introducción. Es un servicio de red que permite a los clientes obtener automáticamente a los clientes la configuración de red desde el servidor DHCP en

Más detalles

Router Teldat. Protocolo ARP e InARP

Router Teldat. Protocolo ARP e InARP Router Teldat Protocolo ARP e InARP Doc. DM701 Rev. 10.00 Noviembre, 2002 ÍNDICE Capítulo 1 Introducción...1 1. Protocolo ARP... 2 2. Protocolo ARP Inverso (InARP)... 3 Capítulo 2 Configuración...4 1.

Más detalles

Introducción a NetGUI

Introducción a NetGUI Introducción a NetGUI Redes I Departamento de Sistemas Telemáticos y Computación (GSyC) Septiembre de 2010 GSyC - 2010 Introducción a NetGUI 1 c 2010 Grupo de Sistemas y Comunicaciones. Algunos derechos

Más detalles

Instalación de IBM SPSS Modeler Server Adapter

Instalación de IBM SPSS Modeler Server Adapter Instalación de IBM SPSS Modeler Server Adapter Contenido Instalación del adaptador de IBM SPSS Modeler Server............ 1 Acerca de la instalación de IBM SPSS Modeler Server Adapter................

Más detalles

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez Instituto Tecnológico de Las América Materia Sistemas operativos III Temas Servidor Web Apache Facilitador José Doñe Sustentante Robín Bienvenido Disla Ramirez Matricula 2011-2505 Grupo 1 Servidor Web

Más detalles

Continuous Delivery (y 3)

Continuous Delivery (y 3) Continuous Delivery (y 3) Sesión 11a 2 Entornos de prueba La última parte de la tubería de despliegue consiste en probar los builds compilados en distintos entornos de prueba Distintos entornos Tests de

Más detalles

Uso del servidor gráfico X en los servidores del CESGA mediante PuTTY y Cygwin

Uso del servidor gráfico X en los servidores del CESGA mediante PuTTY y Cygwin Uso del servidor gráfico X en los servidores del CESGA mediante PuTTY y Cygwin Contenido Introducción... 2 Obtención e instalación del software necesario... 2 Configuración de PuTTY para su uso con Cygwin...

Más detalles

INSTALACION VIRTUALIZADA DE UBUNTU SERVER CON SERVICIOS LAMP Y OPENSSH SOBRE VIRTUAL BOX. Nicolás Botero Botero Juan Manuel Velásquez Isaza

INSTALACION VIRTUALIZADA DE UBUNTU SERVER CON SERVICIOS LAMP Y OPENSSH SOBRE VIRTUAL BOX. Nicolás Botero Botero Juan Manuel Velásquez Isaza INSTALACION VIRTUALIZADA DE UBUNTU SERVER CON SERVICIOS LAMP Y OPENSSH SOBRE VIRTUAL BOX Nicolás Botero Botero Juan Manuel Velásquez Isaza Universidad Tecnológica de Pereira Facultad de Ingenierías Ingeniería

Más detalles

Indice de Documentación

Indice de Documentación Indice de Documentación Redes inalámbricas, 802.11b, en GNU/Linux Luis Rial, luisrial@iies.es v0.2, 27 Enero 2003 Hacer funcionar una tarjeta de red inalámbrica es una tarea muy sencilla si SuSE nos proporciona

Más detalles

Vielka Mari Utate Tineo 2013-1518. Instituto Tecnológico de las Américas ITLA. Profesor José Doñé. Sistema Operativo 3 PRACTICA NO.

Vielka Mari Utate Tineo 2013-1518. Instituto Tecnológico de las Américas ITLA. Profesor José Doñé. Sistema Operativo 3 PRACTICA NO. PRACTICA NO. 10, SERVIDOR WEB CREAR UN HOWTO SOBRE EL SERVIDOR WEB APACHE - CREAR UNA PAGINA WEB QUE FUNCIONE SOBRE ESE SERVIDOR - PUBLICAR UN DIRECTORIO DE DATOS QUE ME PERMITA BAJAR - ARCHIVOS DESDE

Más detalles

Table of Contents DNS. Samba. Usuarios. Equipos. Configuración de red. Añadir equipo al dominio. Recursos Compartidos.

Table of Contents DNS. Samba. Usuarios. Equipos. Configuración de red. Añadir equipo al dominio. Recursos Compartidos. Table of Contents DNS Samba Usuarios Equipos Configuración de red Añadir equipo al dominio Recursos Compartidos Compartir carpeta Perfiles móviles DNS Un Servidor de Nombres, o Domain Name Server es un

Más detalles

Fedora Core GNU/LINUX

Fedora Core GNU/LINUX Fedora Core GNU/LINUX Entrega 8 Comandos básicos man Mostrar paginas de manual de otros comandos. man ls clear Limpia la pantalla. clear ls touch Listar los archivos y directorios de una ruta especifica.

Más detalles

GUÍA DE INSTALACIÓN DE SLACKWARE LINUX 11.0 v. 1.0

GUÍA DE INSTALACIÓN DE SLACKWARE LINUX 11.0 v. 1.0 GUÍA DE INSTALACIÓN DE SLACKWARE LINUX 11.0 v. 1.0 Autor: eli@s (Elías Cuellar Rodríguez) Licencia: GPL Fecha: 20 de Abril de 2007 UNIVERSIDAD PERUANA UNIÓN FACULTAD DE INGENIERÍA EAP de Ingeniería de

Más detalles

PROTOCOLO DE TRANSFERENCIA DE ARCHIVOS. (FTP)

PROTOCOLO DE TRANSFERENCIA DE ARCHIVOS. (FTP) PROTOCOLO DE TRANSFERENCIA DE ARCHIVOS. (FTP) AUTORÍA ÁNGEL LUIS COBO YERA TEMÁTICA SERVICIOS DE INTERNET ETAPA BACHILLERTATO, CICLOS FORMATIVOS. Resumen En este artículo, se explican los conceptos necesarios

Más detalles

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula: 2010-2946.

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula: 2010-2946. Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez Matrícula: 2010-2946 How to How to: Web Server (Apache)!!! Servidor Web El servidor HTTP Apache es

Más detalles

Servidor SPARC T3-1. Guía básica. Contenido del envío. Antes de empezar

Servidor SPARC T3-1. Guía básica. Contenido del envío. Antes de empezar Servidor SPARC T3-1 Guía básica Esta guía describe los pasos mínimos que debe realizar para encender y arrancar el servidor SPARC T3-1 de Oracle por primera vez utilizando el sistema operativo preinstalado

Más detalles

7º Unidad Didáctica. Protocolos TELNET y SSH. Eduard Lara

7º Unidad Didáctica. Protocolos TELNET y SSH. Eduard Lara 7º Unidad Didáctica Protocolos TELNET y SSH Eduard Lara 1 1. SERVIDOR TELNET Telnet viene de TELecommunication NETwork. Es el nombre de un protocolo de red y del programa informático que implementa el

Más detalles

Instalación de RedHat GNU/Linux Advanced Server 2.1

Instalación de RedHat GNU/Linux Advanced Server 2.1 Instalación de RedHat GNU/Linux Advanced Server 2.1 PROYECTO Documentación DESCRIPCIÓN Este documento describe cómo instalar RedHat GNU/Linux Advanced Server 2.1 en los servidores RACK AUTOR IgnacioBarrancos

Más detalles

INSTALACIÓN, CONFIGURACIÓN Y PRUEBAS DE FUNCIONAMIENTO DEL SERVICIO DE SAMBA EN FEDORA 17 LINUX-UNIX

INSTALACIÓN, CONFIGURACIÓN Y PRUEBAS DE FUNCIONAMIENTO DEL SERVICIO DE SAMBA EN FEDORA 17 LINUX-UNIX INSTALACIÓN, CONFIGURACIÓN Y PRUEBAS DE FUNCIONAMIENTO DEL SERVICIO DE SAMBA EN FEDORA 17 LINUX-UNIX Nombre: VIVIANA ISABEL ESPINOSA PEÑA Código:1150017 Asignatura: ASOR Docente: Jean Polo Cequeda UNIVERSIDA

Más detalles

YUM. Usado para instalar la última versión de un paquete o grupo de paquetes, asegurándose de que todas las dependencias sean satisfechas.

YUM. Usado para instalar la última versión de un paquete o grupo de paquetes, asegurándose de que todas las dependencias sean satisfechas. YUM Yum (Yellowdog Updater Modified), es el gestor de paquetes avanzados incluido por defecto en Fedora, permite instalar, desinstalar y actualizar paquetes resolviendo, si es posible, las dependencias

Más detalles

INTRANET: MANUAL DE INSTALACIÓN

INTRANET: MANUAL DE INSTALACIÓN INTRANET: MANUAL DE INSTALACIÓN 1 de 15 INDICE 1 Requisitos mínimos... 3 2 Instalación... 4 2.1 Instalación de los ficheros de la Intranet... 4 2.2 Registro de las librerías... 4 2.3 Configuración del

Más detalles

Soporte Técnico Prof. Héctor Herrera. Instalando Fedora 17 en la misma máquina virtual.

Soporte Técnico Prof. Héctor Herrera. Instalando Fedora 17 en la misma máquina virtual. Instalando Fedora 17 en la misma máquina virtual. Vamos a instalar Linux Fedora 17 para tener dos sistemas operativos en la misma máquina virtual. Existe por cada Linux un DVD y un CD de instalación, en

Más detalles

CONFIGURACION SERVIDOR SAMBA EN FEDORA 21 LUIS MIGUEL BLANCO PEÑARANDA. Presentado a: Ing. JEAN POLO CEQUEDA OLAGO UFPS I 2015

CONFIGURACION SERVIDOR SAMBA EN FEDORA 21 LUIS MIGUEL BLANCO PEÑARANDA. Presentado a: Ing. JEAN POLO CEQUEDA OLAGO UFPS I 2015 CONFIGURACION SERVIDOR SAMBA EN FEDORA 21 LUIS MIGUEL BLANCO PEÑARANDA 1150488 Presentado a: Ing. JEAN POLO CEQUEDA OLAGO UFPS I 2015 SAMBA Samba es una implementación libre del protocolo de archivos compartidos

Más detalles

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Objetivos Integrar un toolchain basado en PTXdist sobre un IDE gráfico basado en Eclipse. Creación y compilación de un pequeño proyecto.

Más detalles

CENTRO DE BACHILLERATO TECNOLÓGICO INDUSTRIAL Y DE SERVICIOS #166 Pablo Torres Burgos

CENTRO DE BACHILLERATO TECNOLÓGICO INDUSTRIAL Y DE SERVICIOS #166 Pablo Torres Burgos INSTRUCCIONES: Crear una máquina virtual con CentOS. Esperar a que cargue el SO y abrir una terminal de comandos. Realizar lo siguiente. NOTA: Para cada comando que se ejecute exitosamente: tomar una captura

Más detalles

Ministerio de Educación, Cultura y Deporte. Aulas en Red. Windows. Módulo 6: Servicio Copias de seguridad

Ministerio de Educación, Cultura y Deporte. Aulas en Red. Windows. Módulo 6: Servicio Copias de seguridad Ministerio de Educación, Cultura y Deporte. Aulas en Red. Windows Módulo 6: Servicio Copias de seguridad Aulas en red. Aplicaciones y servicios. Windows Servicio Copias de Seguridad En este instante ya

Más detalles

Clase 23 FTP. Telnet. Ejemplos Tema 6.- Nivel de aplicación en Internet

Clase 23 FTP. Telnet. Ejemplos Tema 6.- Nivel de aplicación en Internet Clase 23 FTP. Telnet. Ejemplos Tema 6.- Nivel de aplicación en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico de Telecomunicación Especialidad en Sonido e Imagen 3º curso Temario 1.-

Más detalles

TALLER DE TECNOLOGÍAS PARA LA EDUCACIÓN: PerúEduca Guía de Instalación y Configuración para Servidores

TALLER DE TECNOLOGÍAS PARA LA EDUCACIÓN: PerúEduca Guía de Instalación y Configuración para Servidores TALLER DE TECNOLOGÍAS PARA LA EDUCACIÓN: PerúEduca Guía de Instalación y Configuración para Servidores 1 GUÍA DE INSTALACIÓN Y CONFIGURACIÓN PARA SERVIDORES 1. INTRODUCCIÓN El sistema para servidores

Más detalles

Guía de configuración de tarjetas de red en Opensuse 12.3

Guía de configuración de tarjetas de red en Opensuse 12.3 Guía de configuración de tarjetas de red en Opensuse 12.3 Contenido de la guía CONTENIDO DE LA GUÍA... 1 1. CONCEPTOS GENERALES DE LAS TARJETAS DE RED EN LINUX... 2 2. CONFIGURACIÓN DE RED UTILIZANDO BRIDGE...

Más detalles

servidor escuela Introducción Hardware servidor escuela Adicionalmente, se han realizado configuraciones para poder agregar otros recursos:

servidor escuela Introducción Hardware servidor escuela Adicionalmente, se han realizado configuraciones para poder agregar otros recursos: Adicionalmente, se han realizado configuraciones para poder agregar otros recursos: Introducción servidor escuela El sistema para servidores está basado en Fedora 14, un sistema estable y con un entorno

Más detalles

Creación de Scripts. Qué es un script? Como funciona un shell script en Linux?

Creación de Scripts. Qué es un script? Como funciona un shell script en Linux? Creación de Scripts Qué es un script? Un guión o script es un fichero de texto que contiene una serie de instrucciones que se pueden ejecutar en la línea de órdenes, y que se ejecutarán seguidas. En ese

Más detalles

GUIA DE LABORATORIO # Nombre de la Practica: Antivirus Laboratorio de Redes Tiempo Estimado: 2 Horas y 30 Minutos

GUIA DE LABORATORIO # Nombre de la Practica: Antivirus Laboratorio de Redes Tiempo Estimado: 2 Horas y 30 Minutos UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN CICLO: I-2015 GUIA DE LABORATORIO # Nombre de la Practica: Antivirus Lugar: Laboratorio de Redes Tiempo Estimado: 2 Horas

Más detalles

REDES DE COMPUTADORES REDES Y SISTEMAS DISTRIBUIDOS

REDES DE COMPUTADORES REDES Y SISTEMAS DISTRIBUIDOS REDES DE COMPUTADORES REDES Y SISTEMAS DISTRIBUIDOS Título de la práctica Sesión Configuración de clientes Laboratorio 2.7 Material utilizado PCs y Routers Linksys CONFIGURACIÓN BÁSICA DE REDES OBJETIVOS

Más detalles

Índice de contenido. Manual de administración de hospedaje para administradores de dominios

Índice de contenido. Manual de administración de hospedaje para administradores de dominios Índice de contenido 1. Webmin...2 1.1 Cambio de idioma y tema...2 2. Otros...3 2.1 Cargas y descargas...3 2.2 Conexión Telnet / SSH...4 2.3 Directorios Web Protegidos...5 2.4 Administrador de archivos...6

Más detalles

6 INSTALA, ADMINISTRA, SECURIZA Y VIRTUALIZA ENTORNOS LINUX RA-MA

6 INSTALA, ADMINISTRA, SECURIZA Y VIRTUALIZA ENTORNOS LINUX RA-MA ÍNDICE PRÓLOGO...13 CAPÍTULO 1. LINUX: UNA VISIÓN GENERAL...15 1.1 QUÉ APORTA ESTE LIBRO SOBRE LINUX...16 1.2 CÓMO COMIENZA LINUX...17 1.3 SISTEMA OPERATIVO LINUX...17 1.4 GNU LINUX, LINUX GNU O LINUX...18

Más detalles