Manual General de Servidores

253
DECOM Universidad de Valparaíso – Chile. Manual de instalación Sistemas Operativos & Servicios, Escuela de Ingeniería Civil Informática. Manual General: Servicios, Aplicaciones & Servidores DECOM.

Transcript of Manual General de Servidores

Page 1: Manual General de Servidores

DECOM Universidad de Valparaíso – Chile.

Manual de instalaciónSistemas Operativos & Servicios,

Escuela de Ingeniería Civil

Informática.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 2: Manual General de Servidores

P á g i n a | 2

Índice

1.1 Instalación CentOS. ............................................................................. 2 1.1.1.- Procedimientos. .......................................................................................................... 2

1.2.- MySQL™, Configuración & Instalación. ............................................... 3 1.2.1.- Equipamiento Lógico Necesario. ................................................................................. 4 1.2.2.- Procedimientos. .......................................................................................................... 4 1.2.3.- Creando y Destruyendo Bases de Datos. .................................................................... 5 1.2.4.- Otorgando Permiso a los Usuarios. ............................................................................. 5 1.2.5.- Modificaciones Necesarias en el Muro Cortafuegos. ................................................... 5 1.3.1 Instalación de Tomcat 6. ................................................................................................ 6

2.1 Instalación FreeBSD 6.1 ....................................................................... 8 2.1.1.- Asignación de espacio en disco. .................................................................................. 8 2.1.2.- Particionando. .............................................................................................................. 9 2.1.5.- Selección de Unidad. ................................................................................................. 10 2.1.6.- Editor Disklabel con los valores por defecto. ............................................................. 10 2.1.11.- Configuración de la Consola. ................................................................................... 12 2.1.14.- Compatibilidad con Linux. ........................................................................................ 12 2.1.16.- Prueba del Dæmon del Ratón. ................................................................................. 14 2.1.17.- Selección de Categoría de Paquetes. ....................................................................... 15 2.1.18.- Selección de Paquetes. ............................................................................................ 16

2.2.- Instalación de Servicios en FreeBSD 6.1 ......................................... 18 2.2.1.- Configurando la Red. ................................................................................................. 18 2.2.2.- Instalación de Aplicaciones Port. ................................................................................ 19 2.2.3.- Instalando Bash. ........................................................................................................ 20 2.2.4.- Habilitando SSH. ........................................................................................................ 20 2.2.5.- Instalando Apache 1.3 ............................................................................................... 21 2.2.8.- Instalando webmin .................................................................................................... 23 2.2.9.- Instalar Diablo. ......................................................................................................... 24 2.2.10.-Instalación de Postgresql 8.1 .................................................................................... 24 2.2.11.- Instalando Samba 3.0.21a y Creando Quotas de Usuarios. ...................................... 26 2.2.12.- Configuración de UPS – OPTIMUS. ........................................................................... 30 2.2.13.- Crear Usuarios. ........................................................................................................ 31

2.3.- Cacti, Implementación & Configuración. ........................................... 34

2.4.- Big Brother. ................................................................................... 40 2.4.1.- Requerimientos. ......................................................................................................... 40 2.4.2.- Instalación de Big Brother. ......................................................................................... 40 2.4.3.- Configuración. ........................................................................................................... 42 2.4.4.- Conclusión. ................................................................................................................ 44

2.5.- Uso de SSH con Certificado. ............................................................ 45

2.6.- Perdida de Key. .............................................................................. 47

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 3: Manual General de Servidores

P á g i n a | 3

2.7.- ScpOnly. ......................................................................................... 47 2.7.1.- Requisitos. ................................................................................................................ 47 2.7.2.- Instalar Openssh-Portable. ......................................................................................... 47 2.7.3.- Instalar ScpOnly. ........................................................................................................ 48 2.7.4.- Crear Nuevo Usuario. ................................................................................................ 48

2.8.- Configuración Servidor DHCP. ......................................................... 49

2.9.- Awstats. ........................................................................................ 53

2.10. - ¿Cómo Contar y graficar paquetes usando MRTG? .......................... 55 2.10.2.- Requerimientos. ...................................................................................................... 55 2.10.3.- Configuracion. ........................................................................................................ 56 2.10.4.- Configuracion de SNMPD. ....................................................................................... 56 2.10.5.- Configuración de MRTG. .......................................................................................... 56 2.10.6.- Configuración de Apache. ....................................................................................... 58 2.10.7.- Configuración del Archivo Índice (index.html). ........................................................ 58 2.10.8.- Conclusiones. .......................................................................................................... 58

2.11.- Implementación de Bridge + Firewall. .......................................... 58

2.12.- IPFW + Dummynet (UCV TV). ........................................................ 60 2.12.1.- Re-Compilación y Configuración del Kernel. .......................................................... 60 2.12.2.- Configuracion archivo /etc/hosts ............................................................................ 61 2.12.3.- Configuración Archivo /etc/host.conf .................................................................... 61 2.12.4.- Configuración Archivo /etc/resolv.conf .................................................................. 61 2.12.5.- Modificación Archivo /etc/sysctl.conf ..................................................................... 61 2.12.6.- Modificación y Configuración archivo /etc/rc.conf .................................................. 61 2.12.7.- Configuración Archivo /etc/rc.firewall ..................................................................... 61 2.12.8.- Creación Script para Bloqueo de Páginas. ............................................................... 62

2.12.8.1.- Archivo /etc/paginas_ipfw/paginas_bloqueadas ................................................ 62 2.12.8.2.- Archivo /etc/paginas_ipfw/sc_bloquear_paginas ............................................... 62 2.12.8.3.- Archivo /etc/paginas_ipfw/sc_bloq_pag ............................................................. 62 2.12.8.4.- Archivo /etc/paginas_ipfw/sitios_bloq ............................................................... 62

2.12.9.- Estructura de directorios. ....................................................................................... 63 2.12.10.- Editores de Texto. ................................................................................................. 64 2.12.11.- Archivos de Importancia. ..................................................................................... 64

2.13.- Jaulas. ......................................................................................... 64

2.14.- Bacula. ........................................................................................ 80 2.14.1.- Esquema de Bacula. ................................................................................................ 80 2.14.2.- Instalación de MySQL. .............................................................................................. 80 2.14.3.- Instalar Bacula-Server con soporte para MySQL. .................................................... 82 2.14.4.- Instalar Bacula-Client desde los Ports. ..................................................................... 82 2.14.5.- Configurar la base de datos MySQL Server. ............................................................. 82 2.14.6.- Configurar Bacula-Server para MySQL. .................................................................... 82 2.14.7.- Cambiar Extensiones a Archivos de Configuración de Bacula. ................................. 84 2.14.8.- Configuracion Archivo bacula-fd.conf (Cliente de Bacula). ...................................... 85 2.14.9.- Configuracion Archivo bacula-sd.conf (Storage Bacula). ......................................... 85 2.14.10.- Configuracion Archivo bconsole.conf (Storage Bacula). ........................................ 87 2.14.11. - Configuracion archivo Bacula-Dir.conf (director bacula). ..................................... 87 2.14.12.- Probando los archivos de Bacula. .......................................................................... 93 2.13.13.- Instalando el Cliente de Bacula en Windows NT4/2000/XP/2003. ......................... 93 2.13.14.- Ejecutando a Bacula-Server por primera vez. ....................................................... 94

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 4: Manual General de Servidores

P á g i n a | 4

2.14.15.- Accesando a Bacula desde bconsole. ................................................................... 94 2.14.16.- Ejecutando el primer Respaldo Full y Diferencial. .................................................. 95 2.14.17.- Restaurando Archivos con Bacula. ........................................................................ 95

2.15.- Samba. ........................................................................................ 95 2.15.1.- Instalando Samba en FreeBSD. ............................................................................... 95 2.15.2.- Configuración de Samba. ........................................................................................ 95 2.15.3.- En Servidor de Alumnos Frankie, Servicios y versiones. ......................................... 97 2.15.4.- En Servidor de Profesores Scox, Servicios y Versiones. ........................................... 98

2.16.- Vlan + Nat. .................................................................................. 98 2.16.1.- Descripción. ............................................................................................................ 98 2.16.2.- Configuración del Servidor. ..................................................................................... 99

2.17.- UPS. .......................................................................................... 101

2.18.- Twiki. ......................................................................................... 103

2.18.- Reparar Discos Fsck. .................................................................. 104

2.19.- Actualizar Software Vulnerable en FreeBSD. ................................ 105

2.20.- Cambiar Password de Root. ......................................................... 106

2.3.- Windows Server .................................................................... 106

3.1.- Instalación Windows Server. .......................................................... 106 3.2.1.- Instrucciones de Instalación de Administrador. ....................................................... 107 3.2.2.- Instrucciones de Instalación de Usuario Comun. ..................................................... 110 3.2.3.- Instrucciones de Creacion Nueva “Sala de Clases”. ................................................ 110 3.2.4.- Instrucciones de Clonacion de Administrador. ........................................................ 113

3.4.- Aplicaciones & Servicios Extras .............................................. 113

4.1.- Switch 3COM 4500 – Vlan. ............................................................. 113 4.1.12.- Guardando la Configuración. ................................................................................. 119

4.2.- Monitorizar servidores Apache con Cacti. ....................................... 137

4.3.- Monitorizar Servidor MySQL desde Cacti. ....................................... 138

4.4.- Monitorizar Servidores Tomcat con Cacti. ...................................... 138

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 5: Manual General de Servidores

P á g i n a | 5

1.- CentOS

1.1 Instalación CentOS.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 6: Manual General de Servidores

P á g i n a | 6

1.1.1.- Procedimientos.Inserte el disco DVD de instalación de CentOS 5 y en cuanto aparezca el diálogo de inicio (boot:), pulse la tecla ENTER o bien ingrese las opciones de instalación deseadas.

Si desea verificar la integridad del disco a partir del cual se realizará la instalación, seleccione «OK» y pulse la tecla ENTER, considere que esto puede demorar varios minutos. Si está seguro de que el disco o discos a partir de los cuales se realizará la instalación están en buen estado, seleccione «Skip» y pulse la tecla ENTER.

Haga clic sobre el botón «Next» en cuanto aparezca la pantalla de bienvenida de CentOS.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 7: Manual General de Servidores

P á g i n a | 7

Seleccione «Spanish» como idioma para ser utilizado durante la instalación.

Seleccione el mapa de teclado que corresponda al dispositivo utilizado. El mapa «Español» o bien «Latinoamericano» de acuerdo a lo que corresponda. Al terminar, haga clic sobre el botón «Siguiente».

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 8: Manual General de Servidores

P á g i n a | 8

Salvo que exista una instalación previa que se desee actualizar (no recomendado), deje seleccionado «Instalar CentOS» y haga clic en el botón «Siguiente» a fin de realizar una instalación nueva.

Para crear las particiones de forma automática, lo cual puede funcionar para la mayoría de los usuarios, puede seleccionar:

• «Remover particiones en dispositivos seleccionados y crear disposición», lo cual

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 9: Manual General de Servidores

P á g i n a | 9

eliminaría cualquier partición de cualquier otro sistema operativo presente, y creará de forma automática las particiones necesarias.

• «Remover particiones de linux en dispositivos seleccionados y crear disposición», lo cual eliminaría cualquier partición otra instalación de Linux presente, y creará de forma automática las particiones necesarias.

• «Usar espacio disponible en dispositivos seleccionados y crear disposición», lo cual creará de forma automática las particiones necesarias en el espacio disponible.

Conviene crear una disposición que permita un mayor control. Seleccione «Crear disposición personalizada».

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 10: Manual General de Servidores

P á g i n a | 10

Una vez seleccionado «Crear disposición personalizada», haga clic sobre el botón «Siguiente».

La herramienta de particiones mostrará el espacio disponible. Haga clic en el botón «Nuevo».

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 11: Manual General de Servidores

P á g i n a | 11

Asigne 100 MB a la partición /boot y defina ésta como partición primaria, siempre que la tabla de particiones lo permita.

Si está conforme, haga clic otra vez en el botón «Nuevo» y proceda a crear la siguiente partición.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 12: Manual General de Servidores

P á g i n a | 12

Asigne a la partición / el resto del espacio disponible menos lo que tenga calculado asignar para la partición de intercambio (200% de la memoria física, o cuanto baste para 2 GB). Se recomienda asignar / como partición primaria, siempre que la tabla de particiones lo permita.

Si está conforme, haga clic otra vez en el botón «Nuevo» y proceda a crear la siguiente partición.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 13: Manual General de Servidores

P á g i n a | 13

La partición para la memoria de intercambio no requiere punto de montaje. Seleccione en el campo de «Tipo de sistema de archivos» la opción «swap». Si tiene menos de 1 GB de RAM, asigne el 200% de la memoria física. Si tiene más de 1GB RAM, asigne una cantidad equivalente a el total del RAM más 2 GB. Por tratarse de la última partición de la tabla, es buena idea asignarle el espacio por rango, especificando valores ligeramente por debajo y ligeramente por arriba de lo planeado.

Otras particiones que se recomienda asignar, si se dispone del espacio en disco duro suficiente, son:

/usr Requiere al menos 1.5 GB en instalaciones básicas. Debe considerarse el sustento lógico a utilizar a futuro. Para uso general, se recomiendan no menos de 5 GB y, de ser posible, considere un tamaño óptimo de hasta 8 GB en instalaciones promedio.

/tmp Requiere al menos 350 MB y puede asignarse hasta 10240 MB o más dependiendo de la carga de trabajo y tipo de aplicaciones. Si por ejemplo el sistema cuenta con un grabador de DVD, será necesario asignar a /tmp el espacio suficiente para almacenar una imagen de disco DVD, es decir, al menos 4.2 GB.

/var Requiere al menos 512 MB en estaciones de trabajo sin servicios. En servidores regularmente se le asigna al menos la mitad del disco duro.

/home En estaciones de trabajo se asigna al menos la mitad del disco duro a esta partición.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 14: Manual General de Servidores

P á g i n a | 14

Si está conforme con la tabla de particiones creada, haga clic sobre el botón «siguiente» para pasar a la siguiente pantalla.

Ingresará a la configuración del gestor de arranque. Por motivos de seguridad, y principalmente con la finalidad de impedir que alguien sin autorización y con acceso físico al sistema pueda iniciar el sistema en nivel de ejecución 1, o cualquiera otro, haga clic en la casilla «Usar la contraseña del gestor de arranque».

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 15: Manual General de Servidores

P á g i n a | 15

Se abrirá una ventana emergente donde deberá ingresar, con confirmación, la clave de acceso exclusiva para el gestor de arranque. Al terminar, haga clic sobre el botón «Aceptar».

Al terminar, haga clic sobre el botón «Siguiente».

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 16: Manual General de Servidores

P á g i n a | 16

Para configurar los parámetros de red del sistema, haga clic sobre el botón «Modificar» para la interfaz eth0.

En la ventana emergente para modificar la interfaz eth0, desactive la casilla «Configurar usando DHCP» y especifique la dirección IP y máscara de subred que utilizará en adelante el sistema. Si no va a utilizar IPv6, también desactive la casilla. Confirme con el administrador de la red donde se localice que estos datos sean correctos antes de continuar. Al terminar, haga clic sobre el botón «Aceptar».

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 17: Manual General de Servidores

P á g i n a | 17

Asigne un nombre de anfitrión (HOSTNAME) para el sistema. Se recomienda que dicho nombre sea un FQDN (Fully Qualified Domain Name) resuelto al menos en un DNS local. Defina, además, en esta misma pantalla, la dirección IP de la puerta de enlace y las direcciones IP de los servidores DNS de los que disponga. Si desconoce que dato ingresar, defina éste como localhost.localdomain. Al terminar, haga clic sobre el botón «Siguiente».

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 18: Manual General de Servidores

P á g i n a | 18

Seleccione la casilla «El sistema horario usará UTC», que significa que el reloj del sistema utilizará UTC (Tiempo Universal Coordinado), que es el sucesor de GMT (b>Greenwich Mean Time, que significa Tiempo Promedio de Greenwich), y es la zona horaria de referencia respecto a la cual se calculan todas las otras zonas del mundo. Haga clic con el ratón sobre la región que corresponda en el mapa mundial o seleccione en el siguiente campo la zona horaria que corresponda a la región donde se hospedará físicamente el sistema.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 19: Manual General de Servidores

P á g i n a | 19

Asigne una clave de acceso al usuario root. Debe escribirla dos veces a fin de verificar que está coincide con lo que realmente se espera. Por razones de seguridad, se recomienda asignar una clave de acceso que evite utilizar palabras provenientes de cualquier diccionario, en cualquier idioma, así como cualquier combinación que tenga relación con datos personales.

Al terminar, haga clic sobre el botón «Siguiente», y espere a que el sistema haga la lectura de información de los grupos de paquetes.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 20: Manual General de Servidores

P á g i n a | 20

En la siguiente pantalla podrá seleccionar los grupos de paquetes que quiera instalar en el sistema. Añada o elimine a su conveniencia. Lo recomendado, sobre todo si se trata de un servidor, es realizar una instalación con el mínimo de paquetes, desactivando todas las casillas para todos los grupos de paquetes. El objeto de esto es solo instalar lo mínimo necesario para el funcionamiento del sistema operativo, y permitir instalar posteriormente solo aquello que realmente se requiera de acuerdo a la finalidad productiva que tendrá el sistema. Al terminar, haga clic sobre el botón «Siguiente».

Se realizará una comprobación de dependencias de los paquetes a instalar. Este procesos puede demorar algunos minutos.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 21: Manual General de Servidores

P á g i n a | 21

Antes de iniciar la instalación sobre el disco duro, el sistema le informará respecto a que se guardará un registro del proceso en si en el archivo /root/install.log. Para continuar, haga clic sobre el botón «Siguiente».

Si iniciará de forma automática el proceso de formato de las particiones que haya creado para instalar el sistema operativo. Dependiendo de la capacidad del disco duro, este proceso puede demorar algunos minutos.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 22: Manual General de Servidores

P á g i n a | 22

Se realizará automáticamente una copia de la imagen del programa de instalación sobre el disco duro a fin de hacer más eficiente el proceso. Dependiendo de la capacidad del microprocesador y cantidad de memoria disponible en el sistema, este proceso puede demorar algunos minutos.

Espere a que se terminen los preparativos de inicio del proceso de instalación.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 23: Manual General de Servidores

P á g i n a | 23

Se realizarán preparativos para realizar las transacciones de instalación de paquetes.

Iniciará la instalación de los paquetes necesarios para el funcionamiento del sistema operativo. Espere algunos minutos hasta que concluya el proceso.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 24: Manual General de Servidores

P á g i n a | 24

Una vez concluida la instalación de los paquetes, haga clic sobre el botón «Reiniciar».

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 25: Manual General de Servidores

P á g i n a | 25

1.2.- MySQL™, Configuración & Instalación.

1.2.1.- Equipamiento Lógico Necesario.

Instalación a través de yum.

Si utiliza CentOS 4 o White Box Enterprise Linux 4, solo se necesita realizar lo siguiente para instalar o actualizar el equipamiento lógico necesario:

yum -y install mysql mysql-server

Instalación a través de up2date.

Si se utiliza Red Hat™ Enterprise Linux 4, solo bastará realizar lo siguiente para instalar o actualizar el equipamiento lógico necesario:

up2date -i mysql mysql-server

1.2.2.- Procedimientos.

SELinux y el servicio mysqld.

Si utiliza CentOS 4, Red Hat™ Enterprise Linux 4 o White Box Enterprise Linux 4 o versiones posteriores de estos sistemas operativos, active la política mysqld_disable_trans con el mandato setsebool para permitir funcionar al servicio mysqld. De otro modo, el servicio mysqld jamás podrá iniciar.

setsebool -P mysqld_disable_trans 1

Para que SELinux permita utilizar el cliente mysql para establecer conexiones hacia servidores MySQL, utilice el siguiente mandato:

setsebool -P allow_user_mysql_connect 1

Iniciar, detener y reiniciar el servicio mysqld.

Para iniciar por primera vez el servicio mysqld y generar la base de datos inicial (mysql), utilice:

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 26: Manual General de Servidores

P á g i n a | 26

/sbin/service mysqld start

Para reiniciar el servicio mysqld, utilice:

/sbin/service mysqld restart

Para detener el servicio mysqld, utilice:

/sbin/service mysqld stop

Agregar el servicio mysqld al arranque del sistema.

Para hacer que el servicio de mysqld esté activo con el siguiente inicio del sistema, en todos los niveles de corrida (2, 3, 4, y 5), se utiliza lo siguiente:

/sbin/chkconfig mysqld on

Asignación de clave de acceso al usuario root.

El usuario root en MySQL%trade;, no tiene asignada clave de acceso alguna después de iniciado el servicio por primera vez. Por razones de seguridad, es muy importante asignar una clave de acceso.

Método corto.

La forma más simple de asignar una clave de acceso al usuario root de MySQL™ solo requiere de un único mandato, descrito a continuación.

mysqladmin -u root password nueva-clave-de-acceso

En adelante, será necesario añadir la opción -p a cualquier sentencia de línea de mandatos para , mysqladmin y mysqldump para ingresar la clave de acceso del usuario root y poder, de esta forma, realizar diversas tareas administrativas.

Método largo.

La forma complicada de realizar lo anterior se describe solo con fines didácticos y como prueba de concepto. No es del todo práctico realizar asignación de la clave de acceso del usuario root con este método, pero sirve para entender el funcionamiento en cuanto a asignación de claves de acceso.

Como root, utilice el mandato mysql:

# mysql

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 27: Manual General de Servidores

P á g i n a | 27

Dentro del intérprete de mandatos de MySQL, indique con el mandato use mysql que utilizará única base de datos existente, mysql:

> use mysql

Solicite con el mandato show tables que se muestren las tablas de la base de datos mysql:

> show tables;

Con el mandato select * from user se mostrará el contenido de la tabla user de la base de datos actual:

> select * from user;

Esto hará que se vea, entre otras muchas cosas, lo siguiente:

+-------------------------+----------+------------------+--------------+| Host | User | Password | Select_priv |+-------------------------+----------+------------------+--------------+| localhost | root | | Y |+-------------------------+----------+------------------+--------------+

Como se podrá observar, el usuario root no tiene asignada una clave de acceso, por lo que cualquiera que se identifique como root en el sistema tendrá acceso a todo en MySQL. Se asignará una clave de acceso del siguiente modo:

> update user set Password=PASSWORD('nuevo_password') where user='root';

Utilice de nuevo el mandato select * from user y vuelva observar el campo que correspondería al de la clave de acceso del usuario root:

> select * from user;

Deberá aparecer ahora un criptograma en el campo que corresponde a la clave de acceso del usuario root.

+-------------------------+----------+------------------+--------------+| Host | User | Password | Select_priv |+-------------------------+----------+------------------+--------------+| localhost | root |4593274b8e0d68j852| Y |+-------------------------+----------+------------------+--------------+

Se recomienda realizar refresco de los privilegios a fin de que tomen efecto los cambios.

> flush privileges

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 28: Manual General de Servidores

P á g i n a | 28

Para probar, solo hay que salir del intérprete de MySQL.

> quit

Intente ingresar de nuevamente al intérprete de mandatos de MySQL™:

mysql

Notará que ya no se puede acceder como antes, y regresa un mensaje de error.

ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)

Ejecute ahora el mismo mandato, pero especificando un usuario (-u root) y solicitando se pregunte por una clave de acceso (-p):

mysql -u root -p

A continuación se le pedirá ingrese una clave de e acceso, tras lo cual obtendrá de nuevo acceso al intérprete de mandatos de MySQL™.

1.2.3.- Creando y Destruyendo Bases de Datos.

Para crear una nueva base de datos, puede utilizarse el mandato mysqladmin con el parámetro create:

mysqladmin -u root -p create dbejemplo

Si queremos eliminar dicha base de datos, utilizamos el parámetro drop en lugar de create.

mysqladmin -u root -p drop dbejemplo

1.2.4.- Otorgando Permiso a los Usuarios.

En adelante el usuario root solo se utilizará para tareas administrativas y creación de nuevas bases de datos. Resultará conveniente delegar a los usuarios ordinarios el manejo de sus propias bases de datos.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 29: Manual General de Servidores

P á g i n a | 29

Una vez generada una base de datos, debemos determinar con que usuario y desde que equipo en la red local, se podrá tener acceso, así como los privilegios para modificar esta. Lo más común, y seguro, es asignar el acceso solo desde el mismo servidor (localhost), a menos que el desarrollo web o aplicación se localice en otro equipo.

Genere un base de datos denominada directorio:

mysqladmin -u root -p create directorio

Se accede hacia el intérprete de mandatos de MySQL™ y se utiliza lo siguiente, suponiendo que se desea asignar permisos select (seleccionar), insert (insertar), update (actualizar), create (crear), alter (aldetar), delete (eliminar) y drop (descartar) sobre las tablas de la base de datos directorio al usuario prueba desde el anfitrión localhost (equipo local):

GRANT select, insert, update, create, alter, delete, drop ON directorio.* TO

prueba@localhost IDENTIFIED BY 'password_del_usuario_prueba';

Al concluir, se tendrá una base de datos denominada directorio que podrá ser utilizada y modificada por el usuario prueba desde el anfitrión localhost. Esto establecerá un nivel de seguridad apropiado, y garantizará que de verse comprometida la seguridad, la clave de acceso de un usuario no podrá ser utilizada desde un sistema remoto.

Si, por mencionar un ejemplo, se requiere permitir el acceso hacia la base de datos directorio desde otro equipo en la red local, con fines administrativos, se puede otorgar el acceso y permisos al usuario jperez desde el anfitrión 192.168.1.253, es decir [email protected].

GRANTselect, insert, update, create, alter, delete, dropONdirectorio.*[email protected] BY

'clave_de_acceso_para_jperez';

1.2.5.- Modificaciones Necesarias en el Muro Cortafuegos.

Si se utiliza un cortafuegos con políticas estrictas, como por ejemplo Shorewall, es necesario abrir el puerto 3306 por TCP (mysql).

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 30: Manual General de Servidores

P á g i n a | 30

Las reglas para el fichero /etc/shorewall/rules de Shorewall en un sistema con una zona (net), correspondería a lo siguiente:

#ACTION SOURCE DEST PROTO DEST SOURCE

# PORT PORT(S)1

ACCEPT net fw tcp 3306

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Las reglas para el fichero /etc/shorewall/rules de Shorewall en un sistema con dos zonas (net y loc), donde solo se va a permitir el acceso al servicio mysqld desde la red local, correspondería a lo siguiente:

#ACTION SOURCE DEST PROTO DEST SOURCE

# PORT PORT(S)1

ACCEPT loc fw tcp 3306

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 31: Manual General de Servidores

P á g i n a | 31

1.3.- Tomcat.

Primero, comprobamos de que tengamos instalado java, para ellos podemos hacer:

Java-version

Si no tenemos instalado, procedemos con la instalación. Descargamos el instalador rpm de la version de java que necesitamos desde sun

Damos permisos de ejecución al archivo descargado:

chmod a+x archivo.rpm

y luego simplemente escribimos:

./archivo.rpm

Completada la instalacion hacemos:

Java-version

Y deberíamos ver algo como:

java version "1.6.0_10-rc"Java(TM) SE Runtime Environment (build 1.6.0_10-rc-b28)Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)

1.3.1 Instalación de Tomcat 6.

Descargamos Tomcat 6.0.16, para ello abrimos una consola y pegamos:

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 32: Manual General de Servidores

P á g i n a | 32

wget http://apache.hoxt.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.tar.gz

Descomprimimos el tar

tar -xzvf apache-tomcat-6.0.16.tar.gz

Las siguientes operaciones deben ser ejecutadas como root.

Creamos un directorio dentro de /usr/local/tomcat

mkdir /usr/local/tomcat

Movemos el contenido del archivo descargado.

mv apache-tomcat-6.0.16/* /usr/local/tomcat

Tomcat necesita tener la variable de ambiente JAVA_HOME seteada, para ello, editamos el archivo /etc/profile

nano /etc/profile

Y agregamos al final del mismo la línea:

export JAVA_HOME=/usr/java/jre1.6.0_10/

Guardamos y continuamos.

Ahora vamos a crear un script para arrancar automáticamente tomcat.

nano /etc/init.d/tomcat6

Y copiamos:

# Tomcat auto-start#

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 33: Manual General de Servidores

P á g i n a | 33

# description: Auto-starts tomcat# processname: tomcat# pidfile: /var/run/tomcat.pid

export JAVA_HOME=/usr/lib/jvm/java-6-sun

case $1 instart)sh /usr/local/tomcat/bin/startup.sh;; stop) sh /usr/local/tomcat/bin/shutdown.sh;; restart)sh /usr/local/tomcat/bin/shutdown.shsh /usr/local/tomcat/bin/startup.sh;; esac exit 0

Guardamos y salimos.

Agregamos permisos de ejecución al script:

chmod 755 /etc/init.d/tomcat6

Y lo último es agregar este script como un link:

sudo ln -s /etc/init.d/tomcat6 /etc/rc1.d/K99tomcatsudo ln -s /etc/init.d/tomcat6 /etc/rc2.d/S99tomcat

Y Listo. Tenemos Tomcat 6 instalado exitosamente en CentOS.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 34: Manual General de Servidores

P á g i n a | 34

2.- FreeBSD

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 35: Manual General de Servidores

P á g i n a | 35

2.1 Instalación FreeBSD 6.1

OBSERVACION: Para toda selección de opciones, se debe utilizar la techa TAB y luego OK con la barra espaciadora

Configuración del país: Chile

Configuración del teclado: Spain (accent)

1.2.1.1.- Asignación de espacio en disco.

Elija en qué unidad usar FDisk

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 36: Manual General de Servidores

P á g i n a | 36

2.1.2.- Particionando.

Se eliminan todas las particiones existentes en el disco seleccionado anteriormente pulsando la tecla D (delete) sobre cada partición, quedando el disco duro completo.

Posteriormente, presionar la tecla A (use entire disk), la cual creará una partición extendida y una pequeña partición de arranque.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 37: Manual General de Servidores

P á g i n a | 37

2.1.3.- Partición con FDisk Usando el Disco Completo.

posicionese sobre la partición mas amplea y presione la tecla S (set booteable) deberá aparecer la letra A ó CA, en la columna Flag de la misma partición, esta (s) letra(s) identifican la partición que será booteada por el sistema.

Para finalizar presione

tecla Q (finish).

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 38: Manual General de Servidores

P á g i n a | 38

2.1.4.- Menú de Gestores de Arranque.

Seleccionar Standard para crear las particiones en la partición extendida creada.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 39: Manual General de Servidores

P á g i n a | 39

2.1.5.- Selección de Unidad.

Seleccionamos el disco duro a trabajar.

Seleccionamos el disco duro donde crearemos las particiones con precaución, con la barra espaciadora luego OK.

Nos debe mostrar una pantalla sin particiones donde crearemos las particiones para nuestro S.O.

Presionamos la tecla C (create) asignando el tamaño en MegaBytes (M) para nuestro directorio en particular. en nuestro caso, comenzaremos creando el espacio para el directorio /var. Al presionar C, asignaremos 30000M, posteriormente seleccionamos FS (A file system) que corresponde a una partición del tipo Sistema de Archivos. Posteriormente introducimos en Value Required, el punto de montaje (/var), lo mismo para montar /usr. Finalmente dejar lo que queda para la raiz (/) y SWAP

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 40: Manual General de Servidores

P á g i n a | 40

2.1.6.- Editor Disklabel con los valores por defecto.

2.1.7.- Elija el Tipo de Partición Raíz.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 41: Manual General de Servidores

P á g i n a | 41

2.1.8.- Elija el Punto de Montaje del s. f. raíz.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 42: Manual General de Servidores

P á g i n a | 42

2.1.9.- Confirmar Distribuciones.

Seleccionar 6, Kern-Developer confirmando la selección y posteriormente X exit para retornar a la instalación

2.1.10.- Elección del Medio de Instalación.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 43: Manual General de Servidores

P á g i n a | 43

Seleccionamos la opción 1 CD/DVD origen de nuestra instalación. La instalación a comenzado

La configuración de Red NO será realizada en el momento de ella instalación por lo que se debe no confirmar dicha petición, lo mismo para SSH, FTP, NFS server y NFS cliente, la confirmación de las opciones de consola, responder Yes.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 44: Manual General de Servidores

P á g i n a | 44

2.1.11.- Configuración de la Consola.

Opciones de configuración de la consola del sistema:

Una opción que suele elegirse es el uso del salvapantallas. Elija Saver y luego pulse Intro.

Luego de configurar opciones como el protector de pantalla, se debe seleccionar la opcion X Exit.

World you like to configure any Ethernet or SLIP/PPP network devices

Yes [No]

World you like tos et this machine´s time zone now

[Yes] No

Cambio de hora

[Yes] No

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 45: Manual General de Servidores

P á g i n a | 45

2.1.12.- Configuración de la Zona Horaria.

Elección de región

Elija la región que corresponda moviéndose con las flechas y pulsando Intro cuando sea conveniente.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 46: Manual General de Servidores

P á g i n a | 46

2.1.13.- Elija País.

2.1.14.- Compatibilidad con Linux.

User Confirmation Requested Would you like to enable Linux binary compatibility?

[ Yes ] No

Si selecciona [ Yes ] y pulsa Intro podrá ejecutar software Linux en FreeBSD. La instalación añadirá los paquetes necesarios para poder tener compatibilidad binaria con Linux.

User Confirmation Request

The FreeBSD package….

Yes [No]

User Confirmation Request

World you like to add any…

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 47: Manual General de Servidores

P á g i n a | 47

Yes No

2.1.15.- Configuración del Ratón.

Seleccionar puerto del mouse (PS/2)

Arranque del dæmon del ratón

Para terminar, seleccione con las flechas Enable (activar) y pulse Intro: así se activa y prueba el dæmon del ratón.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 48: Manual General de Servidores

P á g i n a | 48

2.1.16.- Prueba del Dæmon del Ratón.

Mueva el ratón un poco por la pantalla hasta asegurarse de que el cursor responde adecuadamente. Si todo es correcto seleccionar Yes

Posteriormente seleccionar X Exit (Exit this menu (returing to previous)

Paso siguiente:

Sobre confirmación sobre aplicaciones WEB contestar Yes.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 49: Manual General de Servidores

P á g i n a | 49

2.1.17.- Selección de Categoría de Paquetes.

Apretar Enter en All y buscar posteriormente Bash (consola), marcando todos las dependencias que se encuentran en All.

Seleccionar OK, y posteriormente Install

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 50: Manual General de Servidores

P á g i n a | 50

2.1.18.- Selección de Paquetes.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 51: Manual General de Servidores

P á g i n a | 51

2.1.19.- Instalación de Paquetes.

Seleccione [ Install ] con el Tabulador y las flechas y pulse Intro. Se le pedirá que confirme que quiere instalar los paquetes

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 52: Manual General de Servidores

P á g i n a | 52

2.1.20.- Confirmación Previa a la Instalación de Paquetes.

Si selecciona [ OK ] y pulsa enter. Confirmación de todas las dependencias

Nos pedirá que insertemos el disco 2, presionamos Yes e insertamos el disco #2, luego OK dependiendo de la petición.

Esto de pedir el CD 1 y el CD 2 lo realizará en reiteradas ocasiones por lo que no hay que preocuparse

Añadir Usuarios/Grupos

User Confirmation Requested Would you like to add any initial user accounts to the system? Adding at least one account for yourself at this stage is suggested since working as the "root" user is dangerous (it is easy to do things which adversely affect the entire system).

[ Yes ] NoEs decir:

Petición de confirmación por parte del usuario ¿Quiere añadir algún usuario al sistema? Le sugerimos que añada al menos uno para usted puesto que trabajar como "root" es peligroso (es fácil hacer algo con consecuencias en todo el sistema).

[ Yes ] No

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 53: Manual General de Servidores

P á g i n a | 53

la creación de otro usuario que no sea el Root.

2.1.21.- Creando Password.

Ingresar nueva password de root, posteriormente negar confirmación sobre cambios en las últimas opciones, luego pasamos a la siguiente ventana de opciones.

2.1.22.- Salir de la Instalación.

Seleccione [X Exit Install] confirmando la salida de la instalación.

Listo, Bienvenido a FreeBSD 6.1

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 54: Manual General de Servidores

P á g i n a | 54

2.2.- Instalación de Servicios en FreeBSD 6.1

Instalación y Configuración de un Servidor.

2.2.1.- Configurando la Red.

El servidor educnet-clon cuenta con la siguiente configuración:

IP:10.100.6.215 /24

GW:10.100.6.254

DNS:10.50.1.16

Nombre Host: Educnet-Clon

1.1.- Para la ip:

Ifconfig em0 10.100.6.215 netmask 255.255.255.0

1.2.- Para la puerta de enlace (Defaul gateway)

route add default gw 10.100.6.254

1.3.- Para el DNS

vi /etc/resolv.conf

nombre de host

#vi /etc/hosts

ponemos:

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 55: Manual General de Servidores

P á g i n a | 55

127.0.0.1 localhost.decom-uv.cl localhost

10.100.6.215 clon-educnet.decom-uv.cl clon-educnet

10.100.6.215 clon-educnet.decom-uv.cl.

Luego editamos /etc/host.conf, verificando que se encuentre hosts, antes que bind

#vi /etc/host.conf

hosts

bind

dns

Luego editamos /etc/rc.conf, que es el archivo que guarda la configuración con que arranca el equipo. configurando:

#vi /etc/rc.conf

ifconfig_fxp0="inet 10.100.6.215 netmask 255.255.255.0"

defaultrouter="10.100.6.254"

hostname="educnet-clon.decom-uv.cl"

nota: para nuestro siguiente acceso al sistema, deberia aparecernos en el promt:

educnet-clon#

2.2.2.- Instalación de Aplicaciones Port.

Necesitamos instalar Diablo (java para FreeBSD) y Postgresql 8.1, para comenzar, es necesario saber con que versión de diablo cuenta nuestro sistema FreeBSD además de la ubicación.

1. Buscar el port

#cd /usr/ports //donde se encuentran todas las aplicaciones

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 56: Manual General de Servidores

P á g i n a | 56

#make search name=diablo //diablo es la aplicación a buscar

Port: lsof-4.56.4

Path: /usr/ports/java/diablo-jre13

Info: Lists information about open files (similar to fstat(1))

Maint: [email protected]

Index: sysutils

B-deps:

R-deps:

Nota: Path nos indica la ubicación de diablo, primera aplicación a instalar.

2: Entrar a la aplicación

Entramos a /usr/ports/java/diablo-jre13

Deben existir los siguientes directorios:

Makefile

distinfo

files

pkg-descr

pkg-plist

Hacemos make y make install

Si existe un error sobre vulnerabilidad debemos actualizar la BD de de vulnerabilidades.

Nota: nos damos cuenta que la versión de diablo con la que cuenta nuestro sistema corresponde a la 1.3, lo cual es demasiado antigua, es necesario además de actualizar la lista de vulnerabilidades, actualizar nuestra lista de puertos (ports).

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 57: Manual General de Servidores

P á g i n a | 57

3.- Actualización de la BD de vulnerabilidades

Entrar a /usr/ports/security/portaudit

Ejecutar

#make

y luego

#makeinstall

Una vez ejecutado dichos comando, se debe ejecutar:

#portaudit -F //nos descarga la nueva BD de vulnerabilidades

4.- Actualización de la lista de puertos (ports).

Ejecutamos el siguiente comando:

#portsnap fetch extract

Antes de empezar a instalar los servicios se debe tener los Ports actualizados, estos se pueden descargar de la siguiente dirección ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/

2.2.3.- Instalando Bash.

Una vez bajados los Ports se pueden dejar en un directorio como ports2 o renombrar el directorio original como ports.ori y el original se deja como ports, eso a gusto de la persona, lo importante es realizar la actualización desde los ports descargados y no los que trae. En este caso se utilizo el ports2

cd /ports2/port/shells/bash

make

make install

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 58: Manual General de Servidores

P á g i n a | 58

2.2.4.- Habilitando SSH.

4.1.- Entro al archivo /etc/rc.conf

Ahí hay que poner:

sshd_enable = ”YES”

4.2.- Luego ejecuto ssh

/etc/rc.d/sshd star

4.3.- En caso de no partir ssh, debería agregar estas línea de código al archivo

etc/ssh/sshd_config

IgnoreRhosts yes

RhostsRSAAuthentication no

RhostsAuthentication no

IgnoreUserKnownHosts no

PrintMotd yes

StrictModes yes

RSAAuthentication yes

PermitRootLogin yes

PermitEmptyPasswords no

PasswordAuthentication yes

4.4.- Posibles problemas con ssh

Uno de los problemas que se pueden presentar posterior a la instalación por ssh, es que al servidor donde intentamos acceder haya generado nuevamente las claves (trabaja con claves publicas y privadas), es decir, se haya desinstalado ssh y luego instalado.

El problema que se muestra en nuestro ssh (cliente) es el siguiente:

alumnos# ssh [email protected]

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 59: Manual General de Servidores

P á g i n a | 59

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that the DSA host key has just been changed.

The fingerprint for the DSA key sent by the remote host is

69:ca:9d:10:03:c9:20:ba:a7:dc:46:d4:b7:7c:e5:44.

Please contact your system administrator.

Add correct host key in /root/.ssh/known_hosts to get rid of this message.

Offending key in /root/.ssh/known_hosts:7

DSA host key for 192.168.20.6 has changed and you have requested strict checking.

Host key verification failed.

En este caso se borra .ssh/known_hosts. Y se volverá a poder entrar por ssh desde esta cuenta. Este problema se puede presentar en cualquier cuenta de usuario que se tenga en la máquina por ejemplo puede darse con /home/1998/mferrand/.ssh/known_hosts.

Cabe señalas que el problema es de una cuenta en específico y no de TODAS las cuentas, esto fue probado entrando con otra cuenta mientras persistía el problema desde root y mferrand que se encontraban en la máquina desde donde se quería acceder al servidor

Problema Host key verification failed. En Jaulas

Este problema se presenta cuando se tienen servidores virtuales y ocurre cuando las interfaces de los servidores virtuales (Jails) son cambiadas, entiendase por interfaces los alias que utilizan para identifarse las distintas jaulas. El problema tiene relación con lo mismo explicado anteriormente, y se soluciona “desinstalando” (parando ssh y comenarlo de rc.conf) ssh y luego instalándolo para que se generen las llaves públicas y privadas nuevamente, en caso que no se pueda ingresar una de las posibilidades es que pase lo señalado en el parrafo anterior, es decir, la cuenta del servidor desde donde se está accediendo mantenga las llaves (publicas y privadas) antiguas.

2.2.5.- Instalando Apache 1.3

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 60: Manual General de Servidores

P á g i n a | 60

Para que apache parta la máquina debe tener nombre, para que la máquina tenga nombre deben estar configurados los archivos a continuación

vi /etc/hosts

vi /etc/host.conf

vi /etc/rc.conf

Si los nombre no coinciden en estos archivos no se podrá iniciar apache.

Una vez configurados estos archivos se realiza lo siguiente:

cd /usr/ports/www/apache13

make install clean

apachectl start //parte apache

otros:

apachectl stop //para apache

apachectl restart //reinicia apache

Para desinstalar una version:

cd /usr/ports/www/apache13

make deinstall //desinstala apache

En el archivo /etc/rc.conf

Se agrega

apache_enable = “YES” //con esto cada vez que se reinicie la máquina apache partirá

2.2.6- Instalando Apache13 (Apache Mysql 5 PHP5).

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 61: Manual General de Servidores

P á g i n a | 61

amp# cd /usr/ports/www/apache13

amp#make

amp#make install

Al ejecutar apache apachectl start, es posible que el comando no sea reconocido por lo que habrá que salir de ese Prom. con exit y luego ejecutar apachectl Stara

Para que el comando que viene a continuación pueda ejecutarse se ingresa por el shell tcsh

#apachectl start

>>Otra forma de poder ejecutar apache es:

/usr/local/sbin/apachectl start

Luego se agrega mysql_enable=”YES” al archivo /etc/rc.conf

2.2.7.- Instalando PHP5 .

Al instalar PHP5 con Apache13 debo instalar otras aplicaciones como php5-mysql y php5-extensions, todas estas instalaciones quedarán descritas en esta sección

7.1.- Instalando PHP5

cd /usr/ports/lang/php5

make install clean

Dar Soporte PHP a Apache13

Al realizar make install clean me aparecerá una pantalla azul, en la cual se deberá agregar algunas opciones imprescindibles como apache y cgi (esta generalmente viene por defecto

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 62: Manual General de Servidores

P á g i n a | 62

##Este paso de comprobación de php se puede omitir, o realizar una vez instaladas las otras aplicaciones como php5-extensions y php5-mysql#############

> Para probar php5 agregamos una página hecha en php en el directorio

/usr/local/www/data (para este caso debería agregarse en la jaula que se está instalando)

Dentro del directorio data agregamos una página pruebaphp.php

> Ingresamos a la página por ejemplo: 10.100.6.204/pruebaphp.php

Para verificar que los módulos de PHP4 se encuentren instalados hay que dirigirse a

vi /usr/local/etc/apache/httpd.conf

En este archivo deberán aparecer

LoadModule php5_module libexec/apache/libphp5.so

Y mas abajo aparecerá

AddModule mod_php5.c

Luego se reinicia apache (apachectl restart) y al ingresar a la ip del servidor deberá aparecer la página de PHP PHP Version 5.

7.2.- Instalando PHP5-Extensions

cd /usr/ports/lang/php5-extensions

make config

Acá aparecerán una serie de opciones que solo algunas se deberán marcar además de dejar las que aparecen por default, las opciones a marcar son las siguientes (estas aparecerán en una pantalla azul)

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 63: Manual General de Servidores

P á g i n a | 63

select type, curl, dom, gd, imap, mbstring, mcrypyt, mysql, mysqli, pcre, posix, session, simplexml, xml, xmlreader, xmlwriter, zlib

make install

make clean

cd /usr/local/etc

cp php.ini-recommended php.ini

7.3.- Instalando PHP5-mysql

Acá se da el soporte de mysql en PHP, se produce la conexión entre ambas aplicaciones, para ver si tengo instalado php5-mysql realizo el siguiente comando

pkg_info|grep php|grep mysql

Si el commando arroja algún resultado quiere decir que la aplicación está instalada, en caso contrario (de no arrojar nada) hay que instalarla.

cd /usr/ports/database/php5-mysql

make

make install

make clean

Observación: Es probable que no inicie php5 por lo que hay que meterse al archivo

vi /usr/local/etc/apache/httpd.conf y cambiar todos lod php4 por php5

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 64: Manual General de Servidores

P á g i n a | 64

2.2.8.- Instalando webmin

8.1.- Webmin se encuentra en

cd /usr/ports/sysutils/webmin

make install clean

8.2.- Una vez instalado se agrega al archivo

vi /etc/rc.conf

Se agrega webmin_enable=”YES”

8.3.- Para ejecutarlo se debe ir a la siguiente ruta

cd /usr/local/lib/webmin

se ejecuta de la siguiente forma

./setup.sh

2.2.9.- Instalar Diablo.

Con la nueva lista de puertos, nos damos cuenta que dentro de /usr/ports/java, existen diferentes directorios relacionados con diablo, claro que ahora, con la versión 1.5, la mas actualizada hasta el momento.

Entramos a /usr/ports/java/diablo-jdk15/

Si ejecutamos make y/o make install, nos entregará un error de la no existencia

de un archivo, el cual debe ser descargado.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 65: Manual General de Servidores

P á g i n a | 65

9.1.- Descarga de Diablo

Descargar diablo-caffe-freebsd6-i386-1.5.0_07-b01.tar.bz2 y copiarlo dentro de la carpeta /usr/ports/distfiles (en caso que se este descargando de un sitio que haya que mandar un “submit” o “aceptar”, esto se puede hacer a través de interfaz grafica de links luego, ir a /usr/ports/java/diablo-jdk15/

Se realiza los siguientes comandos en el mismo orden que aparece:

make

lmake install

No nos debería presentar mayores problemas, por lo cual tendríamos java instalado.

comprobar, ejecutar:

#java -version

Debería entregarnos la versión que se encuentra instalada, en nuestro caso, 1.5

2.2.10.-Instalación de Postgresql 8.1

Nos dirigimos al puerto que se encuentra posrgresql 8.1 de la siguiente forma:

cd /usr/ports/databases/postgresql-81-server

Si ejecutamos make puede que nos lance un error sobre setear variables Kerberos.

Ejecutamos:

#make config

Marcamos toda la configuración de Server a excepción de Kerberos, la cual a su

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 66: Manual General de Servidores

P á g i n a | 66

vez, no es aplicación de Server. Confirmamos con OK

ahora si ejecutamos:

#make install

Durante la instalación puede que nos pregunte por un paquete, simplemente

confirmar con OK.

Finalmente ejecutamos:

#make clean

Añadimos postgresql para que se cargue al inicio en el archivo /etc/rc.conf

#echo 'postgresql_enable=”YES”' >> /etc/rc.conf

para verificar dicha línea, ejecutar:

#cat /etc/rc.conf

donde posrgresql_enable= “YES” debería estar al final.

10.1.- Creando initdb

Debemos crear initdb que nos servirá para crear una nueva “database cluster”, que no es más que una colección de base de datos que serán manejadas por una única instancia del servidor.

ejecutamos:

# mkdir /usr/local/pgsql/data

# chown pgsql:pgsql /usr/local/pgsql/data

3.

Si todo sale bien ya podemos hacer uso del programa initdb de la siguiente

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 67: Manual General de Servidores

P á g i n a | 67

forma:

# su -l pgsql -c "initdb -D /usr/local/pgsql/data -W -A md5"

Salida del comando anterior (en español):

Los archivos de este cluster serán de propiedad del usuario «pgsql».

Este usuario también debe ser quien ejecute el proceso servidor.

corrigiendo permisos en el directorio existente /usr/local/pgsql/data ... hecho

creando directorio /usr/local/pgsql/data/global ... hecho

creando directorio /usr/local/pgsql/data/pg_xlog ... hecho

creando directorio /usr/local/pgsql/data/pg_xlog/archive_status ... hecho

creando directorio /usr/local/pgsql/data/pg_clog ... hecho

creando directorio /usr/local/pgsql/data/pg_subtrans ... hecho

creando directorio /usr/local/pgsql/data/pg_twophase ... hecho

creando directorio /usr/local/pgsql/data/pg_multixact/members ... hecho

creando directorio /usr/local/pgsql/data/pg_multixact/offsets ... hecho

creando directorio /usr/local/pgsql/data/base ... hecho

creando directorio /usr/local/pgsql/data/base/1 ... hecho

creando directorio /usr/local/pgsql/data/pg_tblspc ... hecho

seleccionando el valor para max_connections ... 40

seleccionando el valor para shared_buffers ... 1000

creando archivos de configuración ... hecho

creando base de datos template1 en /usr/local/pgsql/data/base/1 ... hecho

inicializando pg_authid ... hecho

Ingrese la nueva contraseña del superusuario:

Ingrésela nuevamente:

estableciendo contraseña ... hecho

habilitando tamaño de registro ilimitado para tablas de sistema ... hecho

inicializando dependencias ... hecho

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 68: Manual General de Servidores

P á g i n a | 68

creando las vistas de sistema ... hecho

cargando pg_description ... hecho

creando conversiones ... hecho

estableciendo privilegios en objetos predefinidos ... hecho

creando el esquema de información ... hecho

haciendo vacuum a la base de datos template1 ... hecho

copiando template1 a template0 ... hecho

copiando template1 a postgres ... hecho

Completado. Puede iniciar el servidor de bases de datos usando:

postmaster -D /usr/local/pgsql/data

o pg_ctl -

D

/

usr/local/pgsql/data -

l

archivo_de_registro start

Clave superusuario: escotilla

2.2.11.- Instalando Samba 3.0.21a y Creando Quotas de Usuarios.

11.1.- Para instalar samba

cd /usr/ports/net/samba3

make

make install

11.2.- en /etc/rc.conf agrego samba_enable=”YES”

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 69: Manual General de Servidores

P á g i n a | 69

11.3.- Para agregar las máquinas que se conectarán al servidor se puede hacer por webmin o por ssh, en el ejemplo a continuación se mostrará como se hace por webmin

Agregando maquinas

Sistemas / nuevo usuario

Nombre del usuario: LAB02PC26$

Nombre real: LAB02PC26

Shell: /usr/sbin/nologin

Grupo primario: samba

11.4.- En SSH

Acá creo la password con los cuales los pc se conectarán al servidor (samba)

El comando para poner la password es:

Smbpasswd root

New SMB: prueba

Confirmar passwd: prueba

11.5.- En W2K

Se agregan las máquinas al dominio en Windows, para que sean reconocidas en samba. Te vas a:

a.- Mi PC / propiedades / nombre de equipo (pestaña) / cambiar (botón)

b.- Desactivar “grupo de trabajo” y Activar “dominio”.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 70: Manual General de Servidores

P á g i n a | 70

c.- Poner nombre al dominio ej: LABDECOM

d.- Aparecerá

login:

passwd:

login:root

contraseña: prueba

e.- Aún no tenemos los usuarios creados por lo que en caso de haber un gran número de usuarios resultaría agotador llenar todos los datos de usuarios, por lo que se hace es cargar un archivo txt en webmin. Donde se carga este archivo es Sistema / usuarios y grupos / crear y modificar usuarios desde archivos por lotes/

El archivo que se carga mantiene esta estructura, se puede hacer de forma automática con funciones de excel

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 71: Manual General de Servidores

P á g i n a | 71

create:aalvarez:620037:5005:1000:"Alejandro Alvarez":/home/2007/aalvarez:/usr/local/bin/bash:default::

create:aamaya:986679:5006:1000:"Amanda Amaya":/home/2007/aamaya :/usr/local/bin/bash:default::

create:acordova:505258:5020:1000:"Angelo Cordova":/home/2007/acordova:/usr/local/bin/bash:default::

create:agardell:328955:5031:1000:"Angelo Gardella":/home/2007/agardell:/usr/local/bin/bash:default::

create:ahernand:135485:5039:1000:"Alexis Hernandez":/home/2007/ahernand:/usr/local/bin/bash:default::

create:amaturan:599493:5053:1000:"Alex Maturana":/home/2007/amaturan:/usr/local/bin/bash:default::

Una vez cargado el archivo aparecerá los siguiente:

Creado usuario aalvarez

Creado usuario aamaya

Creado usuario acordova

Creado usuario agardell

Creado usuario ahernand

En caso de existir duplicaciones webmin mostrará cual es el usuario que esta duplicado

De esta forma tengo todos los usuarios creados solo falta agregarlos a samba. Para agregarlos a samba se puede hacer por ssh. Utilizando el siguiente comando se agregará los usuarios a samba, esto quiere decir que cuando cada persona se conecte con su PC (que ya esta registrada la máquina) se estará logeando al servidor.

11.6.- Creación de quotas

1º Se debe añadir en el archivo de configuración del Kernel: options QUOTA

Esta opción se agrega en

cd /usr/src/sys/i386/conf

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 72: Manual General de Servidores

P á g i n a | 72

vi ALUMNOS //En este archive agregamos la “options QUOTA”

En el caso de nuestro servidor el Kernel se respaldo estando dentro del directorio cd /usr/src/sys/i386/conf de la siguiente forma

cp GENERIC GENERIC.resp

Esto se realiza en caso de cualquier problema tenga el kernel. En nuestro caso en específico se renombro el kernel GENERIC por ALUMNOS, se realizó de la siguiente forma

mv GENERIC ALUMNOS

2º En:

vi /etc/rc.conf

enable_quotas=”YES”

check_quotas=”YES”

3º Una vez realizadas estas modificaciones se compila el Kernel

Dentro del directorio usr/src/sys/i386/conf Se pone /usr/sbin/config ALUMNOS

cd ../compile/ALUMNOS

#make depend //compilando el kernel

#make

#make install //Instalando el nuevo kernel ALUMNOS

4º Asignar quotas a particiones /etc/fstab

En este caso (alumnos) se debe asignar las quotas a sus discos virtuales (conectados a través de samba) y as vez asignar quotas al correo. En este caso las quotas de los alumnos quedaron en el directorio Home y las de correo en var

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 73: Manual General de Servidores

P á g i n a | 73

Para las quotas del home se asignan 50 MB

Para las quotas del var se asignan 15 MB

En el caso para el Home quedaría de la siguiente forma

/dev/da0sld /home ufs rw, userquota

En el caso para el var quedaría de la siguiente forma

/dev/da0sld /var ufs rw, userquota

5º Luego asigno por ssh el tamaño de ambas quotas (samba y correo) al usuario:

quota –u mferrand

/home: kbytes in use: 6482, limits (soft = 50001, hard = 50001)

inodes in use: 246, limits (soft = 0, hard = 0)

/var: kbytes in use: 154, limits (soft = 15000, hard = 150000)

inodes in use: 1, limits (soft = 0, hard = 0)

6.- Por ssh y webmin se pueden copiar quotas de un usuario a un grupo determinado, en este caso se copió por webmin a todo el grupo alm el cual contiene a los usuarios que se quiere copiar la quota.

Sistemas/Cuotas de disco

En editar cuotas de usurita se agrega el usuario que replicará su cuota al resto del grupo

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 74: Manual General de Servidores

P á g i n a | 74

Luego se elige la opción copiar cuotas

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 75: Manual General de Servidores

P á g i n a | 75

2.2.12.- Configuración de UPS – OPTIMUS.

cd /usr/ports/syutils/apcupsd

make install clean

Agregar en el archive rc.conf

apcupsd_enable="YES"

Luego en el siguiente archivo se debe de configurar

vi /usr/local/etc/apcupsd/apcupsd.conf

//Se configura

UPSCable “número cable” 940-0024c

UPStype APSSmart //modelo

DEVICE

Luego se ejecuta:

/usr/local/etc/rv .d/apcupsd start

/usr/local/sbin/apcaccess status

Luego de configurar la UPS aparece el siguiente error:

Manual General: Servicios, Aplicaciones & Servidores DECOM.

FATAL ERROR in apcaccess.c at line 252

Tcp_open: cannot connect to server local host on port 3551

ERR-Connection refused

Page 76: Manual General de Servidores

P á g i n a | 76

El error se produjo por el cable, se cambio el cable

Luego dirigirse a

/usr/local/etc/apcupsd

Se copia el directorio cgi completo a /usr/local/www/cgi-bin

Luego editar el archivo hosts.conf que se encuentra en /usr/local/etc/apcupsd

En este archivo agrego la ip del servidor en este caso 192.168.1.10 y agrego el nombre “alumnos”.

En esta ruta /usr/local/www/cgi-bin/cgi cambiar los permisos a todos los archivos

Chmod 777

IMPORTANTE: Reiniciar

/usr/local/etc/rv .d/apcupsd restart luego comenzar con el servicio /usr/local/etc/rv .d/apcupsd start

2.2.13.- Crear Usuarios.

13.1.- Primero se crea el grupo

[root@optimus ~]# pw groupadd decom

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 77: Manual General de Servidores

P á g i n a | 77

Se visualiza con

[root@optimus ~]# cat /etc/group

13.2.- Agregar usuarios

[root@optimus ~]# adduser –v

Para borrar un usuario

rmuser nombredelusuario

IMPORTANTE: Para que los usuarios creados puedan utilizar su para poder cambiar a root , los usuarios al ser creados deben ser agregados al grupo wheel

2.2.14.- Configurando SSH en Jaulas de Tesistas.

Para que los usuarios puedan entrar por ssh a sus jaulas se pasa primero por el servidor de alumnos, y luego se salta a la jaula correspondiente, esto se realiza de la siguiente forma.

En el servidor de alumnos, se crea un script, esto se realiza en el directorio root:

vi /root/dramirez

#!/bin/sh

ssh [email protected]

El usuario dramirez que se encuentra creado en el servidor de alumnos pasa a su jaula que se encuentra con la ip 192.168.20.8.

Este script se encuentra en /root y tiene como permiso 755

Luego en el servidor de alumnos se modifica el master.passwd sin antes haberlo respaldado, se ejecuta vipw y se cambia la forma de ingresar

Se tenía

azamora:$1$Xu3Rd/fQ$0P2ADbu2/RUN19/CYkKtA0:1377:1000::0:0:Amador Zamora Nunez:/home/2005/azamora:/usr/local/bin/bash

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 78: Manual General de Servidores

P á g i n a | 78

Se cambia a

azamora:$1$Xu3Rd/fQ$0P2ADbu2/RUN19/CYkKtA0:1377:1000::0:0:Amador Zamora Nunez:/home/2005/azamora:/root/azamora-ssh

2.2.15.- Cambiar Zona Horaria.

Es importante verificar la zona horaria de la jaula, ya que nos encontramos con aplicaciones que trabajan con la hora. Para realizar esto se debe realizar lo siguiente

Dirigirse hasta

amp3#cd /usr/share/zoneinfo/America

Luego copiar el archivo Santiago que aparece dentro del directorio America.

amp3#cp Santiago /etc/localtime

Luego se verifica que la hora este correcta con el comando date

amp3# date

Wed Jun 11 14:56:46 CLT 2008

Para cambiar la hora a través de comandos se realiza lo siguiente

amp3# date añomesdiahoraminutos

ejemplo

amp3# date 0808211000

Esto equivaldría a 21/08/2008 10 rct

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 79: Manual General de Servidores

P á g i n a | 79

2.2.16.- Instalando Bind9 para DNS (Externo).

Primero se instala el bind9

jail2# cd /usr/ports/dns/bind9

jail2#make

jail2#make install

En el /etc/namedb/named.conf de scox aparecen las siguientes líneas que deben ser copiadas en el nuevo scox (Ultraman)en named.conf para poder realizar el DNS Externo

>> En /etc/namedb/named.conf

zone "decom-uv.cl"{

type master;

file "/etc/namedb/master/decom-uv.cl";

};

--------------------------------------------------------------------------------

Luego en el directorio /etc/namedb/master creo el archivo decom-uv.cl y agrego las siguientes líneas:

En /etc/namedb/master

$ttl 38400

decom-uv.cl. IN SOA behemoth.decom-uv.cl. root.localhost. (

1071154044

10800

3600

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 80: Manual General de Servidores

P á g i n a | 80

604800

38400 )

decom-uv.cl. IN NS scox.decom-uv.cl.

www.decom-uv.cl. IN A 200.14.68.2

scox.decom-uv.cl. IN A 200.14.68.2

decom-uv.cl. IN MX 10 200.14.68.3

alumnos.decom-uv.cl. IN A 200.14.68.3

alumnos.decom-uv.cl. IN MX 10 alumnos.decom-uv.cl.

siga.decom-uv.cl. IN A 200.14.68.107

director.decom-uv.cl. IN A 200.14.68.107

asterisk1.decom-uv.cl. IN A 10.100.6.166

>> Agregando ip donde va a escuchar el DNS (En este caso es la de la jaula)

En el archivo /etc/namedb/named.conf debo agregar la ip donde va a escuchar el DNS, en el caso de la jaula que se está configurando será la 10.100.6.181 Esto sería en:

jail2# vi /etc/namedb/named.conf

>>Debería aparecer algo así:

// If named is being used only as a local resolver, this is a safe default.

// For named to be accessible to the network, comment this option, specify

// the proper IP address, or delete this option.

listen-on { 127.0.0.1;10.100.6.170 };

>> Agregar linear rc.conf

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 81: Manual General de Servidores

P á g i n a | 81

Agregar en el /etc/rc.conf de la jaula

named_enable=”YES”

>>Partiendo el named (DNS)

jail3# /etc/rc.d/named start

>>Comprobando su configuración

Cambiar el DNS que se tiene actualmente ya sea en Win o Linux y poner el DNS perteneciente a la jaula donde se configuró el DNS, y comprobar si hay navegabilidad

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 82: Manual General de Servidores

P á g i n a | 82

2.3.- Cacti, Implementación & Configuración.

2.3.1.- Introducción.

Cacti es una completa solución de graficado en red, diseñada para aprovechar el poder de almacenamiento y la funcionalidad de graficar que poseen las RRDtool. Esta herramienta, desarrollada en PHP, provee un pooler ágil, plantillas de gráficos avanzadas, múltiples métodos para la recopilación de datos, y manejo de usuarios. Tiene una interfaz de usuario fácil de usar, que resulta conveniente para instalaciones del tamaño de una LAN, así como también para redes complejas con cientos de dispositivos.

Cacti utiliza el protocolo SNMP. El protocolo Simple Network Management Protocol (SNMP) permite gestionar redes TCP/IP.

Es un protocolo de la capa de aplicación que facilita el intercambio de información de administración entre dispositivos de red. Es parte de la familia de protocolos TCP/IP. SNMP permite a los administradores supervisar el desempeño de la red, buscar y resolver sus problemas, y planear su crecimiento.

Para la instalación de Cacti se debe tener algunas aplicaciones ya funcionando, aunque en algunos casos Cacti instala dichas aplicaciones, estas son apache, php 5, mysql50, a su vez se puede

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 83: Manual General de Servidores

P á g i n a | 83

complementar estas aplicaciones con la instalación de Webmin, que nos mostrará el servidor con una interfaz web.

Suponiendo que se desea instalar manualmente apache, php y MySQL, aquí se agregará la forma de ser instalado

2.3.2.- Instalación apache 13 .

amp# cd /usr/ports/www/apache13

amp#make

amp#make install

Como es sabido se agrega apache_enable=”YES” al archive /etc/rc.conf, de la siguiente forma

amp# vi /etcrc.conf

Una vez instalado se ejecuta apache

amp#apachectl start

En caso de estar dentro de una jaula, es probable que este comando no sea reconocido por el shell que se utiliza, así que debe ponerse el shell tcsh para que reconozca este comando

amp#tcsh

amp#apachectl start

2.3.3.- Instalación php-5 .

amp# cd /usr/ports/lang/php5

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 84: Manual General de Servidores

P á g i n a | 84

amp# make install clean

Luego se deben agregar líneas al archivo httpd.conf de la siguiente forma

amp#vi /usr/local/etc/apache/httpd.conf

En este archivo deberán aparecer o se deberán agregar las siguientes líneas.

Estas líneas deben agregarse en su respectivo luegar, es decir, donde se encuentran los módulos.

LoadModule php5_module libexec/apache/libphp5.so

AddModule mod_php5.c

Una vez agregada estas líneas se reinicia apache

amp#apachectl restart

Para que PHP de soporte a MySQL se deben instalar php5-extensions y php5-mysql

2.3.3.1.- Instalación php5-extensions .

amp#cd /usr/ports/lang/php5-extensions

amp# make config

Acá aparecerán una serie de opciones que solo algunas se deberán marcar además de dejar las que aparecen por default, las opciones a marcar son las siguientes (estas aparecerán en una pantalla azul)

select type, curl, dom, gd, imap, mbstring, mcrypyt, mysql, mysqli, pcre, posix, session, simplexml, xml, xmlreader, xmlwriter, zlib

A continuación se comienza con la instalación.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 85: Manual General de Servidores

P á g i n a | 85

amp# make install clean

Luego se debe copiar el siguiente archivo en la ruta que aparece a continuación

amp# cd /usr/local/etc

amp#cp php.ini-recommended php.ini

Acá se da el soporte de mysql en PHP, se produce la conexión entre ambas aplicaciones, para ver si tengo instalado php5-mysql realizo el siguiente comando pkg_info|grep php|grep mysql Si el commando arroja algún resultado quiere decir que la aplicación está instalada, en caso contrario (de no arrojar nada) hay que instalarla.

Esto debería arrojar el comando pkg_info|grep php|grep mysql

test# pkg_info|grep php|grep mysql

php5-mysql-5.2.6_1 The mysql shared extension for php

php5-mysqli-5.2.6_1 The mysqli shared extension for php

2.3.3.2.- Instalación php5-mysql .

amp#cd /usr/ports/database/php5-mysql

amp# make

amp# make install

Observación: Es probable que no inicie php5 por lo que hay que meterse al archivo.

vi /usr/local/etc/apache/httpd.conf y cambiar todos los php4 por php5

2.3.4.- Instalando MySQL.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 86: Manual General de Servidores

P á g i n a | 86

Importante: Si se stá trabajando dentro de una jaula, es probable que no acepte algunos commandos dentro del shell que se está trabajando, por lo que hay que utilizar tcsh

amp# cd /usr/ports/databases/mysql50-server

amp# make install clean

amp# mysql_install_db

Para iniciar mysql se realiza el siguiente comando /usr/local/etc/rc.d/mysql-server start

amp# chown -R mysql:mysql /var/db/mysql

amp#mysqld_safe --user=mysql&

amp# /usr/local/bin/mysqladmin -u root password "newpasswd"

Luego se agrega al archivo /etc/rc.conf mysql_enable=”YES”

2.3.4.1- Creando BD Cacti.

>>Para crear la B.D de Cacti Se realizan los siguientes pasos

mysqladmin –user=root create cacti //crea la base de datos

Implementamos la base de datos por medio del archivo cacti.sql ubicado en /usr/local/share/cacti por medio del comando

mysql cacti < cacti.sql

shell> mysql –user = root mysql

mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY ‘pasword’;

mysql> flush privileges;

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 87: Manual General de Servidores

P á g i n a | 87

Para administrar la base de Dato de Cacti vía web, se utiliza Webmin, si bien esta aplicación no es importante en el funcionamiento de Cacti, facilita y agiliza el trabajo con B.D A continuación se mostrará la instalación de webmin

2.3.5.- Instalando Webmin.

Observación: durante la instalación preguntará si se utilizará SSL Secure Sockets Layer, a lo que hay que ACEPTAR

Proporciona sus servicios de seguridad cifrando los datos intercambiados entre el servidor y el cliente con un algoritmo de cifrado simétrico, típicamente el RC4 o IDEA, y cifrando la clave de sesión de RC4 o IDEA mediante un algoritmo de cifrado de clave pública, típicamente el RSA. La clave de sesión es la que se utiliza para cifrar los datos que vienen del y van al servidor seguro. Se genera una clave de sesión distinta para cada transacción, lo cual permite que aunque sea reventada por un atacante en una transacción dada, no sirva para descifrar futuras transacciones. MD5 se usa como algoritmo de hash.

amp#cd /usr/ports/sysutils/webmin

amp#make install clean

amp#vi /etc/rc.conf

Se agrega webmin_enable=”YES” en el archivo /etc/rc.conf

Para ejecutar webmin, se debe ingresar a la siguiente ruta

amp#cd /usr/local/lib/webmin

se ejecuta el script de la siguiente forma

amp#./setup.sh

Para ingresar a la web de webmin, se hace como lo señalará el ejemplo:

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 88: Manual General de Servidores

P á g i n a | 88

https://192.168.40.52:10000

10000: Es el puerto que utiliza webmin y es “seteado” a la hora de la instalación, en caso que no pregunte por este puerto lo dejará por default

2.3.5.1- Creando BD Cacti con Webmin.

Para ingresar a webmin

1.- Se entra a webmin

Nombre de usuario: admin.

Contraseña:

2.- Se dirige al menú principal Servidores

Creando la B.D Cacti

3.- Pinchar el icono Motor de Base de Datos MySQL

4.- Pinchar Crear una nueva base de datos

5.- En Nombre de base de datos poner cacti, luego crear, se ha creado la B.D cacti

6.- Pinchar sobre la B.D creada, cacti

7.- Una vez dentro de la B.D, pinchar el boton ejecutar SQL

8.- Ir a la pestaña Run SQL from file

9.- Dejar la opción Desde archivo local

10.- Buscar cacti.sql, esto se encuentra en /usr/local/share/cacti/cacti.sql, pinchar ejecutar, pinchar regresar a la lista de Base de Datos

Creando usuario

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 89: Manual General de Servidores

P á g i n a | 89

11.- Crear usuario cacti y darle todos los permisos, esto en Permisos de usuario/Crear nuevo usuario

Creando permisos de B.D Cacti

12.- Crear los permisos de B.D Cacti, ir a Permisos de Base de Datos

13.- Pinchar en Crear nuevos permisos de base de datos

14.- Donde aparece Base de Datos seleccionar la B.D cacti

15.- En Nombre de usuario poner el nombre de usuario creado, en este caso, cacti

16.- En Máquinas, dejar la opción Desde permisos de máquina

17.- En Permisos, Seleccionar todos los permisos

2.3.5.2- Parámetros en BD usando BD Cacti con Webmin.

Para confirmar/modificar o agregar los parámetros de la BD Cacto creada en Webmin se debe hacer lo siguiente:

amp#vi /usr/local/www/data/cacti/include/config.php

Ejemplo :

/* make sure these values refect your actual database/host/user/password */

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "cacti";

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 90: Manual General de Servidores

P á g i n a | 90

$database_password = "cacti";

$database_port = "3306";

/* Default session name - Session name must contain alpha characters */

#$cacti_session_name = "Cacti";

2.3.6.- Instalando Cacti.

amp# cd /usr/ports/net-mgmt/cacti

amp# make install clean

Luego se copia el directorio cacti a /usr/local/www/data

amp#cp –R /usr/local/share/cacti /usr/local/www/data/

Para visualizar cacti se debe ir a la ip de su máquina, luego al directorio cacti, por ejemplo:

http://192.168.40.51/cacti

2.3.7.- Posibles Problemas en Visualización de Cacti.

Uno de los posibles problemas que se pueden presentar a la hora de ver la página de cacti, es la ruta que se pueda poner en el browser, por ejemplo al poner la siguiente ruta: http://192.168.40.51/cacti es probable que no se visualice la web de cacti, pero al poner un / al final de la url, como aparece en el ejemplo http://192.168.40.51/cacti/ se pueda visualizar sin problemas.

Si bien no es un problema “grave” es un problema que se genera a algún usuario medio que desconoce que pueden ocurrir este tipo de situaciones, considere por ejemplo una página de un

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 91: Manual General de Servidores

P á g i n a | 91

banco o de un departamento en especial que hay que poner /, obviamente induce a error en un gran porcentaje de usuarios.

Este problema se soluciona descomentando algunas líneas del archivo httpd.conf, se realizaría de la siguiente forma:

amp#cd vi /usr/local/etc/apache/httpd.conf

Luego se descomentan estas líneas que aparecerán obviamente comentadas en el archivo httpd.conf, una vez descomentadas estas líneas se reinicia apache.

<Directory /home/*/public_html>

AllowOverride FileInfo AuthConfig Limit

Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

<Limit GET POST OPTIONS PROPFIND>

Order allow,deny

Allow from all

</Limit>

<LimitExcept GET POST OPTIONS PROPFIND>

Order deny,allow

Deny from all

</LimitExcept>

</Directory>

>>Reiniciando Apache

amp#tcshYou have mail.

amp#apachectl restart

2.3.8.- Configuración de Cacti.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 92: Manual General de Servidores

P á g i n a | 92

Una vez solucionado el problema de vizualización de la web cacti, se realiza la instalación via web. Esta instalación es básica, ya que se realiza de la misma forma que un wordpress o un blog.

A continuación se muestra la primera pantalla que nos encontramos una vez instalado cacti vía web (como wordpress o blog)

Se debe poner lo siguiente para entrar a la configuración

User Name: admin

Password: admin.

Luego nos pedirá cambiar la contraseña y confirmarla.

2.4.- Big Brother.

Este documento tiene como propósito explicar la instalación y configuración un servidor para monitoreo de servicios utilizando Big Brother en FreeBSD 6.2

Al contar con varios servidores y servicios en funcionamiento tales como correo, web, ssh, dns, bases de datos, etc. la labor de monitoreo se hace trascendental para garantizar el correcto funcionamiento de éstos, Big Brother es una herramienta que puede presentar a través de una página web el estado de varios servicios y procesos. Los cuales podemos definir y configurar para que en caso de alguna falla nos envíe un reporte de alerta por correo electrónico.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 93: Manual General de Servidores

P á g i n a | 93

2.4.1.- Requerimientos.

Apache 1.3 o superior.

Primero tenemos que tener instalado el servidor web Apache, si no lo tenemos, lo podemos realizar desde el sistema de ports:

# cd /usr/ports/www/apache13 && make install clean

# apachectl start

Con esto ya tenemos operativo nuestro servicio web.

2.4.2.- Instalación de Big Brother.

Antes de instalar el paquete es necesario crear un grupo y un usuario llamado bbuser. Luego descargamos el paquete desde http://www.bb4.org/download.html en un directorio temporal en este caso el archivo bb-1.9i.tar.gz.

#pw groupadd nuevoGrupo

#pw useradd nuevoUsuario -c "Algun comentario" -m -d /home/nuevoUsuario -s /usr/local/bin/bash -g nuevoGrupo

1.- Descomprimir el archivo bb-1.9e.tar.gz

# tar xvzf bb-1.9i.tar.gz

2.- mover el archivo tar a /usr/local

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 94: Manual General de Servidores

P á g i n a | 94

# mv BBSVR-bb1.9i-btf.tar /usr/local

3.- Ingresar al Directorio para descomprimirlo

# cd /usr/local

# tar xvf BBSVR-bb1.9i-btf.tar

4.- Creamos un vínculo para una gestión más simple

# ln -s /usr/local/bb1.9e-btf bb

5.- Ingresamos al directorio de instalación

# cd /usr/local/bb/install

6.- Ejecutar el script de instalación, especificando que vamos a instalar en un sistema freebsd

# ./bbconfig freebsd

Despues de ejecutar el script lo que sigue es una serie de preguntas para la instalación

Aceptamos los términos de licencia no comercial

Acept licence : y

Ingresamos en usuario que necesita bb para ejecutar

user of the big Brother run: bbuser

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 95: Manual General de Servidores

P á g i n a | 95

Elegiremos yes para poder trabajar con nombres de dominio

use FQDN : yes

Preguntará quién va ser quien pulicará la información en este caso localhost

waht host be the bbdisplay : localhost

Preguntará quien va ser el host de envío de mensajes de alertas igualmente elegiremos el localhost

what host be the BBPAGER : localhost

Vuelve a preguntar quién es el BBDISPLAY

is this host BBDISPLAY = y

Igualmente con el BBPAGER

is this host BBPAGER : y

Preguntará por el correo electrónico al cual enviará los mensajes, aceptaremos por defecto el usuario root.

email adrres notifications : root@localhost

Ingresaremos la dirección url donde se publicará

entrel base url for bb : ://localhost/bb

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 96: Manual General de Servidores

P á g i n a | 96

Le daremos la ruta donde está ubicada la carpeta cgi

enter cgi-bin directory : /usr/local/www/cgi-bin

Ahora ingresaremos la url donde están ubicados los cgi-bin

enter base url cgi-bin : ://localhost/cgi-bin/

Preguntará por el usuario y grupo que está usando el servidor web.

enter web server user : nobody enter group name : nobody

Ahora tendremos que compilar el big brother para que quede en el sistema de la siguiente forma:

# cd /usr/local/bb1.9i-btf/src

# gmake

# make install

Ahora haremos propietario al usuario bbuser de las capetas donde tenemos el big brother.

# chown -R bbuser /usr/local/bbvar /usr/local/bb1.9i-btf

(*)Nota: Para este ejemplo tendremos 2 servidores uno web y otro de correo que vamos a configurar para monitorear

2.4.3.- Configuración.

Si todo salió bien hasta ahora entonces ya tenemos todo instalado en el sistema. Ahora vamos a configurar los siguientes archivos ubicados en:

/usr/local/bb/etc.

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 97: Manual General de Servidores

P á g i n a | 97

Archivos de configuración.

bb-hosts : Donde configuraremos los servidores y servicios a monitorear. bbwarnsetup.cfg : configuración de parámetros del envío de alertas. bbwarnrules.cfg : archivo de onfiguración de reglas de alertas.

Archivo bb-hosts

# vi /usr/local/bb/etc/bb-hosts

#group SERVICIOS PUBLICOS

10.0.0.5 mail.midominio.com # pop3 smtp

10.0.0.6 www.midominio.com # http://www.midominio.com ftp

Archivo bbwarnsetup.cfg

# vi /usr/local/bb/etc/bbwarnsetup.cfg

#codigos de error para cada servicio monitoreado

svcerrlist: disk:100 cpu:200 procs:300 msgs:400 conn:500 http:600 memory:605 https:610

dns:800 ERR:999

#email al que sera enviado el mensaje de alerta pagemaster: @localhost

#grupo de envio de alertas

pg-admins: root@localhost

Archivo bbwarnrules.cfg

# vi /usr/local/bb/etc/bbwarnrules.cfg

#Enter your rules here

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 98: Manual General de Servidores

P á g i n a | 98

#ALERTAS GENERALES

*;;conn;;*;*;pg-admins:~0-50

#ALERTAS POR SERVIDOR

mail.midominio.com;;pop3 smtp;; 1-5;0000-0800 1900-2359;pg-admins:~0-30

www.midominio.com;;ftp http;;1-5;0000-0800 1900-2359;pg-admins:~0-30

Puesta en marcha 7600 7

Ahora lo único que queda es configurar nuestro servidor web para que permita ver las páginas html que genera Big Brother,de la siguiente forma :

# cd /usr/local/www/data

# ln -s /usr/local/bb/www bb

Ahora Iniciamos el servicio ingresando como usuario bbuser

# su – bbuser

$ /usr/local/bb/runbb.sh start

Ahora ingresamos a:

http://localhost/bb/ para ver en marcha el monitoreo de servicios

Monitorear un servicio en particular

Se puede dar el caso que necesitamos monitorear un servicio en especial que corre en el puerto

41524 udp para ello haremos lo siguiente:

Ingresamos en nuevo servicio en al archivo services.

# vi /etc/services

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 99: Manual General de Servidores

P á g i n a | 99

miservicio 41524/udp

Ahora definimos el nuevo servicio dentro de bbdef-server.sh :

# vi /usr/local/bb/etc/bbdef-server.sh

Incluiremos nuestro servicio en la siguiente linea, de la siguiente forma :

BBNETSVCS="smtp telnet ftp pop pop3 pop-3 ssh imap ssh1 ssh2 imap2 imap3 imap4 pop2

pop-2 nntp miservicio"

2.4.4.- Conclusión.

Esta herramienta es muy versátil y se puede monitorear no sólo servicios si no ambién estados del disco duro, procesador, memoria integrándolo con MRTG. Espero que este documento cumpla

su objetivo y aportar a la comunidad bsdera,ante cualquier duda,corrección o comentario enviarlo a mi correo.

Fuentes de Información

Big Brother : http://www.bb4.org/

Mrtg and Big Brother integration : http://www.pleiades.com/mrtgbb/

El demonio : http://www.eldemonio.org/documentos/26060513274.html

Manual General: Servicios, Aplicaciones & Servidores DECOM.

Page 100: Manual General de Servidores

P á g i n a | 100

2.5.- Uso de SSH con Certificado.

Para crear los certificados se debe entrar con la cuenta de usuario que se va a crear el certificado.

Esto puede realizarse también en jaulas donde en una de ellas están exclusivamente todos los usuarios.

Observación:

En el caso de las jaulas, en el archivo /etc/ssh/sshd_config de la máquina se debe mantener el puerto de los usuarios que acceden desde el exterior y desde el ssh_config de la jaula cambiar el puerto para los usuarios, en este caso la máquina tiene el puerto 22 y la jaula el 2222.

2.5.1.- Generación de Claves.

ssh-keygen –t rsa

Generará las llaves públicas y privadas, pedirá contraseña y la confirmación de esta.

Luego se entra al directorio para ver que estén generadas las llaves públicas y privadas

En este caso el usuario es mferrand.

Estando dentro de la jaula se accede al directorio del usuario

cd /home/mferrand/.ssh

Desde este directorio se podrán listar las claves publicas y privadas, estas son:

id_rsa

id_rsa.pub

Luego se debe crear el archivo authorized_keys con el mismo contenido que id_rsa.pub, eso se realiza de la siguiente forma

cat id_rsa.pub >> authorized_keys

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 101: Manual General de Servidores

P á g i n a | 101

Luego se comprueba que ambos archivos tengan el mismo peso.

Una vez verificado lo anterior, y chequear que se tiene los tres archivos en la cuenta id_rsa, id_rsa.pub, authorized_keys, para este ejemplo los archivos deberán encontrarse en /home/mferrand/.ssh se copian los archivos al equipo desde donde se conectará por ssh, una vez copiado estos archivos solo faltaría un archivo con la extensión .ppk.

2.5.2.- Software puttygen-x86.

Para generar este archivo se utiliza un software llamado puttygen-x86.

Este software en su parte superior tiene un menú con 4 pestañas, File, Key, Conversions y Help, se debe dirigir a Conversions, se escoge la opción Import Key, y se carga el archivo id_rsa, luego se presiona el botón Save Private Key, ya realizado esto, se revisa en el mismo directorio (PC que se conectara por ssh al servidor) y se encontrará el archivo .ppk que en este ejemplo fue denominada como mferrand.ppk

2.5.3.- Configuración SSH.

Para este caso en particular donde se realiza el ssh con certificado, fue realizado en una jaula, por lo que se modifica el ssh de la jaula, el archivo a modificar es /etc/ssh/sshd_config.

Las líneas que se deben descomentar son las siguientes:

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_key

La siguiente línea se debe modificar, esta línea aparece como

#UsePAM yes

Se debe descomentar y dejar de la siguiente forma:

UsePAM no

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 102: Manual General de Servidores

P á g i n a | 102

Luego se reinicia el ssh, /etc/rc.d/sshd restart, y se entra con el usuario que se creo el certificado, cabe señalar que para cada usuario se deben realizar todos estos pasos señalados

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 103: Manual General de Servidores

P á g i n a | 103

2.6.- Perdida de Key.

En caso de pérdida de llaves, de debe ingresar a la máquina y modificar el sshd_config para poder ser ingresado por ssh de manera normal. De esta forma ingresar como root e ingresar la password de forma normal. Cabe señalar que para este ejemplo el ingreso desde el interior de la red, es por el puerto 2222.

2.6.1.- Descomentar y Comentar en el Archivo sshd_config.

Descomentar

PermitRootLogin yes

Comentar

#RSAAuthentication yes

#PubkeyAuthentication yes

#AuthorizedKeysFile .ssh/authorized_keys

Descomentar y poner yes en vez de no

PasswordAuthentication yes

Cambiar no por yes (aparece por defecto no)

UsePAM yes

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 104: Manual General de Servidores

P á g i n a | 104

2.7.- ScpOnly.

Uno de los mayores problemas, para los administradores de red esta en dar acceso limitado a los usuarios de forma segura, esto no siempre es posible, por que por un lado se puede dar acceso con ftp pero debido a que esta conexión no es encriptada y susceptible a ser interceptada, por otro lado esta ssh, pero el gran problema es que como sistema puro no entrega limitaciones a los usuarios y con el acceso a consola las posibilidades de cambiar al sistema son altas.

Para dar solución a esto se utiliza la shell scponly y mas específicamente scponlyc o sea una shell que bloquea las capacidades de acceso a consola y al mismo tiempo enjaula al usuario de tal manera que queda totalmente restringido al acceso entregado por el administrador.

2.7.1.- Requisitos.

Los requisitos son, primero tener instalado FreeBSD o Linux con acceso a Internet, para nuestro caso todo el proceso que se describe es para FreeBSD específicamente en la versión 6.2. recordar que debe estar los ports actualizados y deben seguir los siguientes pasos:

2.7.2.- Instalar Openssh-Portable.

Instalar Openssh-Portable, esto es necesario debido a que la versión que viene con FreeBSD preinstalada no tiene compatibilidad con chroot necesario para el uso de las jaulas, para eso se realiza

# cd /usr/ports/security/openssh-portable/

# make install clean

El menú siguiente debe quedar con las siguientes selecciones:

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 105: Manual General de Servidores

P á g i n a | 105

Con estas opciones el sh ya se encuentra en condiciones, para permitir chroot, por intermedio de ssh, posteriormente se debe configurar como cualquier otro ssh (Capitulo de otro tutorial), lo que se se debe reemplazar del archivo /etc/rc.conf lo siguiente

La linea sshd_enable=”YES”

Reemplazarla por openssh_enable=”YES”

Los archivos de configuración del openssh se encuentran en /usr/local/etc/ssh

Y para levantar ssh es similar a lo que ya conocido para este caso es:

# /usr/local/etc/rc.d/openssh start

Con esto ya se tiene el ssh listo.

2.7.3.- Instalar ScpOnly.

Instalar scponly esta shell se instala desde

# /usr/ports/shells/scponly/

Make install

Y debe ser configurada de la siguiente forma

Con esto ya se tienen las herramientas necesarias para la utilización de usuarios limitados.

2.7.4.- Crear Nuevo Usuario.

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 106: Manual General de Servidores

P á g i n a | 106

Paso 3: Crear un nuevo usuario, para crear este usuario no se debe utilizar el comando adduser, sino que debe ser utilizado el script que es instalado en conjunto con scponly, este se encuentra en

# cd /usr/local/share/examples/scponly/

# sh setup_chroot.sh

Se deben seguir unos pasos simples que permiten crear el usuario con su jaula, la gran ventaja de este usuario es que su jaula es totalmente reducida y son obviados todo los elementos no necesarios.

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 107: Manual General de Servidores

P á g i n a | 107

2.8.- Configuración Servidor DHCP.

2.8.1.- Introducción .

Los servidores DHCP, por sus siglas en inglés Direct Host Configuration Protocol. La función de un servidor DHCP es la de asignar nombres, direcciones IP, las ubicaciones de los servidores de nombres en la red y de la ruta de comunicación hacia el exterior mientras lleva un registro de las operaciones de asignación realizadas para cada equipo, lo que nos permite la comodidad de conectar solamente el equipo a la red para que este configurado y pueda comunicarse.

2.8.2.- Compilación del Kernel.

Para realizar lo requerido es necesario añadir algunas opciones al kernel, lo cual nos permitirá proveer ciertos servicios útiles. Por lo tanto, se debe modificar el kernel original, lo primero es copiar el código fuente que viene por defecto, para esto se debe realizar lo siguiente:

# cd /usr/src/sys/i386/conf/

# cp GENERIC WIRELESS

Posterior a esto editamos WIRELESS con el comando vi y agregamos las líneas como se describe a continuación:

Editamos con:

# vi WIRELESS

Y se agrega lo siguiente:

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 108: Manual General de Servidores

P á g i n a | 108

options IPFIREWALL activa firewall ipfw

options IPDIVERT permite NAT con ipfw

options IPFIREWALL_VERBOSE nos permite loguear el trafico con ipfwd, esto es para todas las reglas que lleven la palabra "log".

options IPFIREWALL_VERBOSE_LIMIT IPFIREWALL_VERBOSE_LIMIT=# nos permite establecer el limite de logs por regla de firewall, en syslogd.

options IPFIREWALL_DEFAULT_TO_ACCEPT

Por regla general, se permite todo.

options DUMMYNET permite realizar adminstracion de ancho de banda

device apic I/O APIC

device miibus aunque es alternativo permite dar mayor soporte a las tarjetas de red

Esc :wq!

Con esto ya estamos listos para compilar el nuevo kernel, paras esto es necesario realizar los siguientes pasos:

# /usr/sbin/config WIRELESS

# cd ../compile/WIRELESS

# make depend

# make

# make install

Con esto ya se encuentra instalado el Nuevo Kernel del sistema operativo solo basta con reiniciar el servidor.

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 109: Manual General de Servidores

P á g i n a | 109

2.8.3.- Instalación .

La ruta para la instalación de un servidor DHCP es la siguiente:

depredador# cd /usr/ports/net/isc-dhcp3-server

depredador# make install clean

Obs: Al realizar make aparecen unas opciones marcadas por defecto

2.8.4.- Configuración de Archivo dhcpd.conf.example

Se configura el archivo dhcpd.conf.example que se encuentra en la siguiente ruta

/usr/local/etc/dhcpd.conf.example

En el archivo se agregan las siguientes líneas que están marcadas en negro donde cada línea representa lo siguiente

Se ponen las siguientes líneas

# option definitions common to all supported networks...

option domain-name "www.decom-uv.cl"; (1)

option domain-name-servers 10.100.6.173, 10.50.1.16; (2)

default-lease-time 600; (3)

max-lease-time 7200; (4)

# If this DHCP server is the official DHCP server for the local

# network, the authoritative directive should be uncommented.

#authoritative;

# ad-hoc DNS update scheme - set to "none" to disable dynamic DNS updates.

ddns-update-style none; (5)

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 110: Manual General de Servidores

P á g i n a | 110

# Use this to send dhcp log messages to a different log file (you also

# have to hack syslog.conf to complete the redirection).

log-facility local7;

/usr/local/etc/dhcpd.conf: unmodified, readonly: line 1

# No service will be given on this subnet, but declaring it helps the

# DHCP server to understand the network topology.

subnet 10.57.187.0 netmask 255.255.255.0 {

}

# This is a very basic subnet declaration.

subnet 192.168.0.0 netmask 255.255.255.0 { (6)

range 192.168.0.2 192.168.0.240; (7)

option routers 192.168.0.1; (8)

}

# This declaration allows BOOTP clients to get dynamic addresses,

# which we don't really recommend.

33435

subnet 10.254.239.32 netmask 255.255.255.224 {

range dynamic-bootp 10.254.239.40 10.254.239.60;

option broadcast-address 10.254.239.31;

option routers rtr-239-32-1.example.org;

}

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 111: Manual General de Servidores

P á g i n a | 111

Las líneas representan lo siguiente:

(1): Se coloca el dominio, en este caso es www.decom-uv.cl

(2): Se agregan los DNS en este caso 10.100.6.173, 10.50.1.16

(3): default-lease-time, el tiempo concedido en segundos a los hosts para retener la configuración proporcionada por el servidor.

(4): max-lease-time, el tiempo máximo concedido en segundos a los hosts para retener la configuración proporcionada por el servidor.

(5): ddns-update-style, el modo de interacción con los servidores de nombres declarados, en este caso no se permite la actualización en forma automática de los nombres de hosts asignados dinámicamente.

(6): Dirección de red y sub-red

(7): se agrega el rango de ip´s las cuales serán asignadas a los usuarios. Este rango pertenece a un pool de direcciones inválidas. Por ejemplo la red pública o ip´s válidas, pertenecen a la red 10.100.6.0 para el ejemplo de la configuración del servidor DHCP, las direcciones de la red interna (ip´s inválidas) 192.168.0.0, por esto el rango queda de la siguiente forma range 192.168.0.2 192.168.0.240

(8): Default gateway o puerta de enlace perteneciente a la red interna, en este caso es la red 192.168.0.0, donde es el servidor tiene una interface que conecta a esta red privada, en este ejemplo la interfaz es la vr0 y tiene la ip 192.168.0.1, por lo que esta dirección será la puerta de enlace (Default-Gateway) de la red privada, es decir, la red 192.168.0.0.

Queda escrito en el archivo dhcpd.conf de la siguiente forma option routers 192.168.0.1;

2.8.4.- Configuración de Archivo rc.conf

Antes de echar arrancar el demonio se debe agregar en el archivo rc.conf que se encuentra en la ruta /etc/rc.conf

dhcpd_enable="YES"

gateway_enable="YES"

firewall_enable="YES"

firewall_type="OPEN"

natd_enable="YES"

natd_interface="rl0" # Esta es la interfaz externa

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 112: Manual General de Servidores

P á g i n a | 112

natd_flags="" ##En este ejemplo natd_flags no tiene parámetros dentro de las comillas, ya que este archivo se utiliza para direccionar distintos servicios a direcciones ip específicas##

named_enable="YES"

2.8.4.- Arrancando el Demonio.

mirage# /usr/local/etc/rc.d/isc-dhcpd start

Starting dhcpd.

Internet Systems Consortium DHCP Server V3.0.5rc2

Copyright 2004-2006 Internet Systems Consortium.

All rights reserved.

For info, please visit http://www.isc.org/sw/dhcp/

Wrote 0 deleted host decls to leases file.

Wrote 0 new dynamic host decls to leases file.

Wrote 1 leases to leases file.

Listening on BPF/vr0/00:05:5d:8c:ff:09/192.168.0/24

Sending on BPF/vr0/00:05:5d:8c:ff:09/192.168.0/24

No subnet declaration for rl0 (10.100.6.154).

** Ignoring requests on rl0. If this is not what

you want, please write a subnet declaration

in your dhcpd.conf file for the network segment

to which interface rl0 is attached. **

Sending on Socket/fallback/fallback-net

mirage#

Lo que aparece al arrancar el demonio no genera ni un problema en la configuración del servidor DHCP

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 113: Manual General de Servidores

P á g i n a | 113

2.8.5.- Esquema Utilizado.

Figura 1:

Esquema utilizado para prueba Servidor DHCP

2.8.6.- Configuración Servidor NAT.

Para esto utilizamos el demonio Natd que trabaja con la opción IPDivert en conjunto con IPFIREWALL, ambos ya se encuentran instalados al realizar la recompilación del KERNEL o estarán disponibles cuando se realice la recompilación.

(a) firewall_enable="YES"

(b) firewall_type="OPEN"

(c) natd_enable="YES"

(d) natd_interface="fxp0"

(e) natd_flags="-f /etc/natd.conf"

Con estas líneas lo que estamos indicando es:

a. Se habilita el demonio del ipfirewall

b. Indicamos que su configuración es del tipo OPEN

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 114: Manual General de Servidores

P á g i n a | 114

c. Se inicia el demonio natd

d. Se indica que el demonio está en la interfase fxp0 siendo esta interfaz la externa o mejor dicho la red pública, y se habilitan todas las configuraciones especiales en el archivo /etc/natd.conf.

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 115: Manual General de Servidores

P á g i n a | 115

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 116: Manual General de Servidores

P á g i n a | 116

2.9.- Awstats.

Awstats, abreviatura de Advanced Web Statistics, es una poderosa y completa herramienta que genera estadísticas gráficas avanzadas para sitios web a partir de los logs de Apache. Toda esta información Awstats la transforma en estadísticas y la mejor forma de ver como quedan y tener estadísticas de nuestro servidor web es comprobarlo instalando Awstats en nuestra máquina.

2.9.1.- Instalación Awstats.

Para realizar la instalación lo primero que se debe hacer es ir hasta los ports:

# cd /usr/ports/www/awstats# make

# make install

Después nos dirigimos al archivo de configuración y hacemos una copia con el nombre de nuestro servidor:

# cd /usr/local/www/awstats/cgi-bin/# cp awstats.model.conf awstats.conf

OBS: Para este caso se usa alumnos como nombre del servidor

2.9.2.- Configuración Awstats.

Procedemos a editar el archivo de cdonfiguración que acabamos de crear, con las opciones que más no interesen, yo suelo editar las siguientes lineas:

# vi awstats.conf

Las líneas que se encuentran a continuación están a lo largo de todo este archivo (no van juntas) para ahorra espacio y no poner el archivo se escribirán todas juntas

LogFile=”var/log/httpd-access.log”

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 117: Manual General de Servidores

P á g i n a | 117

Este archivo se saca de la ruta

cd /var/log

ls –las //aparecerá este archivo httpd-access.log

Este archivo registra el ingreso de cada visita que se realiza a la página

.

.

.

SiteDomain=”localhost”

.

.

DNSLokup=2 //Este parámetro por default viene como 1

.

.

DirIcons=”/awstatsicons”

.

.

SkipeDNSLookupfFor="192.168.20.1" //Este parámetro viene vacio por lo que hay que poner su DNS solo aparecerá SkipeDBSLookupfFor=” “

Una vez terminada la configuración del archivo se renombra, en mi caso era awstats.alumnos.conf lo renombre a awstats.conf

Luego se actualiza la B.D es conveniente agregarlo al crontab para no actualizarla a cada momento

perl awstats.pl -config=localhost -update //agregarla al cron

2.9.3.- Configuración en Apache13.

Para que se vea la página web se debe agregar las líneas al apache

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 118: Manual General de Servidores

P á g i n a | 118

cd /usr/local/etc/apache

ls –las //deberá aparecer el archivo httpd.conf

Se edita httpd.conf

vi httpd.conf

Al final de este archivo se agregan las siguientes líneas:

#Directives to allow use of A WStats as a CGI

#

Alias /awstatsclasses “/usr/local/www/awstats/classes/”

Alias /awstatscss “/usr/local/www/awstats/css/”

Alias /awstatsicons “/usr/local/www/awstats/icons/”

ScriptAlias /awstats/ “/usr/local/www/awstats/cgi-bin/”

#

#This is to permit URL access to scripts/files in AWStats directory

#

<Directory “/usr/local/www/awstats/”>

Options None

AllowOverride None

Order allow,deny

Allow from all

</Directory>

2.9.4.- Crontab.

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 119: Manual General de Servidores

P á g i n a | 119

Una de las necesidades es mantener actualizada toda la información que muestra awstats la línea perl awstats.pl -config=localhost –update, sólo permite indexar una actualización a los registros, lo cual causa una serie de problemas, dado que el administrador no puede estar, día a día actualizando los ingresos, para existe crontab o tareas programadas de uníx, para lograr programar la tarea sólo basta con ingresar a crontab por medio de

crontab –e

Luego se debe agregar

MAILTO=""

*/30 * * * * /usr/bin/perl /usr/local/www/awstats/cgi-bin/awstats.pl -config=loc

alhost -update >>/dev/null

uno de los mayores problemas de crontab se encuentra en que todos los resultados de los procesos solicitados se envían a sendmail del usuario, lo cual provoca que la memoria se sature, por lo tanto es necesario agregar en la cabecera del archivo crontab la línea MAILTO=”” que permita no enviar ningún tipo de mensaje, además como medida particular se le indica al comando que todo resultado sea dirigido a /dev/null.

2.9.5.- Ejecutar Awstats.

Ejecutar awstats

topicos# cd /usr/local/www/awstats/tools/

topicos# perl awstats_buildstaticpages.pl

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 120: Manual General de Servidores

P á g i n a | 120

2.10. - ¿Cómo Contar y graficar paquetes usando MRTG?

2.10.1.- Introducción.

Se desea establecer y administrar un conteo de paquetes y hacerlo en graficas detalladas de todo el trafico de nuestros gateways y ruteadores.

2.10.2.- Requerimientos.

Uno o mas Gateways y/o Ruteadores a Monitorear

Instalar el Port de MRTG (se encuentra en /usr/ports/net)

Instalar el Port de NET-SNMPD (Se encuentra en /usr/ports/net) Instalar el Apache (se encuentra en /usr/ports/www)

2.10.3.- Configuracion.

Una vez Instalados los ports de MRTG, NET-SNMPD y APACHE comenzaremos a configurar.

2.10.4.- Configuracion de SNMPD.

Primero que todo debemos CREAR los archivos snmpd.conf y snmp.conf en el directorio /

usr/local/share/snmp/

Para esto hay dos maneras de hacerlo, una es la forma manual y otra es con la utileria de configuracion snmpconf , cualquiera que deseen usar esta bien lo importante es que los archivos finales contengan lo siguiente :

Archivo snmp.conf:

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 121: Manual General de Servidores

P á g i n a | 121

defaultport 161 # el cual es el puerto en el cual escuchara nuestro SNMP

defversion 1 #version por default del servicio defcommunity comunidad #nombre de la comunidad que debera ser igual en todos los routers

Archivo snmpd.conf

rwcommunity comunidad # le establece persimos de lectura y escritura a la "comunidad"

Nota: si se crean los archivos con el snmpconf los creara en el directorio actual en donde esta el usuario , deben de moverlos a/usr/local/share/snmp para que tome la configuracion indicada.

Se debe de agregar la siguiente linea al archivo /etc/rc.conf para que al arrancar la maquina prenda el servicio de forma automatica:

net_snmpd_enable="YES"

Para arrancar en forma manual:

# /usr/local/etc/rc.d/snmpd.sh start

2.10.5.- Configuración de MRTG.

Se debe crear un directorio en el cual estaran nuestras graficas creadas por el MRTG por ejemplo :

# mkdir /usr/local/graficas

Luego se debe de copiar el contenido de /usr/local/share/mrtg hacia /usr/local/graficas con:

# cp /usr/local/share/mrtg/* /usr/local/graficas

Nos metemos al directorio /usr/local/graficas ya que vamos a ejecutar el generador de configuraciones con el siguiente comando:

# /usr/local/bin/cfgmaker --global "WorkDir: /usr/local/

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 122: Manual General de Servidores

P á g i n a | 122

graficas" [email protected]. 5 > mrtg.config

Con lo anterior le estamos diciendo que utilice el directorio de trabajo /usr/local/graficas, que monitoree la comunidad del router con direccion192.168.0.5 y que toda la configuracion la pase al archivo mrtg.config

una vez ejecutado el comando se deberia de haber creado el archivo de configuracion en el directorio actual que es en /usr/local/graficas

Procedemos a ejecutar el MRTG con el siguiente comando :

# /usr/local/bin/mrtg mrtg.config

Lo anterior se debe de ejecutar 3 veces para que NO genere ningun error. Una vez configurado esto añadimos a nuestro cron la siguiente Instruccion :

Primero hacemos crontab -e y añadimos :

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/local/bin/

mrtg /usr/local/graficas/mrtg.config

lo cual ejecutara cada 5 minutos el monitoreo de paquetes. Se debe de añadir al archivo /etc/rc.conf la siguiente linea:

cron_enable="YES"

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 123: Manual General de Servidores

P á g i n a | 123

2.10.6.- Configuración de Apache.

Una vez instalado el apache procedemos a configurar el archivo /usr/local/etc/apache/ httpd.conf. Se debe de rutear para que apunte hacia el directorio /usr/local/graficas modificando la siguiente linea :

DocumentRoot "/usr/local/graficas"

Una vez hecho esto prendemos nuestro servicio de apache:

# /usr/local/etc/rc.d/apache.sh start

2.10.7.- Configuración del Archivo Índice (index.html).

Nuestros archivos de graficas por default tienen nombres largos dificiles de recordad para los usuarios por eso ejecutaremos una utileria que nos convierta los nombres a index.html

Entramos al directorio /usr/local/graficas y ejecutamos:

# /usr/local/bin/indexmaker mrtg.config > index.html

Con esto logramos que nuestra pagina web con la informacion de los paquetes sea accesible mas facilmente.

2.10.8.- Conclusiones.

Como buenos administradores de redes siempre es indispensable la auditoria y el conteo de paquetes que viajan en nuestra red, con este tutorial se monitorea y se publica en WEB todo el trafico de nuestro Ruteador.

2.11.- Implementación de Bridge + Firewall.

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 124: Manual General de Servidores

P á g i n a | 124

Para la implementación FW Bridge y Firewall en FreeBSD se debe compilar el Kernel

# cd /usr/src/sys/i386/conf/

# cp GENERIC OPTIMUS

Observación: En caso de no aparecer el directorio src, se debe instalar el kernel, esto se realiza de la siguiente forma.

#sysinstall

Aparecerá un menú se escogen las siguientes opciones Configure/Distribution/kernel/all y se descarga del ftp (obviamente después de cada opción irá apareciendo un menú en el cual se debe y marcando las opciones que se explicaron e ir presionando Enter (ok)

Posterior a esto editamos OPTIMUS con el comando vi y agregamos las líneas como se describe a continuación:

Editamos con:

# vi MIKERNEL

Y se agrega lo siguiente

options BRIDGE # linea alternativa

options IPFIREWALL # Activa firewall ipfw

options IPFIREWALL_VERBOSE

options IPFIREWALL_VERBOSE_LIMIT

options IPFIREWALL_DEFAULT_TO_ACCEPT

options DUMMYNET #permite realizar adminstracion de ancho de banda

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 125: Manual General de Servidores

P á g i n a | 125

Una vez agregada estas líneas sólo basta con guardar el archivo con los cambios esto depende del editor si se utilizó vi para esto se debe seguir la secuencia de

Esc :wq!

2.11.1.- Compilación del Kernel.

Ahora se debe compilar el Kernel, para esto se realizan los siguientes pasos:

# /usr/sbin/config OPTIMUS

# cd ../compile/OPTIMUS

# make depend

# make

# make install

Con esto ya se encuentra instalado el Nuevo Kernel (OPTIMUS) del sistema operativo solo basta con reiniciar el servidor.

2.11.2.- Configuración del Bridge.

Para configurar el bridge es necesario editar el archivo /etc/sysctl.conf y agregar las siguientes líneas.

net.link.ether.bridge.enable=1

net.link.ether.bridge.config=em0,em1

net.link.ether.bridge.ipfw=1

En este archivo se indica desde que interfaces se realizara el bridge siendo la primera de ellas la que cuenta con ip configurada. Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 126: Manual General de Servidores

P á g i n a | 126

Configuración del archivo etc/rc.conf para Firewall + Bridge

firewall_enable="YES"

firewall_type="OPTIMUS"

firewall_quiet="YES"

------------------------------------- Probando Reglas ------------------------------------------------------------

Para PC`s normales

allow tcp from 10.100.6.180 to any setup keep-state

allow udp from 10.100.6.180 to any keep state

Para Servidores

allow ip from 10.100.6.204 to any

allow ip from any to 10.100.6.204 dist-port 22, 25, 80, 443, 53

2.11.3.- Comandos Necesarios.

Se agrega una regla de Firewall:

Ipfw add 700 allow icmp from any to any

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 127: Manual General de Servidores

P á g i n a | 127

Borra las reglas 500-510-520

Ipfw delete 500 510 520

Muestra las reglas de Firewall:

Ipfw sh

Se ejecuta un Firewall, en este caso El firewall OPEN:

sh /etc/rc.firewall OPEN

Editar un nuevo Firewall:

vi /etc/rc.firewall

Muestras los firewall del sistema:

sysctl –a | grep bridge

Borra todas las reglas de Firewall menos las que trae por defecto:

ipfw –f flush

Muestra lo que está pasando en La interfaz:

tcpdump –i em0

2.12.- IPFW + Dummynet (UCV TV).

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 128: Manual General de Servidores

P á g i n a | 128

2.12.1.- Re-Compilación y Configuración del Kernel.

Primero debemos crear una copiar del kernel para dejar intacto el original:

Por ejemplo si tener una arquitectura i386 debemos hacer lo siguiente:

# cd /usr/src/sys/i386/conf #mkdir /root/kernels #cp GENERIC /root/kernels/KERNELUCV # ln -s /root/kernels/ KERNELUCV

Desde ahora, todos los cambios que se hagan al kernel serán en el archivo KERNELUCV. Luego, ya que el firewall no está por defecto en el kernel, necesitamos habilitarlo con las siguientes líneas al final de la primera sección de options:(Podemos abrir KERNELUCV y los demás archivos que veremos en este documento con algún editor como vi o ee de la siguiente manera: ee KERNELUCV)

options IPFIREWALLoptions IPFIREWALL_VERBOSEoptions IPFIREWALL_VERBOSE_LIMIT=100options IPFIREWALL_DEFAULT_TO_ACCEPT

Para poder tener NAT se debe agregar los siguientes:

options IPDIVERT

Para poder tener el administrador de ancho de banda debemos agregar Dummynet

options DUMMYNET

Luego para las vlan´s, en la sección #PCI Ethernet nic´s de nuestro kernel, debemos agregar:

device miibus

device vlan

Ahora estamos listos para re-compilar el kernel con las siguientes líneas:

#config KERNELUCV# cd ../compile/KERNELUCV # make depend && make && make install

después, luego de que termine de compilar, debemos reiniciar el servidor escribiendo reboot o init 0

2.12.2.- Configuracion archivo /etc/hosts

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 129: Manual General de Servidores

P á g i n a | 129

Agregar al inicio (después de 127.0.0.1 del archivo) la ip externa y el nombre por ejemplo:

192.168.0.110 ucv.server.dom ucv #Ip Externa192.168.0.110 ucv.server.dom #Ip Externa

2.12.3.- Configuración Archivo /etc/host.conf

Este archivo debe tener lo siguiente:

Hosts#dnsbind

2.12.4.- Configuración Archivo /etc/resolv.conf

Este debe contener lo siguiente:

nameserver <DNS>

2.12.5.- Modificación Archivo /etc/sysctl.conf

net.inet.ip.check_interface=1net.inet.tcp.blackhole=2 net.inet.udp.blackhole=1

Los archivos creados o modificados hasta ahora, no deben volver a ser modificados a menos que cambie el dns o la ip externa lo cual solo debe modificar /etc/resolv.conf y /etc/hosts.

2.12.6.- Modificación y Configuración archivo /etc/rc.conf

gateway_enable=”YES”defaultrouter=”192.168.0.1”hostname=”ucv.server.dom”

kern_securelevel_enable=”YES”kern_securelevel=”0”

# Configuración Segmentación con Switch D-Link Común#Si se desea agregar una nueva subred, solo se debe seguir la estructura descrita a #continuación, Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 130: Manual General de Servidores

P á g i n a | 130

por ejemplo si queremos agregar una subred nueva debemos agregar al final #de esta sección lo siguiente: #ifconfig_TARGETAINTERNA_alias3=”inet 192.168.40.1 netmask 255.255.255.0”#siempre siguiendo la relación numérica en alias y en la dirección ip.

ifconfig_TARGETAEXTERNA=”inet 192.168.0.110 netmask 255.255.255.0”ifconfig_TARGETAINTERNA_alias0=”inet 192.168.10.1 netmask 255.255.255.0”ifconfig_TARGETAINTERNA_alias1=”inet 192.168.20.1 netmask 255.255.255.0”ifconfig_TARGETAINTERNA_alias2=”inet 192.168.30.1 netmask 255.255.255.0”

#Configuración Segmentación con Switch Administrable, Cisco o 3com#Si se desea agregar una nueva subred, se debe agregar una nueva interfaz a clone_interface y#agregar una nueva configuración para esta, por ejemplo podríamos agregar una nueva subred #perteneciente a técnica llamada vlan40, entonces debemos agregar esta a #clone_interface=”vlan10 vlan20 vlan30 vlan40” y además al final de la sección agregar# ifconfig_vlan40=”inet 192.168.40.1 netmask255.255.255.0 vlan 40 vlandev TARGETAINTERNA”#siempre manteniendo la relación numérica que corresponde para llevar un orden.clone_interface=”vlan10 vlan20 vlan30”ifconfig_TARGETAINTERNA=”up”ifconfig_vlan10=”inet 192.168.10.1 netmask255.255.255.0 vlan 10 vlandev TARGETAINTERNA”ifconfig_vlan20=”inet 192.168.20.1 netmask255.255.255.0 vlan 20 vlandev TARGETAINTERNA”ifconfig_vlan30=”inet 192.168.30.1 netmask255.255.255.0 vlan 30 vlandev TARGETAINTERNA”

#Configuración IPFWfirewall_enable=”YES”firewall_type=”open”natd_enable=”YES”natd_interface=” TARGETAEXTERNA”natd_frags=””

#Configuración extrakeymaps=”us.iso”Linux_enable=”YES”moused_enable=”YES”#sshd_enable=”YES”

#Seguridad para el firewallinetd_enable=”NO”portmap_enable=”NO”sendmail_enable=”NO”

2.12.7.- Configuración Archivo /etc/rc.firewall

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 131: Manual General de Servidores

P á g i n a | 131

#!/bin/sh

Ipfw –q –f flushcmd=”ipfw add”cmd2=”ipfw –q add”

#Macros interfaces de red física y virtuales#Al agregar una nueva subred, también se debe agregar lo siguiente: ifvlanN =”vlanN”, con el #orden numérico correspondiente.ext=”TARGETAEXTERNA”int=”TAREGTAINTERNA”#ifvlan10 =“vlan10”# ifvlan20 =“vlan20”# ifvlan30 =“vlan30”

#Macros vlan#En este ejemplo mostramos 3 vlan son su configuración respectiva, si se desea agregar una #nueva vlan, se debe mantener la misma estructura con el orden numérico adecuado#ejemplo: agregar una vlan o subred a técnica.###Declaración vlan ### Técnica vlan40 ####vlan_40=”192.168.40.0/24”#ipvlan_40=”192.168.40.0/24{10,11,13,…….}”

###Declaración vlan ### nombre vlan10 ###vlan_10=”192.168.10.0/24”ipvlan_10=”192.168.10.0/24{10,11,13,…….}”

###Declaración vlan ### nombre vlan 20 ###vlan_20=”192.168.20.0/24”ipvlan_20=”192.168.20.0/24{10,11,13,…….}”

###Declaración vlan ### nombre vlan 30 ###vlan_30=”192.168.30.0/24”ipvlan_30=”192.168.30.0/24{10,11,13,…….}”

#Bloqueo de vlanX a vlanY, X!=Y#Si agregamos una nueva vlan por ejemplo la 40, el bloqueo quedaría de la siguiente manera.#bvlan_10=”192.168.20.0/24,192.168.30.0/24, 192.168.40.0/24”#bvlan_20=”192.168.30.0/24, 192.168.40.0/24”# bvlan_30=”192.168.40.0/24”#esto nos permite que pc´s de distintas redes no se vean.bvlan_10=”192.168.20.0/24,192.168.30.0/24”bvlan_20=”192.168.30.0/24”

LAN_1=”$vlan_10,$vlan_20,$vlan_30”LAN_2=”$ipvlan_10, $ipvlan_20,$ipvlan_30”Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 132: Manual General de Servidores

P á g i n a | 132

#Pc con puertos habilitadospc_p2p=”192.168.10.13”

#Macros puertossec_port=”20-21,25,53,69,80,109-110,443,995”

#Macros paginaspag_bloq=”/etc/paginas_ipfw/paginas_bloqueadas”bloquear_paginas=”/etc/paginas_ipfw/sc_bloquear_paginas”

###Seguridad del Exterior###

#Se bloquea el ping desde fuera de la red$cmd deny icmp from any to me recv $ext

#Envio de un reset a todos los paquetes “ident”$cmd reset tcp from any to me 113 recv $ext

#Stop y log de ataques spoofing (suplantación de identidad)$cmd deny log ip from me to me recv $ext

#Stop y log de ataques ping echo$cmd deny icmp from any to me icmptype 0,8 recv $ext

###########Fin seguridad exterior##############

#Local host#$cmd allow all from any to any via lo0#$cmd allow all from ant to 127.0.0.0/8#$cmd allow all from 127.0.0.0/8 to any#$cmd allow all from any to any via localhost

#Bloquear ping de las redes internas al servidor o a cualquier sitio#Si se agrega una nueva vlan también se debe incluir en esta sección con sus parámetros #correspondientes#$cmd deny icmp from 192.168.10.0/24 to 192.168.10.0/24 recv $int icmptype 8#$cmd deny icmp from 192.168.20.0/24 to 192.168.20.0/24 recv $int icmptype 8#$cmd deny icmp from 192.168.30.0/24 to 192.168.30.0/24 recv $int icmptype 8

#Bloqueo de paginascd /etc/paginas_ipfw/#inicio script que genera las ip´s a bloquearsh $bloquear_paginas i=02000for línea in $(cat $pag_bloq)do $cmd2 $i deny tcp from $linea to any in via $ext i=`expr $i + 1`done

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 133: Manual General de Servidores

P á g i n a | 133

#Bloquo de puertos#Al agregar una neuva vlan también se debe agregar a esta sección para mantener la seguridad #de esta respecto a los puertos#$cmd deny all from $ipvlan_10 to any 669-65535 in#$cmd deny all from $ipvlan_20 to any 669-65535 in#$cmd deny all from $ipvlan_30 to any 669-65535 in

#Nat para todas las subredes$cmd divert natd all from any to any via $ext

#Dar conectividad a 2 pc´s de diferentes redes$cmd pipe 10 tcp from < IP_DE_LA_RED> to < OTRA_IP_DE_LA_RED > via $int keep-stateipfw pipe 10 config bw 50Mbit/s queue 100 delay 3ms#$cmd allow tcp from < IP_DE_LA_RED > to < OTRA_IP_DE_LA_RED > via $int

#Bloquear accesos a redes diferentes#Siempre que creemos una nueva vlan debemos agregarla a esta sección para bloquer el acceso #desde redes diferentes.$cmd deny all from $ipvlan_10 to $bvlan_10$cmd deny all from $ipvlan_20 to $bvlan_20$cmd deny all from $ipvlan_30 to $bvlan_30

####Seccion para restricción de ancho de banda#####Las que se muestras a continuación son las configuraciones que debe tener cada vlan para #poder administrar el ancho de banda que se le de.

####VLAN 10 #####Restricciones ancho de banda vlan 10$cmd pipe 1.1 all from any to $ipvlan_10 keep-stateipfw pipe 1.1 config bw 1024Kbits/s queue 50

####VLAN 20 #####Restricciones ancho de banda vlan 20$cmd pipe 2.1 all from any to $ipvlan_20 keep-stateipfw pipe 2.1 config bw 512Kbits/s queue 50

####VLAN 30 #####Restricciones ancho de banda vlan 30$cmd pipe 3.1 all from any to $ipvlan_30 keep-stateipfw pipe 3.1 config bw 256bits/s queue 50

$cmd deny all fron not $LAN_1 to any via $int

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 134: Manual General de Servidores

P á g i n a | 134

2.12.8.- Creación Script para Bloqueo de Páginas.

2.12.8.1.- Archivo /etc/paginas_ipfw/paginas_bloqueadas

Este es creado automáticamente y contiene las ip de sitios a bloquear.

2.12.8.2.- Archivo /etc/paginas_ipfw/sc_bloquear_paginas

#!/bin/sh

If test –f /etc/paginas_ipfw/paginas_bloqueadasthem rm /etc/paginas_ipfw/paginas_bloqueadasfi

Pag_bloq=”/etc/paginas_ipfw/sitios_bloq”

for línea in $(cat $pag_bloq)do sh sc_bloq_pag $lineadone

2.12.8.3.- Archivo /etc/paginas_ipfw/sc_bloq_pag

#!/bin/sh

file_1=”/etc/paginas_ipfw/bloq_1.out”file_2=”/etc/paginas_ipfw/bloq_2.out”file_tmp=”/etc/paginas_ipfw/tmp”file_final=”/etc/paginas_ipfw/paginas_bloqueadas”

#DIG busca las ip´s relacionadas con el dominio y las envía a un archivo1dig $1 > $file_1

#Leo el archivo1 y rescato la columna que posee las direcciones ip#mas basura y las envio a un archivo2cat $file_1 | awk ´{print $5}´ > $file_2

#Elimino el archivorm $file_1

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 135: Manual General de Servidores

P á g i n a | 135

#Leo el archivo y reconozco las direcciones ip validas y las envio a un archivo temporalegrep –o ´\b[0-9]{1,3}\.[0-9]{1,3}\. [0-9]{1,3}\. [0-9]{1,3}\b´ $file_2 > $file_tmp

#Elimino el archivo2rm $file_2

#Concateno el archivo temporal con un archivo final, para agregar #más direcciones ip de diferentes dominioscat $file_tmp >> $file_final

#elimino el archivo temporalrm $file_tmp

2.12.8.4.- Archivo /etc/paginas_ipfw/sitios_bloq

Este archivo debe contener solo dirección de paginas las cuales queremos bloquear.

Por ejemplo: www.canal13.clwww.facebook.comwww.youtube.com

Observación: Siempre antes de salvar lo cambios realizados en los archivos, debemos corroborar que los comandos escritos sean correctos, ya que si esto no es así, podríamos botar el servidor lo que puede llevar a la necesidad de reinstalarlo y perder las configuraciones realizadas.

Breve explicación sobre que contiene cada archivo y carpeta visto anteriormente.

2.12.9.- Estructura de directorios.

La jerarquía del sistema de ficheros de FreeBSD es fundamental para obtener una compresión completa del sistema.

El concepto más importante a entender es el del directorio raíz, “/”.

Este directorio es el primero en ser montado en el arranque y contiene el sistema básico necesario para preparar el sistema operativo para su funcionamiento en modo multiusuario.

El directorio raíz también contiene puntos de montaje para cualquier otro sistema de archivos que se pretenda montar.

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 136: Manual General de Servidores

P á g i n a | 136

Un punto de montaje es un directorio donde se pueden insertar sistemas de ficheros al sistema de archivos raíz.

Los puntos de montaje estándar incluyen /usr, /var, /tmp, /mnt y /cdrom.

Estos directorios suelen corresponderse con entradas en /etc/fstab. /etc/fstab es una tabla que sirve de referencia al sistema y contiene los diferentes sistemas de ficheros y sus respectivos puntos de montaje.

La mayoría de los sistemas de ficheros en /etc/fstab se montan automáticamente en el arranque gracias al “script”rc

Directorio Descripción

/ Directorio raíz del sistema de ficheros.

/bin/ Utilidades de usuario fundamentales tanto para el ambiente monousuario como para el multiusuario.

/boot/ Programas y ficheros de configuración utilizados durante el arranque del sistema operativo.

/boot/defaults/ Ficheros de configuración por defecto del arranque.

/dev/ Nodos de dispositivo.

/etc/ Archivos de configuración y “scripts” del sistema.

/etc/defaults/ Ficheros de configuración por defecto del sistema.

/etc/mail/ Ficheros de configuración para agentes de transporte de correo como sendmail.

/etc/namedb/ Ficheros de configuración de named.

/etc/periodic/ “Scripts” que se ejecutan diariamente, semanalmente y mensualmente mediante cron.

/mnt/ Directorio vacío utilizado de forma habitual por administradores de sistemas como punto de montaje temporal.

/proc/ Sistema de ficheros de procesos.

/rescue/ Programas enlazados estáticamente para restauraciones de emergencia.

/root/ Directorio local para la cuenta root.

/sbin/ Programas del sistema y utilidades fundamentales de administración para ambientes mono usuario multiusuario.

/stand/ Programas utilizados en un ambiente autocontenido.

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 137: Manual General de Servidores

P á g i n a | 137

/tmp/ Ficheros temporales. El contenido de /tmp NO suelen conservarse después de un reinicio del sistema.

/usr/ La mayoría de utilidades y aplicaciones de usuario.

/usr/bin/ Aplicaciones comunes, herramientas de programación y otras aplicaciones.

/usr/include/ Ficheros “include” estándar de C.

/usr/lib/ Bibliotecas.

/usr/libdata/ Ficheros de datos con diversas funciones.

/usr/libexec/ Dæmons del sistema y utilidades del sistema (ejecutado por otros programas).

/usr/local/ Ejecutables locales, bibliotecas, etc. también se usa como destino por defecto de la infraestructura de ports de FreeBSD.

/usr/ports La colección de Ports de FreeBSD (opcional).

/usr/sbin/ Dæmons del sistema y utilidades del sistema (ejecutados por usuarios del sistema).

/usr/share/ Ficheros independientes de arquitectura.

/usr/src/ Ficheros fuente BSD y/o local.

/var/ Ficheros multipropósito de log, temporales, en tránsito y de “spool”. En ocasiones se monta en /var un sistema de ficheros basado en memoria. Puede automatizarse el proceso mediante variables de varmfs en rc.conf (o con una entrada en /etc/fstab )

/var/mail/ Ficheros de buzones de correo de usuarios.

/var/log/ Diversos ficheros de log del sistema.

/var/spool/ Directorios diversos del sistema de “spool” de impresora y correo

/var/tmp/ Ficheros temporales. Estos ficheros suelen conservarse tras un reinicio del sistema, a menos que /var sea un sistema de ficheros basado en memoria.

2.12.10.- Editores de Texto.

Gran parte de la configuración de FreeBSD se realiza modificando archivos de texto.

Por esta razón le conviene familiarizarse con un editor de texto. FreeBSD viene con unos cuantos como parte del sistema base y encontrará muchos más en la colección de ports.

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 138: Manual General de Servidores

P á g i n a | 138

Uno de los editores más usados es el vi pero ya que este es un poco complicado de utilizar en este documento hemos usado ee. Para abrir un archivo solo basta con escribir en la línea de comandos ee seguido del nombre del archivo a abrir con su respectiva dirección de directorio y para guardas los cambios solo se aprieta escape y se elige la opción.

De Importancia.

Esto es lo que i386 significa. Tenga en cuenta que incluso si no está ejecutando FreeBSD en una CPU Intel 386, éste va a ser i386. No es el tipo de su procesador, sino la “arquitectura” la que se muestra aquí

Los “scripts” de inicio son programas que FreeBSD ejecuta automáticamente cuando arranca. Su función principal es preparar las cosas para que todo lo demás se ejecute, e iniciar cualquier servicio que tenga configurado para ejecutarse en segundo plano haciendo cosas útiles.

2.12.11.- Archivos de Importancia.

/etc/rc.conf Guarda la configuración de la máquina, ip, hostname, aplicaciones etc.

/etc/host.conf Dentro de este archivo se debe encontrar la opción Bind

/etc/host Debe tener la ip de la máquina y el dominio al cual pertenece

/etc/resolv guarda el dns de la máquina (nameserver)

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 139: Manual General de Servidores

P á g i n a | 139

2.13.- Jaulas.

Es necesario revisar los demonios que se encuentran escuchando cualquier dirección ip del sistema. Esto se realiza con el comando sockstat –l4 con lo que se obtiene el siguiente resultado

ultraman# sockstat -l4

USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS

root sendmail 727 4 tcp4 127.0.0.1:25 *:*

root sshd 721 4 tcp4 *:22 *:*

root syslogd 581 7 udp4 *:514 *:*

ultraman#

Acá se puede apreciar que los demonios sshd y syslog se encuentran escuchando en cualquier dirección IP (asterisco en el campo “LOCAL ADDRESS”), a diferencia de sendmail que lo hace en la dirección de loopbak

En el caso de sshd se debe modificar en el archivo /etc/ssh/sshd_config la línea referente a “#ListenAddress”

Esta por omisión viene comentada y sin una dirección específica. Se debe descomentar allí e ingresar allí la dirección IP del sistema base

2.13.1.- Construcción de una Jaula .

Ejecutando el comando sysinstall en la máquina en la ruta configure/disttribution/src es posible obtener las fuentes que quedarán almacenadas en /usr/src.

Esto generalmente tarda varios minutos (100 min app)

Se presentan a continuación todos los requerimientos para crear e instalar una jaula base que puede ser clonada posteriormente para obtener jaulas según se necesite.

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 140: Manual General de Servidores

P á g i n a | 140

Antes utilizar el shell cts..

setenv D /usr/jails/baseJail

cd /usr/src

mkdir –p ~D

make world DESTDIR=$D

cd etc

make distribution DESTDIR=$D

Con lo anterior se consigue poblar el directorio /usr/jails/baseJail con una estructura de archivo similar al sistema base, es decir, dentro de este directorio existen los directorios /bin, /etc y /var, entre otros.

2.13.2.- Instalando Ports en las Jaulas.

En la url ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/

Se pueden descargar los ports actualizados, estos ports se dejan en el directorio /root de la máquina y luego son descargados por las distintas jaulas, como es señalado en el punto 8

2.13.3.- Para la Clonación de Jaulas.

dharma# mkdir /usr/jails/newJails15

dharma# tcsh

You have mail.

dharma# cd /usr/jails/baseJail

dharma# tar -cpf - . | tar -C /usr/jails/newJails15 -xpf -

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 141: Manual General de Servidores

P á g i n a | 141

2.13.4.- Inicialización de una Jaula.

scox07# ifconfig rl0 inet alias 10.100.6.182

scox07# mount_devfs devfs /usr/jails/jail3/dev

scox07# cd /usr/jails/jail3

scox07# ln -sf dev/null kernel

>> Ejecutando el comando para iniciar la jaula

scox07# jail /usr/jails/jail3 jail3 10.100.6.182 /bin/sh etc/rc

Loading configuration files.

jail3

Setting hostname: jail3.

Generating nsswitch.conf.

Generating host.conf.

Creating and/or trimming log files:.

ln: /dev/log: Operation not permitted

Starting syslogd.

ELF ldconfig path: /lib /usr/lib /usr/lib/compat

a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout

Starting local daemons:.

Updating motd.

sendmail_submit: /etc/mail/aliases.db not present, generating

WARNING: local host name (jail3) is not qualified; see cf/README: WHO AM I?

/etc/mail/aliases: 27 aliases, longest 10 bytes, 275 bytes total

Starting cron.

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 142: Manual General de Servidores

P á g i n a | 142

Local package initialization:.

Tue Sep 25 10:44:07 UTC 2007

scox07#

>>Borrando una jaula

Editar archive rc.conf

Primero se saca del jail_list, luego se comenta o elimina todo lo relacionado con la jaula que se desea borrar, luego se aplican los siguientes comandos

# cd /usr/jails/my_new_jail # chflags -R noschg * # rm -rf

>> Estructura rc.conf

En rc.conf debe tener la siguiente estructura para que la jaula pueda partir

###################Primera Jaula ###################################

jail_enable="YES"

jail_list="jail1"

ifconfig_rl0_alias0="inet 10.100.6.171 netmask 255.255.255.0"

jail_jail1_rootdir="/usr/jails/Jail1"

jail_jail1_hostname="jail1"

jail_jail1_ip="10.100.6.171"

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 143: Manual General de Servidores

P á g i n a | 143

jail_jail1_exec_start="/bin/sh /etc/rc"

jail_jail1_devfs_enable="YES"

jail_jail1_fdescfs_enable="YES"

jail_jail1_procfs_enable="YES"

Observación: En este caso se tuvo que cambiar el nombre del directorio de la jaula, que actualmente aparece como Jail1 (en la cuarta línea) pero este directorio se llamaba NewJail, al llamarse de esta forma la jaula no iniciaba al reiniciar el servidor

Al crear la segunda jaula la configuración del rc.conf queda de la siguiente forma

###################Primera Jaula ###################################

jail_enable="YES"

jail_list="jail1 jail2"

ifconfig_rl0_alias0="inet 10.100.6.171 netmask 255.255.255.0"

jail_jail1_rootdir="/usr/jails/jail1"

jail_jail1_hostname="jail1"

jail_jail1_ip="10.100.6.171"

jail_jail1_exec_start="/bin/sh /etc/rc"

jail_jail1_devfs_enable="YES"

jail_jail1_fdescfs_enable="YES"

jail_jail1_procfs_enable="YES"

##################Segunda Jaula #####################################

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 144: Manual General de Servidores

P á g i n a | 144

ifconfig_rl0_alias1="inet 10.100.6.181 netmask 255.255.255.0"

jail_jail2_rootdir="/usr/jails/jail2"

jail_jail2_hostname="jail2"

jail_jail2_ip="10.100.6.181"

jail_jail2_exec_start="/bin/sh /etc/rc"

jail_jail2_devfs_enable="YES"

jail_jail2_fdescfs_enable="YES"

jail_jail2_procfs_enable="YES"

2.13.5.- Muestra las Jaulas que se Encuentran Creadas.

scox07# jls

JID IP Address Hostname Path

3 10.100.6.182 jail3 /usr/jails/jail3

2 10.100.6.181 jail2 /usr/jails/jail2

1 10.100.6.171 jail1 /usr/jails/jail1

Estas jaulas aparecen creadas unas vez que están agregados los parámetros anteriormente descritos en el rc.conf de la máquina.

2.13.6.- Entrando a una Jaula.

scox07# jexce 2 /bin/sh

jexce: Command not found.

scox07# tcsh

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 145: Manual General de Servidores

P á g i n a | 145

You have mail.

scox07# jexec 2 /bin/sh

# tcsh

jail2#

jail2# exit

exit

# exit

scox07#

Se utiliza el shell tcsh para que los comandos sea reconocido por la máquina.

2.13.7.- Instalación de Ports en las Jaulas.

OBS: Los Ports que se pasan a las demás jaulas son ports “limpios” son los que se descargan desde internet, ya que al instalar el FreeBSD en el server no se instalan los ports.

Para la instalación de ports en las jaulas:

Primero se dejan los últimos ports en el directorio /root luego posicionándome dentro del directorio usr de la jaula descomprimo los ports, esto se realiza para cada una de las jaulas.

scox07# cd /usr/jails/jail1/usr/

scox07# gzip -dc /root/ports.tar.gz | tar -xvf –

2.13.8.- Activar Ping en las Jaulas.

Las jaulas por default no aceptan ping por lo que hay que activar esta opción, se realiza con el siguiente comando:

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 146: Manual General de Servidores

P á g i n a | 146

scox07# sysctl security.jail.allow_raw_sockets=1

>>Para agregar esta opción a través de echo se realiza de la siguiente forma:

scox07# echo security.jail.allow_raw_sockets=1 >> /etc/sysctl.conf

2.13.9.- Para Matar el Proceso de una Jaula.

kill –KILL -1

En /var/run el archivo jail_jail20.id se elimina con rm para matar por completo el proceso de la jaula y luego se puede volver a activar nuevamente la jaula con

2.13.10.- Para Activar una Jaula.

/etc/rc.d/jails start jail1

2.13.11.- Salida a Internet de una Jaula.

Para que las jaulas puedan navegar es necesario crear el archivo resolv.conf, ya que este no se encuentra creado, por lo que las jaulas no cuentan a la hora de ser creadas con un dns

vi /etc/resolv.conf

---------------------------------------------------------------------------------------------------------------------

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 147: Manual General de Servidores

P á g i n a | 147

Esta configuración pertenece al servidor Ultraman (Ex Scox) se utilizarán 4 jaulas:

AMP (Apache13 + MySql + PHP5)

DNSE(dns externo)

DNI (dns interno), Home

Para realizar esto se utiliza también NATD modificando el Kernel.

2.13.12.- Configuración de Servicios como Web (http Apache13).

Para que el servidor realice NATD se debe de compilar el kernel y agregar las líneas que aparecen a continuación:

Modificar el Kernel

Para modificar el kernel es necesario primero copiar el código fuente que viene por defecto para esto se debe realizar lo siguiente

# cd /usr/src/sys/i386/conf/

# cp GENERIC MIKERNEL

Posterior a esto editamos MIKERNEL con el comando vi y agregamos las líneas como se describe a continuación

Editamos con:

# vi MIKERNEL

Y se agrega lo siguiente:

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 148: Manual General de Servidores

P á g i n a | 148

options BRIDGE # linea alternativa

options IPFIREWALL # Activa firewall ipfw

options IPDIVERT #permite NAT con ipfw

options IPFIREWALL_VERBOSE

options IPFIREWALL_VERBOSE_LIMIT

options IPFIREWALL_DEFAULT_TO_ACCEPT

options DUMMYNET #permite realizar adminstracion de ancho de banda

device apic # I/O APIC

device miibus #aunque es alternativo permite dar maor soporte a las tarjetas de red

device vlan # permite generar soporte de Vlan con FreeBSD

Una vez ingresadas estas líneas sólo basta con guardar el archivo con los cambios esto depende del editor si se utilizó vi para esto se debe seguir la secuencia de

Esc :wq!

Con esto ya estamos listos para compilar el nuevo kernel, paras esto es necesario realizar los siguientes pasos:

# /usr/sbin/config MIKERNEL

# cd ../compile/MIKERNEL

# make depend

# make

# make install

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 149: Manual General de Servidores

P á g i n a | 149

Con esto ya se encuentra instalado el Nuevo Kernel del sistema operativo solo basta con reiniciar el servidor.

2.13.13.- Agregando las Siguientes Líneas al rc. conf para que Funcione el NATD.

gateway_enable="YES"

firewall_enable="YES"

firewall_type="OPEN"

natd_enable="YES"

natd_interface="rl0"

natd_flags="-f /etc/natd.conf"

named_enable="YES"

ESTAS LÍNEAS SIEMPRE DEBEN IR AL FINAL EN EL /etc/rc.conf DE LA CREACIÓN DE LAS JAULAS, DE MODO CONTRARIO SE PERDERÁ CONECTIVIDAD CON INTERNET ADEMAS DE RELENTIZAR EL INICIO DE LAS JAULA.

OBS: Al intentar entrar a la jaula para agregar una pagina web desde la máquina, se puede tener el siguiente problema:

Suponiendo que la ip de la máquina es 10.100.6.170 y la de la jaula es 10.100.6.171

Al entrar por ssh a 10.100.6.170 y dirigirse al directorio /usr/jail/jail1/usr/local/www/data

Y poner una página index.html luego al entrar a la jaula directamente desde la máquina

jexec 1 /bin/sh y dirigirse al directorio /usr/local/www/data, index.hrtml no aparecerá ya que existe un redireccionamiento al directorio data-dist de la misma jaula

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 150: Manual General de Servidores

P á g i n a | 150

2.13.14.- Redireccionando a una Jaula.

Para redireccionar cuando se entra al servidor (máquina) 10.100.6.170 se utiliza el comando anterior, donde la dirección 10.100.6.171 es una jaula donde se encuentra apache instalado, de esta forma al entrar a 10.100.6.170 se entra a la página situada en la jaula 10.100.6.171

scox07# cat /etc/natd.conf

redirect_port tcp 10.100.6.171:80 80 //Redireccionando para Apache

redirect_port tcp 10.100.6.171:10000 10000 //Redireccionando para Webmin

--------------------- JAULA DNSE --------------------------------

2.13.15.- Instalando Bind9 para DNS Externo (en Jaula 2).

Primero se instala el bind9 en la jaula:

jail2# cd /usr/ports/dns/bind9

jail2#make

jail2#make install

En el /etc/namedb/named.conf de scox aparecen las siguientes líneas que deben ser copiadas en el nuevo scox (Ultraman)en named.conf para poder realizar el DNS Externo

>> En /etc/namedb/named.conf

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 151: Manual General de Servidores

P á g i n a | 151

zone "decom-uv.cl"{

type master;

file "/etc/namedb/master/decom-uv.cl";

};

--------------------------------------------------------------------------------

Luego en el directorio /etc/namedb/master creo el archivo decom-uv.cl y agrego las siguientes líneas:

En /etc/namedb/master

$ttl 38400

decom-uv.cl. IN SOA behemoth.decom-uv.cl. root.localhost. (

1071154044

10800

3600

604800

38400 )

decom-uv.cl. IN NS scox.decom-uv.cl.

www.decom-uv.cl. IN A 200.14.68.2

scox.decom-uv.cl. IN A 200.14.68.2

decom-uv.cl. IN MX 10 200.14.68.3

alumnos.decom-uv.cl. IN A 200.14.68.3

alumnos.decom-uv.cl. IN MX 10 alumnos.decom-uv.cl.

siga.decom-uv.cl. IN A 200.14.68.107

director.decom-uv.cl. IN A 200.14.68.107

asterisk1.decom-uv.cl. IN A 10.100.6.166

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 152: Manual General de Servidores

P á g i n a | 152

>> Agregando ip donde va a escuchar el DNS (En este caso es la de la jaula)

En el archivo /etc/namedb/named.conf debo agregar la ip donde va a escuchar el DNS, en el caso de la jaula que se está configurando será la 10.100.6.181 Esto sería en:

jail2# vi /etc/namedb/named.conf

>>Debería aparecer algo así:

// If named is being used only as a local resolver, this is a safe default.

// For named to be accessible to the network, comment this option, specify

// the proper IP address, or delete this option.

listen-on { 127.0.0.1;10.100.6.170 };

>> Agregar linear rc.conf

Agregar en el /etc/rc.conf de la jaula

named_enable=”YES”

>>Partiendo el named (DNS)

jail3# /etc/rc.d/named start

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 153: Manual General de Servidores

P á g i n a | 153

>>Comprobando su configuración

Cambiar el DNS que se tiene actualmente ya sea en Win o Linux y poner el DNS perteneciente a la jaula donde se configuró el DNS, y comprobar si hay navegabilidad

--------------------- JAULA DNSI --------------------------------

2.13.16.- Instalando Bind9 para DNS Interno (en Jaula 3).

Primero se instala el bind9 en la jaula:

Jail3# cd /usr/ports/dns/bind9

Jail3#make

Jail3#make install

Para la configuración del DNS Interno, se sacó el archivo de T1 /etc/namedb/named.conf estas son las líneas que se copian de T1

zone "decom-uv.cl" {

type master;

file "master/decom-uv.cl";

};

Luego en /etc/namedb/master creo el archivo decom-uv.cl y copio lo que aparece en el archivo decom-uv.cl del T1 al Scox07

cd /etc/namedb/master

vi decom-uv.cl

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 154: Manual General de Servidores

P á g i n a | 154

$ttl 38400

decom-uv.cl. IN SOA scox.decom-uv.cl. root.localhost. (

1071154041

10800

3600

604800

38400 )

decom-uv.cl. IN NS scox.decom-uv.cl.

www.decom-uv.cl. IN A 10.100.6.204

scox.decom-uv.cl. IN A 10.100.6.204

decom-uv.cl. IN MX 10 10.100.6.204

alumnos.decom-uv.cl. IN A 192.168.20.5

alumnos.decom-uv.cl. IN MX 10 alumnos.decom-uv.cl.

educnet.decom-uv.cl. IN A 10.100.6.203

terminator#

>> Agregar linear rc.conf

agregar en el /etc/rc.conf de la jaula

named_enable=”YES”

>>Comprobando su configuración

Cambiar el DNS qe se tiene actualmente ya sea en Win o Linux y poner el DNS perteneciente a la jaula donde se configuró el DNS, y comprobar si hay navegabilidad

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 155: Manual General de Servidores

P á g i n a | 155

>> Agregando ip donde va a escuchar el DNS (En este caso es la de la jaula)

En el archivo /etc/namedb/named.conf debo agregar la ip donde va a escuchar el DNS, en el caso de la jaula que se está configurando será la 10.100.6.173 Esto sería en:

jail2# vi /etc/namedb/named.conf

>>Partiendo el named (DNS)

jail3# /etc/rc.d/named start

>> Parar e iniciar Jaulas

# /etc/rc.d/jail start //Parten todas las jaulas

# /etc/rc.d/jail stop // Paran todas las jaulas

# /etc/rc.d/jail start one // Parte una jaula en especifica la one

2.13.17.- Direccionando las Páginas de la Jaula.

Para direccional las páginas que se encuentran en la jaula (servidor Kingkong) en el servidor de alumnos en

/etc/local/etc/apache/httpd.conf

Para el caso de la jaula de Daniel Ramirez

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 156: Manual General de Servidores

P á g i n a | 156

ProxyPass /dramirez http://192.168.20.8/

----- Configuración de la jaula amp (apache13 + mysql5 + php5)---

2.13.18.- Instalando Apache13 en la Jaula amp (Apache Mysql5 PHP5).

amp# cd /usr/ports/www/apache13

amp#make

amp#make install

Al ejecutar apache apachectl start, es posible que el comando no sea reconocido por lo que habrá que salir de ese Prom. con exit y luego ejecutar apachectl start

#apachectl start

>>Otra forma de poder ejecutar apache es:

/usr/local/sbin/apachectl start

Luego se agrega mysql_enable=”YES” al archivo /etc/rc.conf

2.13.19.- Instalando PHP5 en la Jaula 1 (PC Prueba).

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 157: Manual General de Servidores

P á g i n a | 157

Al instalar PHP5 con Apache13 debo instalar otras aplicaciones como php5-mysql y php5-extensions, todas estas instalaciones quedarán descritas en esta sección:

1. - Instalando PHP5.

cd /usr/ports/lang/php5

make install clean

Dar Soporte PHP a Apache13

Al realizar make install clean me aparecerá una pantalla azul, en la cual se deberá agregar algunas opciones imprescindibles como apache y cgi (esta generalmente viene por defecto

#####Este paso de comprobación de php se puede omitir, o realizar una vez instaladas las otras aplicaciones como php5-extensions y php5-mysql#############

> Para probar php5 agregamos una página hecha en php en el directorio

/usr/local/www/data (para este caso debería agregarse en la jaula que se está instalando)

Dentro del directorio data agregamos una página pruebaphp.php

> Ingresamos a la página por ejemplo: 10.100.6.204/pruebaphp.php

Para verificar que los módulos de PHP4 se encuentren instalados hay que dirigirse a

vi /usr/local/etc/apache/httpd.conf

En este archivo deberán aparecer:

LoadModule php5_module libexec/apache/libphp5.so

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 158: Manual General de Servidores

P á g i n a | 158

Y mas abajo aparecerá:

AddModule mod_php5.c

Luego se reinicia apache (apachectl restart) y al ingresar a la ip del servidor deberá aparecer la página de PHP PHP Version 5.

2. - Instalando PHP5-Extensions.

cd /usr/ports/lang/php5-extensions

make config

Acá aparecerán una serie de opciones que solo algunas se deberán marcar además de dejar las que aparecen por default, las opciones a marcar son las siguientes (estas aparecerán en una pantalla azul)

select type, curl, dom, gd, imap, mbstring, mcrypyt, mysql, mysqli, pcre, posix, session, simplexml, xml, xmlreader, xmlwriter, zlib

make install

make clean

cd /usr/local/etc

cp php.ini-recommended php.ini

3. - Instalando PHP5-mysql.

Acá se da el soporte de mysql en PHP, se produce la conexión entre ambas aplicaciones, para ver si tengo instalado php5-mysql realizo el siguiente comando

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 159: Manual General de Servidores

P á g i n a | 159

pkg_info|grep php|grep mysql

Si el commando arroja algún resultado quiere decir que la aplicación está instalada, en caso contrario (de no arrojar nada) hay que instalarla.

cd /usr/ports/database/php5-mysql

make

make install

make clean

Observación: Es probable que no inicie php5 por lo que hay que meterse al archivo

vi /usr/local/etc/apache/httpd.conf y cambiar todos lod php4 por php5

2.13.20.- Instalando mysql5 en la Jaula 1 (PC Prueba).

jail1# cd /usr/ports/databases/mysql50-serverjail1# make install cleanjail1# mysql_install_db

jail1# chown -R mysql:mysql /var/db/mysql

jail1# mysqld_safe --user=mysql&

jail1# /usr/local/bin/mysqladmin -u root password "newpasswd"

Para iniciar mysql se realiza el siguiente comando

/usr/local/etc/rc.d/mysql-server start

Luego se agrega al archivo /etc/rc.conf

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 160: Manual General de Servidores

P á g i n a | 160

mysql_enable=”YES”

Al encontrarse dentro de la jaula es probable que algunos comandos no sean reconocidos, por lo que se utiliza el shell tsch.

2.13.21.- Instalando Webmin en la Jaula 1 (PC Prueba).

>>Webmin se encuentra en

cd /usr/ports/sysutils/webmin

make install clean

>>Una vez instalado se agrega al archivo

vi /etc/rc.conf

>>Se agrega en /etc/rc.conf de la jaula

webmin_enable=”YES”

>>Para ejecutarlo se debe ir a la siguiente ruta

cd /usr/local/lib/webmin

>>Se ejecuta de la siguiente forma

./setup.sh

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 161: Manual General de Servidores

P á g i n a | 161

En las opciones de configuración dejo todas las opciones por defecto (Enter)

En el archivo de la maquina /etc/natd.conf agrego las líneas que van a redireccionar el webmin a la jaula, quedando de la siguiente forma

Redirect_port tcp 10.100.6.171:10000 10000

Esto quiere decir que ingresará al puerto 10000 de la máquina con ip 10.100.6.170 y luego se redirecionará al puerto 10000 de la jaula (jail1) con ip 10.100.6.171

2.13.22.- Cambios a Realizar en la Configuración Final de Ultraman.

/etc/ssh/sshd_config (ip en #ListenAddress)

/etc/rc.conf (ip)

/etc/resolv.conf (cambiar DNS)

etc/namedb/named.conf (Donde va a escuchar la ip)

Realizar los cambios que se encuentran en la jaula amp

/etc/hosts

/etc/host.conf

/etc/rc.conf

2.13.23.- Configurando ssh en Jaulas de Tesistas.

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 162: Manual General de Servidores

P á g i n a | 162

Para que los usuarios puedan entrar por ssh a sus jaulas se pasa primero por el servidor de alumnos, y luego se salta a la jaula correspondiente, esto se realiza de la siguiente forma.

En el servidor de alumnos, se crea un script, esto se realiza en el directorio root:

vi /root/dramirez

#!/bin/sh

ssh [email protected]

El usuario dramirez que se encuentra creado en el servidor de alumnos pasa a su jaula que se encuentra con la ip 192.168.20.8.

Este script se encuentra en /root y tiene como permiso 755

Luego en el servidor de alumnos se modifica el master.passwd sin antes haberlo respaldado, se ejecuta vipw y se cambia la forma de ingresar

Se tenía

azamora:$1$Xu3Rd/fQ$0P2ADbu2/RUN19/CYkKtA0:1377:1000::0:0:Amador Zamora Nunez:/home/2005/azamora:/usr/local/bin/bash

Se cambia a

azamora:$1$Xu3Rd/fQ$0P2ADbu2/RUN19/CYkKtA0:1377:1000::0:0:Amador Zamora Nunez:/home/2005/azamora:/root/azamora-ssh

2.13.24.- Cambiar Zona Horaria a la Jaula.

Es importante verificar la zona horaria de la jaula, ya que nos encontramos con aplicaciones que trabajan con la hora. Para realizar esto se debe realizar lo siguiente:

Dirigirse hasta: Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 163: Manual General de Servidores

P á g i n a | 163

amp3#cd /usr/share/zoneinfo/America

Luego copiar el archivo Santiago que aparece dentro del directorio America.

amp3#cp Santiago /etc/localtime

Luego se verifica que la hora este correcta con el comando date:

amp3# date

Wed Jun 11 14:56:46 CLT 2008

Si aun la hora y fecha se encuentra erroneas, se debe implementar el siguiente comando:

amp3# date 080522074100

donde 08 es el año 2008

05 el mes de mayo

22 el dia del mes

07 hora

41 minuto

00 segundo

2.13.25.- Montaje de public_html de la Máquina a Jaula amp.

Creando usuario:

Dentro de la jaula home creo el usuario, con el grupo al cual debe pertenecer:

Home#adduser –a

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 164: Manual General de Servidores

P á g i n a | 164

Una vez creado el usuario entro a su directorio:

home#cd /usr/home/mferrand

Al listar los archivos veré que no está creado el directorio public_html, por lo que hay que crearlo

Luego se debe cambiar el propietario de este directorio, tal como se señala en pasos posteriores.

home#chown -R mferrand:profesores public_html/

Luego se debe crear dentro de la jaula amp3, el directorio en el cual se quiere montar la página web:

amp3#cd /usr/local/www/data/

amp3#mkdir mferrand

Una vez cambiado el propietario y creado los dos directorios debo montar desde la máquina (en el ejemplo ultraman) este directorio en la jaula donde se contienen las páginas web (en el ejemplo la jaula amp3), de la siguiente forma:

ultraman# mount -t nullfs /usr/jails/home/usr/home/maravena/public_html /usr/jails/amp3/usr/local/www/data/maravena

Dentro de la máquina debo en /etc/rc.local guardo este punto de montaje, a su vez es montado en ~mferrand o ~maravena, ya que estas páginas están en Internet

ultraman# mount -t nullfs /usr/jails/home/usr/home/maravena/public_html /usr/jails/amp3/usr/local/www/data/maravena

Dentro de un usuario el public_html debe pertenecer al grupo el cual pertenece el usuario eso se realiza con el comando

chown -R mferrand:profesores public_html/

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 165: Manual General de Servidores

P á g i n a | 165

Acá chown –R (es de forma recursiva) luego viene el nombre del usuario, el grupo al que pertenece y el directorio el cual se quiere cambiar de

2 drwxr-xr-x 4 mferrand profesores 512 Mar 14 16:25 .

2 drwxr-xr-x 11 root wheel 512 Mar 7 15:48 ..

2 -rw-r--r-- 1 mferrand profesores 767 Mar 7 15:47 .cshrc

2 -rw-r--r-- 1 mferrand profesores 248 Mar 7 15:47 .login

2 -rw-r--r-- 1 mferrand profesores 158 Mar 7 15:47 .login_conf

2 -rw------- 1 mferrand profesores 373 Mar 7 15:47 .mail_aliases

2 -rw-r--r-- 1 mferrand profesores 331 Mar 7 15:47 .mailrc

2 -rw-r--r-- 1 mferrand profesores 797 Mar 7 15:47 .profile

2 -rw------- 1 mferrand profesores 276 Mar 7 15:47 .rhosts

2 -rw-r--r-- 1 mferrand profesores 975 Mar 7 15:47 .shrc

2 drwx------ 2 mferrand profesores 512 Mar 12 17:27 .ssh

2 drwxr-xr-x 7 maravena wheel 512 Mar 17 09:57 public_html

home# chown -R mferrand:profesores public_html/

home# ls -las

total 24

2 drwxr-xr-x 4 mferrand profesores 512 Mar 14 16:25 .

2 drwxr-xr-x 11 root wheel 512 Mar 7 15:48 ..

2 -rw-r--r-- 1 mferrand profesores 767 Mar 7 15:47 .cshrc

2 -rw-r--r-- 1 mferrand profesores 248 Mar 7 15:47 .login

2 -rw-r--r-- 1 mferrand profesores 158 Mar 7 15:47 .login_conf

2 -rw------- 1 mferrand profesores 373 Mar 7 15:47 .mail_aliases

2 -rw-r--r-- 1 mferrand profesores 331 Mar 7 15:47 .mailrc

2 -rw-r--r-- 1 mferrand profesores 797 Mar 7 15:47 .profile

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 166: Manual General de Servidores

P á g i n a | 166

2 -rw------- 1 mferrand profesores 276 Mar 7 15:47 .rhosts

2 -rw-r--r-- 1 mferrand profesores 975 Mar 7 15:47 .shrc

2 drwx------ 2 mferrand profesores 512 Mar 12 17:27 .ssh

2 drwxr-xr-x 7 mferrand profesores 512 Mar 17 09:57 public_html

home#

2.14.- Bacula.

2.14.1.- Esquema de Bacula.

Bacula es un software cliente-servidor, éste se divide en 4 módulos que son:

Director (bacula-dir)

Storage Daemon (bacula-sd)

File Daemon (bacula-fd)

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 167: Manual General de Servidores

P á g i n a | 167

Console (bconsole)

Pasos:

Actualizar los Ports.

Instalar MySQL Server 4.1.XY.

Instalar Bacula-Server con soporte para MySQL.

Instalar Bacula-Client desde los ports.

Configurar la base de datos MySQL Server.

Configurar Bacula-Server para MySQL.

Cambio de extensiones a archivos de bacula.

Configurar archivo bacula-fd.conf(Cliente de bacula).

Configurar archivo bacula-sd.conf(Storage Daemon).

Configurar archivo bconsole.conf(Console).

Configurar archivo bacula-dir.conf(Director Daemon).

Probando los archivos de Bacula.

Instalando el Cliente de Bacula en Windows NT4/2000/XP/2003.

Ejecutar Bacula-Server por primera vez.

Accesando a Bacula desde bconsole.

Ejecutando el primer Respaldo Full y Diferencial.

Restaurando archivos con Bacula.

2.14.2.- Instalación de MySQL.

1. instalar el software MySQL server desde el árbol de ports:

root# cd /usr/ports/databases/mysql41-server/ && make install clean

2. Generamos las tablas de permisos para MySQL:

root# /usr/local/bin/mysql_install_dbManual General: Servicios, Aplicaciones & Servidores Decom.

Page 168: Manual General de Servidores

P á g i n a | 168

3. Cambiamos el propietario y grupo del directorio de datos:

root# chown -R mysql:mysql /var/db/mysql/

4. Una vez completados los pasos anteriores vamos a editar el arvhico rc.conf para que nos inicie automáticamente MySQL

root# ee /etc/rc.conf

Y agregamos la siguiente línea:

mysql_enable=”YES”

Cuando estemos listos pulsamos la tecla ESC “escape”, luego sabe y finalmente sabe change.

5. Ahora reiniciamos la maquina con un simple “reboot”

6. A continuación establecer la contraseña del administrador de la base de datos (Atención no poner la contraseña que tenemos para el usuario root):

root# /usr/local/bin/mysqladmin -u root password tupassword

7. Reiniciamos y listo.

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 169: Manual General de Servidores

P á g i n a | 169

2.14.3.- Instalar Bacula-Server con soporte para MySQL.

root#cd /usr/ports/sysutils/bacula-serverroot #make install clean

Seleccionar el soporte para MySQL. También puede utilizarse PostgreSQL.

2.14.4.- Instalar Bacula-Client desde los Ports.

root #cd /usr/ports/sysutils/bacula-clientroot #make install clean

Este paso debe hacerse en todos los equipos CLIENTES de Bacula.

2.14.5.- Configurar la base de datos MySQL Server.

Una vez que se instala MySQL, debemos llevar a cabo ciertos pasos extras antes de poder ejecutarlo, según el manual para MySQL 4.0.27 (también aplica a la rama 4.1) en las notas especificas para FreeBSD debemos hacer lo siguiente:

1. Ejecutar mysql_install_db con el usuario mysql que fue creado cuando instalamos mysql, este script lo encontramos en /usr/local/bin

root #/usr/local/bin/mysql_install_db --user=mysql

Con esto hemos creado las bases de datos que usa mysql para funcionar internamente, aun no se está ejecutado el servidor, esto lo hacemos en el siguiente paso.

2. Iniciar la base de datos con el scrip mysqld_safe

root #/usr/local/bin/mysqld_safe &

Aquí nos arroja cierta información o bien no se ejecuta el servidor, pero vamos probando si está corriendo:

root #sockstat -4

USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS mysql mysqld 530 10 tcp4 *:3306 *:*

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 170: Manual General de Servidores

P á g i n a | 170

Aquí podemos ver si está corriendo el servidor mysql, si no aparece por ahí el puerto 3306 abierto, nos indica que no se ejecuto, a veces una reinicio del sistema arregla todo. Agregar mysql al archivo /etc/rc.conf, con la siguiente línea:

mysql_enable="YES"

Este es el básico para llevar a cabo esto, pero también tenemos estos que son opcionales:

mysql_limits (bool): YES o NOmysql_dbdir="/var/db/mysql"mysql_args (str):

Por último tenemos unos scripts en el directorio de mysql /usr/local/share/mysql que podemos copiar en /etc/ para que mysql lea antes de ejecutarse, estos archivos son parámetros globales para mysql y estos son:

my-huge.cnf

my-large.cnf

my-medium.cnf

my-small.cfg

Cada uno tiene sus características, pero solo podemos darle uno a mysql, en mí caso usé my-large.cfg, así que mando una copia a /etc:

root #cp /usr/local/share/mysql/my-large.cnf /etc/

Cada uno de ellos trae comentarios sobre cuando aplica.

Reiniciar el sistema y verificar que mysql debe estar ejecutándose.

2.14.6.- Configurar Bacula-Server para MySQL.

a) Ejecutar el script de nombre grant_mysql_privileges. Ejecutar el script con el nombre de usuario y contraseña que se le dio a MySQL, esto se hace así:

root#cd /usr/local/share/bacularoot#./grant_mysql_privileges -u root -pEnter password:

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 171: Manual General de Servidores

P á g i n a | 171

... información

... información

... información

La última línea nos indica que todo salió bien y dice así:

"Privileges for bacula granted."

b) Enseguida debemos ejecutar el script de nombre create_mysql_databases, así:

root#./create_mysql_databases -u root -pEnter password:

Creation of bacula databases succeeded.

Con esto se ha creado la base de datos de bacula en MySQL.

c) Crear las tablas de bacula, para ello debemos ejecutar el script de nombre create_mysql_tables asi:

root#./make_mysql_tables -u root -pEnter password:

Creation of Bacula MySQL tables succeeded.

Con todo lo anterior el servidor de bacula está listo para empezar a trabajar con él. Esto se puede comprobar accesando a la consola de mysql y ver las bases de datos que esta posee.

root#mysql -u root -pEnter password:

...Informacion que arroja mysqlmysql>show databases;+------------------------------+|Databases |+------------------------------+|information_schema ||bacula ||mysql ||test |+------------------------------+

d) Salir de mysql.

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 172: Manual General de Servidores

P á g i n a | 172

2.14.7.- Cambiar Extensiones a Archivos de Configuración de Bacula.

Los archivos de configuración están en el directorio /usr/local/etc, todos terminan con la extensión .new o .sample, para que bacula los pueda leer deben terminar en .conf, así que los copiamos en el mismo directorio pero eliminando la extensión .new o .sample.

root#cd /usr/local/etcroot#cp bacula-dir.new bacula-dir.conf

Esto lo hacemos con los demás archivos los cuales en total son 4:

bacula-sd

bacula-fd

bconsole

Manual General: Servicios, Aplicaciones & Servidores Decom.

Page 173: Manual General de Servidores

P á g i n a | 173

2.14.8.- Configuracion Archivo bacula-fd.conf (Cliente de Bacula).El archivo a editar es el bacula-fd.conf, esto se hace con el siguiente comando:

root#ee bacula-fd.conf

Configuración:

Director {

Name = tool-dir

Password = "cristian3"

}

Director {

Name = tool-mon

Password = "console"

Monitor = yes

}

FileDaemon {

Name = tool-fd

FDport = 9102

WorkingDirectory = /var/db/bacula

Pid Directory = /var/run

Maximum Concurrent Jobs = 20

}

# Send all messages except skipped files back to Director

Messages {

Name = Standard

director = tool-dir = all, !skipped, !restored

Page 174: Manual General de Servidores

P á g i n a | 174

}

2.14.9.- Configuracion Archivo bacula-sd.conf (Storage Bacula).

El archivo a editar es el bacula-sd.conf, esto se hace con el siguiente comando:

root#ee bacula-sd.conf

Configuración:

Storage { # definition of myself

Name = tool-sd

SDPort = 9103 # Director's port

WorkingDirectory = "/var/db/bacula"

Pid Directory = "/var/run"

Maximum Concurrent Jobs = 20

}

# List Directors who are permitted to contact Storage daemon

Director {

Name = tool-dir

Password = "bacula-sd"

}

Director {

Name = tool-mon

Password = "console"

Monitor = yes

}

#DISPOSITIVO PARA RESPALDAR EN ARCHIVO

Page 175: Manual General de Servidores

P á g i n a | 175

Device {

Name = FileStorage

Media Type = File

Archive Device = /tmp

LabelMedia = yes; # lets Bacula label unlabeled media

Random Access = yes;

AutomaticMount = yes; # when device opened, read it

RemovableMedia = no;

AlwaysOpen = no;

}

# DISPOSITIVO PARA RESPALDAR EN DVD

#Device {

# Name = "DVD-Writer"

# Media Type = DVD

# Archive Device = /dev/hdc

# LabelMedia = yes; # lets Bacula label unlabeled media

# Random Access = Yes;

# AutomaticMount = yes; # when device opened, read it

# RemovableMedia = yes;

# AlwaysOpen = no;

# MaximumPartSize = 800M;

# RequiresMount = yes;

# MountPoint = /mnt/cdrom;

# MountCommand = "/bin/mount -t iso9660 -o ro %a %m";

# UnmountCommand = "/bin/umount %m";

# SpoolDirectory = /tmp/backup;

Page 176: Manual General de Servidores

P á g i n a | 176

# WritePartCommand = "/etc/bacula/dvd-handler %a write %e %v"

# FreeSpaceCommand = "/etc/bacula/dvd-handler %a free"

#}

# Send all messages to the Director,

# mount messages also are sent to the email address

Messages {

Name = Standard

director = tool-dir = all

}

2.14.10.- Configuracion Archivo bconsole.conf (Storage Bacula).

El archivo a editar es el bconsole.conf, esto se hace con el siguiente comando:

root#ee bconsole.conf

Configuración:

Director {

Name = tool-dir

DIRport = 9101

address = 192.168.20.64 #tool

Password = "Director"

}

2.14.11. - Configuracion archivo Bacula-Dir.conf (director bacula).

El archivo a editar es el bacula-dir.conf, esto se hace con el siguiente comando:

Page 177: Manual General de Servidores

P á g i n a | 177

root#ee bacula-dir.conf

Configuración:

Director {

Name = tool-dir

DIRport = 9101

QueryFile = "/usr/local/share/bacula/query.sql"

WorkingDirectory = "/var/db/bacula"

PidDirectory = "/var/run"

Maximum Concurrent Jobs = 1 #puede ser 10

Password = "Director" # Console password

Messages = Daemon

# DirAddress = 127.0.0.1

}

#JOBDEFS POR DEFECTO

JobDefs {

Name = "DefaultJob"

Type = Backup

Level = Incremental

Client = tool-fd

FileSet = "Freebsd-FileSet"

Schedule = "Sch-Catalog"

Storage = File

Messages = Standard

Pool = Default

Priority = 10

}

Page 178: Manual General de Servidores

P á g i n a | 178

#JOBDEFS DE GUIA

JobDefs {

Name = "TestBackup"

Type = Backup

Level = Full

Storage = File

Messages = Standard

Pool = PoolFull

}

# JOBS

#Job para Cliente FreeBSD.

Job {

Name = "BackupFreeBSD"

JobDefs = "TestBackup"

Client = freebsd-fd

FileSet= "Freebsd-FileSet"

Schedule = "Sch-Catalog"

RunBeforeJob = "/usr/local/share/bacula/make_catalog_backup bacula bacula"

RunAfterJob = "/usr/local/share/bacula/delete_catalog_backup"

Write Bootstrap = "/var/db/bacula/BackupCatalog.bsr"

Priority = 12

}

#Job de backup para Maquina Windows Xp

Page 179: Manual General de Servidores

P á g i n a | 179

Job {

Name = "BackupWinxp"

JobDefs = "TestBackup"

Client = winxp-fd

File Set = winxp-FileSet

Schedule = "Sch-Catalog"

Priority = 11

Write Bootstrap = "/var/db/bacula/backupWinxp.bsr"

}

#RESTAURAR PARA WINXP

Job {

Name = "Restore-Winxp"

Type = Restore

Client = winxp-fd

FileSet= "winxp-FileSet"

Storage = File

Pool = PoolFull

Messages = Standard

Where = "C:/Restore"

}

#RESTAURAR PARA FREEBSD

Job {

Name = "Restore-FreeBSD"

Type = Restore

Client = freebsd-fd

FileSet = "Freebsd-FileSet" #o freebsd-FS

Page 180: Manual General de Servidores

P á g i n a | 180

Storage = File

Pool = PoolFull

Messages = Standard

Where = "/usr/backup/restore"

}

# DEFINICION DE ARCHIVOS A RESPALDAR

FileSet {

Name = "Catalog"

Include {

Options {

signature = MD5

}

File = /var/db/bacula/bacula.sql

}

}

FileSet {

Name = "winxp-FileSet"

Enable VSS=no

Include {

Options {

signature = MD5

Compression=GZIP

}

File = "C:/prueaa"

}

}

Page 181: Manual General de Servidores

P á g i n a | 181

FileSet {

Name = "Freebsd-FileSet"

Include {

Options {

signature = MD5

Compression = GZIP

}

File = "/usr/local/etc"

}

Exclude {

File = "/usr/local/etc/rc.d"

}

}

# PLANIFICADORES

Schedule {

Name = "Sch-winxp"

Run = Full mon at 16:00

# Run = Level = Diferencial Pool = PoolDiferencial tue-fri at 22:00

}

Schedule {

Name = "Sch-Catalog"

Run = Full mon at 20:00

}

# CLIENTES A RESPALDAR

# Servidor, en donde está instalado bacula

Page 182: Manual General de Servidores

P á g i n a | 182

Client {

Name = tool-fd

Address = 127.0.0.1

FDPort = 9102

Catalog = MyCatalog

Password = "critian3"

File Retention = 30 days

Job Retention = 6 months

AutoPrune = yes

}

#cliente freebsd

Client {

Name = freebsd-fd

Address = 192.168.20.63

FDPort = 9102

Catalog = MyCatalog

Password = "freebsd"

File Retention = 15 days

Job Retention = 30 days

AutoPrune = yes

}

#cliente Windows Xp

Client {

Name = winxp-fd

Address = 192.168.20.145

FDPort = 9102

Catalog = MyCatalog

Password = "winxp"

Page 183: Manual General de Servidores

P á g i n a | 183

File Retention = 15 days

Job Retention = 30 days

AutoPrune = yes

}

# ALMACENAMIENTO

Storage {

Name = File

Address = 192.168.20.64

SDPort = 9103

Password = "bacula-sd"

Device = FileStorage

Media Type = File

}

# Generic catalog service

Catalog {

Name = MyCatalog

dbname = bacula; user = bacula; password = ""

}

# message delivery -- send most everything to email address

Messages {

Name = Standard

mailcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r"

operatorcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r"

mail = root@localhost = all, !skipped

Page 184: Manual General de Servidores

P á g i n a | 184

operator = root@localhost = mount

console = all, !skipped, !saved

append = "/var/db/bacula/log" = all, !skipped

}

# Message delivery for daemon messages (no job).

Messages {

Name = Daemon

mailcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"

mail = root@localhost = all, !skipped

console = all, !skipped, !saved

append = "/var/db/bacula/log" = all, !skipped

}

# Default pool definition

Pool {

Name = Default

Pool Type = Backup

Recycle = yes

AutoPrune = yes

Volume Retention = 365 days

Accept Any Volume = yes

}

Pool {

Name = PoolFull

Maximum Volumes = 0

Pool Type = Backup

Page 185: Manual General de Servidores

P á g i n a | 185

Use Volume Once = no

Maximum Volume Jobs = 2

Maximum Volume Files = 0

Maximum Volume Bytes = 0

Volume Use Duration = 0

Catalog Files = yes

AutoPrune = yes

Volume Retention = 20 days

Recycle = yes

Label Format = "FullFile-"

}

Console {

Name = tool-mon

Password = "monitor"

CommandACL = status, .status

}

2.14.12.- Probando los archivos de Bacula.

root#/usr/local/sbin/bconsole -t -c /usr/local/etc/bconsole.confroot#/usr/local/sbin/bacula-fd -t -c /usr/local/etc/bacula-fd.confroot#/usr/local/sbin/bacula-sd -t -c /usr/local/etc/bacula-sd.confroot#/usr/local/sbin/bacula-dir -t -c /usr/local/etc/bacula-dir.conf

Si por alguna razón mostrara algún error, cada uno de ellos nos dice la razón del problema y en que línea se encuentra para resolverlo, antes de ejecutar cada uno de los demonios debemos certificar que están todos libres de errores.

Cambiar los permisos de los archivos de configuración de bacula ubicados en /usr/local/etc, ya que por default la instalación los deja con los permisos de lectura a root y wheel y a el resto lo deja fuera, por ello modificar el permiso para que bacula pueda leerlos, ya sea asignando el permiso 777 a todos ellos o cambiando el propietario de los archivos a el usuario y grupo con el comando chmod. De lo contrario el comando reload de bacula les va a marcar error por no poder leer los archivos de configuración.

Page 186: Manual General de Servidores

P á g i n a | 186

2.13.13.- Instalando el Cliente de Bacula en Windows NT4/2000/XP/2003.

Ejecutar el archivo winbacula-2.4.4. Presionar siguiente y aceptar (I Agree) el acuerdo de uso.

Luego se debe elegir la instalación Custom (avanzada). Presionar Next y nuevamente Next, hasta llegar a esta ventana.

Name: se debe ingresar el Nombre del cliente que se ingreso en el Director de Bacula, esto en el caso de haber creado previamente el cliente.

Port: es el 9102 (NO cambiar).

MaxJobs: dejar en 2.

Password: la misma que se ingreso para el cliente de Windows, en el director de bacula.

Ingresados estos campos presionar en Next.

Ahora se deben ingresar los datos del director de Bacula, para así tener acceso a éste.

Name: nombre del director

Port: 9101

Password: password para acceder al director.

Address: dirección IP de la maquina en donde se encuentra instalado el director.

Monitor.

Name: nombre del monitor. Estos datos se pueden encontrar en el archivo bacula-fd.

Password: contraseña. Se puede encontrar en bacula-fd.

Una vez ingresados estos campos, presionar botón Install.

2.13.14.- Ejecutando a Bacula-Server por primera vez.

Page 187: Manual General de Servidores

P á g i n a | 187

Cada uno de los demonios trae su propio script, y todos ellos residen como saben en /usr/local/etc/rc.d/, y son estos 3:

bacula-fd.sh

bacula-sd.sh

bacula-dir.sh

Solo recordar que tiene que estar ejecutándose MySQL si no el Director no va a arrancar, así que tenemos que correr cada uno de ellos:

root#/usr/local/etc/rc.d/bacula-fd.sh start

Starting bacula_fd.

root#/usr/local/etc/rc.d/bacula-sd.sh start

Starting bacula_sd.

root#/usr/local/etc/rc.d/bacula-dir.sh start

Starting bacula_dir.

Cabe mencionar que si no tenemos habilitado las siguientes variables en el archivo /etc/rc.conf :

mysql_enable="YES"bacula_fd_enable="YES"bacula_sd_enable="YES"bacula_dir_enable="YES"

El Director no se ejecutara. Para cerciorarse que los demonios están corriendo usamos el comando sockstat:

root#sockstat -4

USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS root bacula-fd 771 3 tcp4 *:9102 *:*bacula bacula-dir 541 4 tcp4 *:9101 *:*mysql mysqld 540 10 tcp4 *:3306 *:*bacula bacula-sd 489 3 tcp4 *:9103 *:*root httpd 472 16 tcp4 192.168.0.5:80 *:*root sendmail 442 4 tcp4 127.0.0.1:25 *:*root sshd 436 3 tcp4 *:22 *:*

Podemos ver los 3 demonios listos para trabajar y los puertos que cada uno está utilizando.

NOTA: el director de Bacula No debe ejecutarse antes que MySQL.

2.14.15.- Accesando a Bacula desde bconsole.

root# bconsole

Page 188: Manual General de Servidores

P á g i n a | 188

Connecting to Director 192.168.0.5:91011000 OK: tool-dir Version: 1.38.8 (14 April 2006)Enter a period to cancel a command.*

Con el comando status, se obtiene acceso al “Menú Principal” de la aplicación.

- Con la opción uno se puede acceder al Director,

- Con la opción 2 al menú del Storage o almacén de Bacula, en el cual se puede visualizar los respaldos hechos.

- Con la opción 3 se obtiene la lista de clientes.

*status

Using default Catalog name=MyCatalog DB=baculaStatus available for: 1: Director 2: Storage 3: Client 4: All

Select daemon type for status (1-4): 1

Vista de un Cliente de Bacula.

tool-dir Version: 1.38.8 (14 April 2006) i386-portbld-freebsd6.0 freebsd 6.0-RELEASE-p7Daemon started 10-Sep-06 18:33, 0 Jobs run since started.No Scheduled Jobs.====

Running Jobs:Console connected at 10-Sep-06 22:43No Jobs running.====

Terminated Jobs: JobId Level Files Bytes Status Finished Name=================================================================== 11 1,051 2,990,282 OK 05-Sep-06 20:44 Restore-FreeBSD 12 1,051 2,990,282 OK 05-Sep-06 20:46 Restore-FreeBSD 1 Full 1,053 1,914,178 OK 06-Sep-06 00:19 Backup-FreeBSD 2 1 41,319 OK 06-Sep-06 00:21 Restore-FreeBSD 3 0 0 Error 06-Sep-06 00:24 Restore-FreeBSD 4 Full 1,053 1,953,679 OK 06-Sep-06 00:28 Backup-FreeBSD 5 Full 1,053 1,989,831 OK 06-Sep-06 00:28 Backup-FreeBSD 6 1,053 3,105,441 OK 06-Sep-06 00:30 Restore-FreeBSD 7 1,053 3,105,441 OK 06-Sep-06 00:32 Restore-FreeBSD 8 1,053 3,105,441 OK 06-Sep-06 00:36 Restore-FreeBSD

Page 189: Manual General de Servidores

P á g i n a | 189

====*

Vista del Storage.

*status

Status available for: 1: Director 2: Storage 3: Client 4: All

Select daemon type for status (1-4): 2

Automatically selected Storage: FileConnecting to Storage daemon File at 192.168.0.5:9103

tool-sd Version: 1.38.11(14 April 2006) i386-portbld-freebsd6.1 freebsd 6.1-RELEASE-p3Daemon started 27-Aug-06 10:19, 1 Job run since started.

Running Jobs:No Jobs running.====

Jobs waiting to reserve a drive:====

Terminated Jobs: JobId Level Files Bytes Status Finished Name=================================================================== 1 Full 1,051 2,054,391 OK 27-Aug-06 14:18 BackupCatalog====Device status:Device "FileStorage" (/usr/backup) is not open or does not exist.====

In Use Volume status:

Como podrán observar, no hay ningún Job en ejecución, el error "Device "FileStorage" (/usr/backup) is not open or does not exist." Esto es normal ya que no hay ningún Job ejecutándose.

2.14.16.- Ejecutando el primer Respaldo Full y Diferencial.

Page 190: Manual General de Servidores

P á g i n a | 190

Antes de ejecutar el primer respaldo, debe ejecutarse el comando label, de la siguiente manera:

*label

Este comando es para etiquetar el volumen físico en donde queremos guardar los respaldos. Ejecutado este comando nos pedirá el nombre o etiqueta para el disco. Una vez etiquetada la unidad, se podrá efectuar un respaldo, ya que de otra manera, arrojara un error.

Para ejecutar un respaldo se ocupa el comando run, el cual nos da a elegir el tipo de job que deseamos:

*run

A job name must be specified.The defined Job resources are: 1: Backup-Win2000 2: Backup-WinXP 3: Backup-FreeBSD 4: Restore-Win2000 5: Restore-winxp 6: Restore-FreeBSD

Select Job resource (1-6): 3

Run Backup jobJobName: Backup-FreeBSDFileSet: FreeBSD-fsLevel: FullClient: FreeBSD-fdStorage: FilePool: FullFileTestWhen: 2006-08-27 17:25:56Priority: 13OK to run? (yes/mod/no): yesJob started. JobId=3*You have messages.

*message

27-Aug 17:26 tool-dir: Start Backup JobId 3, Job=Backup-FreeBSD.2006-08-27_17.26.0127-Aug 17:26 tool-dir: Pruned 2 Jobs on Volume "FullTestFile-0001" from catalog.27-Aug 17:26 tool-dir: Recycled volume "FullTestFile-0001"27-Aug 17:26 tool-sd: Recycled volume "FullTestFile-0001" on device "FileStorage" (/usr/backup), all previous data lost.*You have messages.

2.14.17.- Restaurando Archivos con Bacula.

Page 191: Manual General de Servidores

P á g i n a | 191

Para ejecutar una restauración de los datos respaldados, se ocupa el comando restore, el cual nos da a elegir el tipo de respaldo a restaurar:

*restore

Using default Catalog name=MyCatalog DB=bacula

First you select one or more JobIds that contain filesto be restored. You will be presented several methodsof specifying the JobIds. Then you will be allowed toselect which files from those JobIds are to be restored.

To select the JobIds, you have the following choices: 1: List last 20 Jobs run 2: List Jobs where a given File is saved 3: Enter list of JobIds to select 4: Enter SQL list command 5: Select the most recent backup for a client 6: Select backup for a client before a specified time 7: Enter a list of files to restore 8: Enter a list of files to restore before a specified time 9: CancelSelect item: (1-9): 3Enter JobId(s), comma separated, to restore: 2You have selected the following JobId: 2Building directory tree for JobId 2 ...1 Job inserted into the tree and marked for extraction.Automatically selected Storage: File

You are now entering file selection mode where you add andremove files to be restored. All files are initially added.Enter "done" to leave this mode.

cwd is: /$ lsusr/$ cd usrcwd is: /usr/$ lsports/$ cd ports/sysutilscwd is: /usr/ports/sysutils/$ lsbacula/$ cd bacula/work/cwd is: /usr/ports/sysutils/bacula/work/$ ls*bacula-1.32c/$ cd bacula-1.32ccwd is: /usr/ports/sysutils/bacula/work/bacula-1.32c/

Page 192: Manual General de Servidores

P á g i n a | 192

$ ls*autoconf/*.cvsignore*ABOUT-NLS*COPYING*ChangeLog*CheckList*INSTALL*Makefile.in*README*README.AIX*ReleaseNotes*VERIFYING*configure*kernstodo*doc/*examples/*intl/*platforms/*po/*rescue/*scripts/*src/*configure.bak*configure.lineno*config.log*config.status*config.out*Makefile$ done

Bootstrap records written to /var/db/bacula/restore.bsr

The restore job will require the following Volumes:

TestVolume1

1116 files selected to restore.

Automatically selected Client: laptop-fdRun Restore jobJobName: RestoreFilesBootstrap: /var/db/bacula/restore.bsrWhere: /tmp/bacula-restoresReplace: alwaysFileSet: Full SetClient: laptop-fdStorage: File

Page 193: Manual General de Servidores

P á g i n a | 193

When: 2003-11-02 16:59:53Priority: 10OK to run? (yes/mod/no): yesRun command submitted.Restore command done.*

2.15.- Samba.

2.15.1.- Instalando Samba en FreeBSD.

/usr/local/sbin/smbd restart

Reiniciar demonio de samba

2.15.2.- Configuración de Samba.

1.- En Webmin

Agregando maquinas

Sistemas / nuevo usuario

Nombre del usuario: LAB02PC26$

Nombre real: LAB02PC26

Shell: /usr/sbin/nologin

Grupo primario: samba

2.- En SSH

Page 194: Manual General de Servidores

P á g i n a | 194

Acá creo la password con los cuales los pc se conectarán al servidor (samba)

El comando para poner la password es:

Smbpasswd root

New SMB: rebolledo

Confirmar passwd: rebolledo

3.- En W2K.

Se agregan las máquinas al dominio en windows, para que sean reconocidas en samba. Te vas a:

3.1.-Mi PC / propiedades / nombre de equipo (pestaña) / cambiar (botón)

3.2.- Desactivar “grupo de trabajo” y Activar “dominio”.

3.3.- Poner nombre al dominio

3.4.- Aparecerá

login:

passwd:

login:root

contraseña: rebolledo

4.- En SSH.

Utilizando el siguiente comando podrás agregar los usuarios al samba, esto quiere decir que cuando cada persona se conecte con su PC se estará logeando al servidor donde esta samba.

Comando:

smbpasswd –a mferrand

Page 195: Manual General de Servidores

P á g i n a | 195

El –a significa que estas agregando el usuario mferrand, es decir, el usuario mitchell ferrand al entrar a W2K pondrá

nombre de usuario: mferrand

contraseña: “definida por el usuario”

dominio: ” el dominio que tu le pusiste” en el paso 3.-

OBS: Tu puede asignarles un Disco virtual a cada persona a través de quotas, ahí podrás definir cuanto podrán utilizar de ese disco virtual que tengas en el servidor, si es que quieres.

Sirve para tener mayor dominio de la información que esta pasando por la red.

RESUMEN.

Tienes las máquinas agregadas

Los usuarios agregados

Los dominios en los PC con la misma contraseña que asignaste en el servidor

Observaciones.

En el archivo

/usr/local/etc/smb.conf

local Master= YES

domain Master = YES

Para samba 3.0 hay que agregar

Samba_Enable =YES

Esto lo tienes que hacer en rs.conf (para que el sistema te lea el script cuando parta)

Vi /etc/rc.conf

Page 196: Manual General de Servidores

P á g i n a | 196

Para cambiar la password de un usuario

Smbpasswd mferrand

Para visualizar las máquinas que se crearon en el samba (agregaron)

Cat /etc/passwd

2.15.3.- En Servidor de Alumnos Frankie, Servicios y versiones.

Para conocer los servicios y sus versiones que se encuentran funcionando.

Para:

1.- MySql.

Dentro de var coloco mysql y aparecerá la versión de este

Versión: 5.0.15

2.- PHP.

php –v //Muestra la versión de php

Versión: 2.0.5

3.- Apache.

httpd –v //Muestra la versión de apache

Versión: 1.3.34

4.- Samba.

cd /usr/ports/net

Page 197: Manual General de Servidores

P á g i n a | 197

ls | grep samba

cd samba3

cat distinfo //Conozco la versión de Samba

Versión: 3.0.20b

Distribución de Disco Duro en Frankie.

Filesystem Size Used Avail Capacity Mounted on

/dev/da0s1a 989M 66M 844M 7% /

devfs 1.0K 1.0K 0B 100% /dev

/dev/da0s1e 989M 68K 910M 0% /tmp

/dev/da0s1f 62G 6.8G 50G 12% /usr

/dev/da0s1d 989M 130M 780M 14% /var

2.15.4.- En Servidor de Profesores Scox, Servicios y Versiones.

1.- SSH.

• Para parar ssh:

kill `cat /var/run/sshd.pid`

2.16.- Vlan + Nat.

Page 198: Manual General de Servidores

P á g i n a | 198

Debido a la necesidad de segmentación de los distintos laboratorios se realiza esta por medio de Vlan en switch administrables 3com 4500, cada uno de estos realiza troncales que permiten dar conectividad a los equipos ubicados en los distintos laboratorios en este caso son 5, a continuación se describe la configuración realizada en un servidor con sistema operativo FreeBSD el cual entrega la conectividad hacia el exterior por medio de NAT.

2.16.1.- Descripción.

Para clarificar la configuración realizada se presenta el esquema implementado en la Figura 1, donde se aprecian los dispositivos y las redes que se requieren enrutar por medio de NAT hacia el exterior.

Figura 1

Como se aprecia en la figura 1 la navegabilidad de las distintas Vlans es realizada por medio de troncales configurados en el switch, para lograr realizar la conectividad de toda la red es utilizado un servidor que esta configurado con el sistema operativo FreeBSD en su versión 6.2, es este equipo el que permite reunir todas la vlan y realizar el nat entre la red publica y las distintas redes privadas, para realizar este proceso es necesario realizar una serie de configuraciones en el servidor.

Un punto importante es que posterior a la configuración es el servidor quien se convierte en la puerta de enlace de cada una de las redes privadas configuradas en las distintas Vlan.

2.16.2.- Configuración del Servidor.

Una vez instalado y actualizado el sistema operativo FreeBSD en su versión 6.2 se debe realizar lo siguiente:

Modificar el Kernel

Para modificar el kernel es necesario primero copiar el código fuente que viene por defecto para esto se debe realizar lo siguiente

# cd /usr/src/sys/i386/conf/

Page 199: Manual General de Servidores

P á g i n a | 199

# cp GENERIC MIKERNEL

Posterior a esto editamos MIKERNEL con el comando vi y agregamos las líneas como se describe a continuación

Editamos con:

# vi MIKERNEL

Y se agrega lo siguiente

options BRIDGE # linea alternativa

options IPFIREWALL # Activa firewall ipfw

options IPDIVERT #permite NAT con ipfw

options IPFIREWALL_VERBOSE

options IPFIREWALL_VERBOSE_LIMIT

options IPFIREWALL_DEFAULT_TO_ACCEPT

options DUMMYNET #permite realizar adminstracion de ancho de banda

device apic # I/O APIC

device miibus #aunque es alternativo permite dar maor soporte a las tarjetas de red

device vlan # permite generar soporte de Vlan con FreeBSD

Una vez ingresadas estas lineas sólo basta con guardar el archivo con los cambios esto depende del editos si se utilizó vi para esto se debe seguir la secuencia de

Esc :wq!

Con esto ya estamos listos para compilar el nuevo kernel, paras esto es necesario realizar los siguientes pasos:

# /usr/sbin/config MIKERNEL

# cd ../compile/MIKERNEL

# make depend

Page 200: Manual General de Servidores

P á g i n a | 200

# make

# make install

Con esto ya se encuentra instalado el Nuevo Kernel del sistema operativo solo basta con reiniciar el servidor.

Crear las Vlan

Para crear las Vlan que sean necesarias los pasos a seguir son muy sencillos sólo basta con modificar el archivo rc.conf el cual se encuentra en /etc, para esto seguimos los siguientes pasos

# cd /etc

# vi rc.conf

Una vez abierto agregamos las siguientes lineas:

cloned_interfaces="vlan10 vlan20 vlan30"

ifconfig_vlan10="inet 192.168.10.1 netmask 255.255.255.0 vlan 10 vlandev em0"

ifconfig_vlan20="inet 192.168.20.1 netmask 255.255.255.0 vlan 20 vlandev em0"

ifconfig_vlan30="inet 192.168.30.1 netmask 255.255.255.0 vlan 30 vlandev em0"

ifconfig_em0="up"

Posteriormente solo vasta con reiniciar el servidor. Un punto importante es que la conectividad ocurre solo si la interfaz em0 se conecta a un troncal configurado del cual provengan las vlan, las que deben tener especificados los mismos números que se encuentran anterior a vlandev

Nat.

Para esto utilizamos el demonio Natd que trabaja con la opcion IPDivert en conjunto con IPFIREWALL, ambos ya se encuentran instalados al realizar la recompilación del KERNEL.

firewall_enable="YES"

Page 201: Manual General de Servidores

P á g i n a | 201

firewall_type="OPEN"

natd_enable="YES"

natd_interface="fxp0"

natd_flags="-f /etc/natd.conf"

Con estas líneas lo que estamos indicando es primero se habilita el demonio del ipfirewall, luego indicamos que su configuración es del tipo OPEN, posteriormente se inicia el demonio natd, y se indica que este esta en la interfase fxp0 siendo esta interfaz la interna o mejor dicho la privada, y se habilitan todas las configuraciones especiales en el archivo /etc/natd.conf.

Para dar mayores restricciones a la posibilidad de navegabilidad de la red privada a la red publica es necesario crear reglas de firewall, estas se realiza de la misma forma como ya se encuentran documentadas en otros tutoriales.

Por otro lado si es necesario realizar algún tipo de redireccionamiento ya sea de IP o de puerto, esto se debe ubicar en el archivo /etc/natd.conf donde se indica por medio de dos comandos redirect_addres en caso de reuquerir redireccionar la ip externa a una ip interna o redirect_port en caso de ser necesario redireccionar los distintos puertos en si la estructura del archivo es la siguiente

redirect_port tcp 192.168.20.5:80 80

redirect_port tcp 192.168.20.5:443 443

redirect_port tcp 192.168.20.5:25 25

redirect_port tcp 192.168.20.5:22 2222

En este caso de ejemplo lo que se encuentra en la red privada que es necesario redireccionar es un servidor de paginas web, entonces todas las solicitudes son realizadas a la ip “publica” y el natd se encarga de direccionar al equipo que se requiera en la red privada.

Ahora solo basta con reiniciar el computador y todo está listo.

Page 202: Manual General de Servidores

P á g i n a | 202

2.17.- UPS.

2.17.1.- Instalación de UPS.

Primero se instala la aplicación para eso hay que ir a la siguiente ruta:

cd /usr/ports/sysutils/apcupsd

make

Aquí se marcan:

cgi

usb

snmp

Luego:

make install

2.17.2.- Configuración de Archivo Agregando el Tipo de Cable.

En el archivo apcupsd.conf se agregan l,os parámetros para que reconozca el tipo de cable que se va a utilizar en la instalación de la UPS.

Para eso hay que realizar lo siguiente:

Page 203: Manual General de Servidores

P á g i n a | 203

cd /usr/local/etc/apcupsd

vi apcupsd.conf

>>Con cable USB

Dentro de este archivo (apcupsd.conf) se agregan las siguientes lineas.

En la línea 19 aparecerá UPSCABLE se deja de la siguiente forma

UPSCABLE usb

En la líea 65 aparecerá UPSTYPE se deja de la siguiente forma

UPSTYPE usb

>>Con cable serial

Dentro de este archivo (apcupsd.conf) se agregan las siguientes lineas.

En la línea 19 aparecerá UPSCABLE se deja de la siguiente forma

UPSCABLE 940-0024C

En la líea 65 aparecerá UPSTYPE se deja de la siguiente forma

UPSTYPE apcsmart

DEVICE /dev/tty

2.17.3.- Ejecutando el Demonio.

Una vez realizado los pasos anteriores solo queda ejecutar el script, este es.

Page 204: Manual General de Servidores

P á g i n a | 204

/usr/local/etc/rc.d/apcupsd start

Importante.

Si al instalar la UPS (make) y aparecen las opciones y no es marcada usb y luego se instala la UPS, es recomendable una vez que se quiera instalar la UPS a través de cable usb que se desinstale la UPS, esto se hace de la siguiente forma

cd /usr/local/ports/sysinstall/apcupsd

make deinstall

Una vez desintalada la UPS se realizan nuevamente los pasos, para agregar las opciones de los cables, en este caso el cable usb se encontrara agregado, pero deberá hacerse

cd /usr/local/ports/sysinstall/apcups

make clean

Luego:

make install clean

Una vez instalada la UPS se ejecuta el siguiente comando

apcaccess

Page 205: Manual General de Servidores

P á g i n a | 205

2.18.- Twiki.TWiki permite el desarrollo de aplicaciones web basadas en formularios sin necesidad de

programación así como control de acceso sofisticado opcional. Soporta también variables de configuración, búsquedas, anexos de archivos, etc.

La interfaz de aplicación para extensiones es utilizada por más de cien extensiones disponibles para acceso a bases de datos, diagramas, ordenamiento de tablas, hojas de cálculo, dibujos, seguimiento de proyectos y muchas otras posibilidades.

2.18.1.- 1º Precondición.

Instalación de apache y editar el archivo httpd.conf agregando las siguientes líneas

Crear directorio twiki

mkdir //usr/local/www/data/twiki

Editando el archivo

vi /usr/local/etc/apache/httpd.conf

Agregando las líneas en el archivo:

ScriptAlias /twiki/bin/ "/usr/local/www/data/twiki/bin"

Alias /twiki/ "/usr/local/www/data/twiki/"

<Directory "/usr/local/www/data/twiki/bin">

Options +ExecCGI

SetHandler cgi-script

Allow from all

</Directory>

<Directory "/usr/local/www/data/twiki/pub">

Options FollowSymLinks +Includes

AllowOverride None

Allow from all

</Directory>

Page 206: Manual General de Servidores

P á g i n a | 206

<Directory "/usr/local/www/data/twiki/data">

deny from all

</Directory>

<Directory "/usr/local/www/data/twiki/templates">

deny from all

</Directory>

Se pone la ruta /usr/local/www/data porque aquí es dionde se alojan las páginas web

2.18.2.- 2º Precondición.

Instalar los módulos de PERL CGI Modules

Se instala el módulo perl5

cd /usr/ports/lang/perl5

make install clean

2.18.- Reparar Discos Fsck.

Para reparar los discos en FreeBSD se entra en el modo 5

Page 207: Manual General de Servidores

P á g i n a | 207

Una vez dentro se escanean las particiones del disco

mount –a /dev/ ad0s1a

Con mount –a solamnete montara todo lo que se encuentra en el fstab

fsck /dev/ad0s1a

Problema

UNEXPECTED SOFT UPDATE INCONSISTEN CY; RUN fsck MANUALLY

::::::::::::::::::::::::::::::::::::::::::::::Problema solucionado::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Otra opción para solucionar este tipo de problema

Problema

Servidor detenido con estos mensajes en pantalla:

/etc/rc.conf Syntax error 123: Unterminated quoted string

Enter full pathname of shell or RETURN for /bin/sh:

Escenario

Si llegase aprecer un error d este tipo, quiere decir que existe una inconcistencia en rc.conf, es decir, un parametro erroneo en el archivo.

Se intentó solucionar como en el paso anterior pero no dio resultado, ya que al entrar en el modo 5 solo mostraba una partición, no montando el editor vi, por lo que solo se podía visualizar el archivo con cat y no editar con vi

Page 208: Manual General de Servidores

P á g i n a | 208

Solución

Para solucionar este problema se entro en modo 4 (Single) y se hizo el siguiente procedimiento

En el Prompt., ejecutar el comando mount. Este comando montará todos los filesystems listados en el archivo /etc/fstab:

# mount -t ufs –a

# mount //Mostrara todas las particiones

# fsck /dev/da0s1a //fsck de todas las particiones que se pueda, este paso es posible que no Sea necesario ya que no es un problema del disco si no inconsistencia de un archivo

# exit

#Enter full pathname of shell or RETURN for /bin/sh: //presionar Enter

Una vez hecho estos pasos se podrá utilizar el editor vi y arreglar el problema que se encuentra en rc.conf

::::::::::::::::::::::::::::::::::::::::::::::::::::::::Problema solucionado ::::::::::::::::::::::::::::::::::::::::::::::::::::

2.19.- Actualizar Software Vulnerable en FreeBSD.

FreeBSD dispone de dos formas básicas de instalar paquetes: desde "paquetes" precompilados, o a partir "ports" conteniendo fuentes e instrucciones. Para eliminar de nuestro sistema los paquetes vulnerables y poder sustituirlos por las últimas versiones disponibles, haremos uso de ambas.

Comenzaremos por bajarnos la colección de ports y extraerlos en nuestro sistema mediante:

# portsnap fetch

# portsnap extract

Al finalizar este proceso tendremos el esqueleto de nuestra colección de ports en /usr/ports.

Page 209: Manual General de Servidores

P á g i n a | 209

A continuación detectaremos los paquetes vulnerables que tenemos en nuestro sistema con la siguiente orden:

Si no lo tenemos instalado nos dirigimos a:

# /usr/ports/security/portaudit# make install clean

Y luego realizamos.

# /usr/local/sbin/portaudit -Fda

Tras una instalación de FreeBSD 7.0 puede haber una decena de paquetes marcados como vulnerables y deberemos ir sustituyéndolos uno por uno. Al ejecutar el comando anterior tras cada actualización iremos comprobando cómo se va reduciendo la lista de paquetes vulnerables...

Un ejemplo

Como ejemplo, veremos cómo actualizar el paquete vulnerable Ghostscript GPL 8.60 a la versión 8.62 no vulnerable.

En primer lugar, eliminamos nuestro Ghostscript vulnerable mediante:

# pkg_delete -f ghostscript-gpl-8.60

(el nombre y número de versión del programa a actualizar los obtenemos a partir de la salida del comando portaudit (visto antes).

Ahora, para localizar ghostscript en nuestra colección de ports, tecleamos:

# whereis ghostscript-gpl

La respuesta del sistema es la siguiente:

ghostscript-gpl: /usr/ports/print/ghostscript-gpl

Debemos ir a ese directorio:

# cd /usr/ports/print/ghostscript-gpl

Y teclear:

# make install clean

En un par de minutos se compilará nuestra nueva versión de Ghostscript a partir del código fuente descargado automáticamente de Internet y las instrucciones de configuración y compilación contenidas en nuestro árbol de ports.

Podemos comprobar que todo ha ido bien tecleando:

# pkg_info | grep -i ghostscript-gpl

Page 210: Manual General de Servidores

P á g i n a | 210

Siendo la respuesta:

ghostscript-gpl-8.62_2 GPL Postscript interpreter

Lo que demuestra que ya tenemos instalada la versión 8.62, no vulnerable.

Nuestro objetivo final es que el comando portaudit que presentamos al inicio nos acabe devolviendo una lista vacía, indicando que ya no queda ningún software en nuestro sistema con vulnerabilidades conocidas.

También hemos de preocuparnos de mantener actualizada nuestra colección de ports, sobre todo antes de instalar cualquier programa, para lo que basta con un simple:

# portsnap update

2.20.- Cambiar Password de Root.

1. Reiniciamos el Sistema FreeBSD, al momento de bootear aparecerá un menú, seleccionamos la opción 4 "start FreeBSD in single user mode" y entraremos como en un modo emergencia.

Al parecer el siguiente mensaje "Enter fill pathname of shell or RETURN for /bin/sh:" solamente presionamos ENTER

2. Necesitamos montar los sistemas de ficheros de FreeBSD.# mount -t ufs -a

3. Ahora procedemos a cambiar el password del root#passwd root

4. Reiniciamos y volvemos entrar al sistema en modo normal y ya podremos acceder como usuario root al sistema.

Page 211: Manual General de Servidores

P á g i n a | 211

Page 212: Manual General de Servidores

P á g i n a | 212

2. 3.- Windows Server

3.1.- Instalación Windows Server.

Paso 1.

Arrancaremos el equipo con el DVD de Windows Server Enterprise 2008. Se iniciará el programa de instalación (desde el principio en modo gráfico, con una interfaz idéntica a Windows Vista). La

Page 213: Manual General de Servidores

P á g i n a | 213

primera ventana que aparecerá permitirá elegir el idioma, el formato de hora y moneda y el teclado (método de entrada):

Paso 2.

En esa pantalla hagan clic en "Instalar ahora".

Paso 3.

En esta pantalla tecleen la clave de producto de su Windows Server 2008. Si no la tienen, pulsen en "Siguiente" para teclear más tarde la clave. Los que hayan puesto clave, pasen al paso 5.

Paso 4.

Elijan la edición de Windows Server 2008 que quieran. NO elijan las instalaciones Server Core si no saben administrar un sistema por comandos.

Paso 5.

Acepten el contrato de licencia y hagan clic en "Siguiente".

Page 214: Manual General de Servidores

P á g i n a | 214

Paso 6.

En esta pantalla os preguntará qué instalación desean hacer. Como han arrancado la instalación arrancando el PC mediante el DVD, solamente les da la opción de hacer una instalación limpia. Si iniciasen la instalación desde Windows Server 2003 o 2003 R2 pueden hacer una actualización. Hagan clic en "Personalizada (Avanzada)".

Paso 7.

Aquí pueden particionar el disco y hacer todos los cambios que quieran. Después elijan la partición donde desean instalarlo y hagan clic en "Siguiente" para que comienze la instalación.

Paso 8.

Como ven, la instalación se compone de cinco partes: copiar archivos, expandir archivos, instalar características, instalar actualizaciones y completar instalación.

Cuando haya copiado todos los archivos y haya expandido algunos el asistente de instalación reiniciará el equipo mostrando esa pantalla cuando arranque por primera vez.

Y continuará instalando archivos.

Paso 9.

Cuando termine de instalar, Windows Server 2008 les indicará que tienen que cambiar la contraseña de usuario. Hagan clic en "Aceptar".

Introducid la nueva contraseña y pulsen Intro.

Hagan clic en "Aceptar" para iniciar sesión.

Page 215: Manual General de Servidores

P á g i n a | 215

Prepara el escritorio, ya queda menos.

Y arrancó. Les saldrá una ventana con ayuda y todos los pasos para configurar tu servidor.

Ya tenemos nuestro Server 2008 listo para empezar a implementar funciones y servicios.

3.2.- Italc.

3.2.1.- Instrucciones de Instalación de Administrador.

1. Hacer doble-clic en el archivo setup.exe para iniciar la instalación. Deberá de

aparecer una pantalla de Bienvenida, haz clic en siguiente para continuar (Ver Imagen

1.1.1).

Imagen 1.1.1

2. seleccionar "I agree" y haz clic en Next (Ver Imagen 1.2.1).

Page 216: Manual General de Servidores

P á g i n a | 216

Imagen 1.2.1

3. Seleccionar en donde se quiere Instalar iTALC (es recomendable la ubicación por

default) y hacer clic en Next (Ver Imagen 1.3.1).

Imagen 1.3.1

4. Hacer clic en 'Yes' para crear la carpeta o directorio (Ver Imagen 1.4.1).

Imagen 1.4.1

Page 217: Manual General de Servidores

P á g i n a | 217

5. Selecciona ambas opciones, 'Client and Master Applications' y hacer clic en Next

(Ver Imagen 1.5.1).

Imagen 1.5.1

6. Selecciona "Create a new key-pair" y hacer clic en Next (Ver Imagen 1.6.1).

Imagen 1.6.1

7. Específica en donde quieren Instalar la llaves (keys). Estas llaves son usadas para

conectar al servidor con las máquinas clientes y asegurar que solo las computadoras que

tienen esta misma llave puedan comunicarse y también para permitir tener múltiples "salas

de clases" en la misma Red de Área Local. Es recomendable usar la configuración por

default, pero es necesario almacenar la dirección donde fue exportada la llave pública (Ver

Imagen 1.7.1)

Imagen 1.7.1

8. Ahora iniciará la instalación.(Ver Imagen 1.8.1).

Imagen 1.8.1

9. Al llegar al 90% Se recibirá una confirmación de que los Servicios del iTALC Cliente

fueron registrados correctamente. Hacer clic en OK.(Ver Imagen 1.9.1)

Imagen 1.9.1

10.Ahora la instalación se ha completado. Haz clic en Quit.(Ver Imagen 1.10.1)

Imagen 1.10.1

Page 218: Manual General de Servidores

P á g i n a | 218

3.2.2.- Instrucciones de Instalación de Usuario Comun.

1. Completar los pasos del 1 al 5 de la sección "Instrucciones de Instalación

Administrador".

2. Seleccione solo la opción "Client Application", Hacer clic en Next.(Ver Imagen 2.2.1).

Imagen 2.2.1

3. Seleccionar "Import public key of master computer", Buscar en la unidad USB o

carpeta compartida de red en la que coloco la llave pública del paso 12 de la sección

"Instrucciones de Instalación Administrado", hacer clic en Next.(Ver Imagen 2.3.1)

Imagen 2.3.1

4. Especificar localmente en donde se quiere almacenar la llave (es recomendable

dejar la opción por default). Hacer clic en Finish. En este punto la instalación se ha

completado.(Ver Imagen 2.4.1)

Imagen 2.4.1

Page 219: Manual General de Servidores

P á g i n a | 219

3.2.3.- Instrucciones de Creacion Nueva “Sala de Clases”.

1. Hacer un clic con el botón derecho del mouse sobre el “Administrador de Clases” Luego Seleccionar “Añadir Clase” (Ver Imagen 3.1.1), Una vez seleccionada esta Opción se debe dar un nombre a la nueva clase(Ver Imagen 3.1.2).

Imagen 3.1.1

Imagen 3.1.2

Page 220: Manual General de Servidores

P á g i n a | 220

2. Hacer un clic con el botón derecho del mouse sobre la nueva Clase Creada y seleccionar “Agregar Computadora” (Ver Imagen 3.2.1)

Imagen 3.2.1

Page 221: Manual General de Servidores

P á g i n a | 221

3. Para Ingresar un Equipo es necesario conocer la IP y la MAC (solo en caso de querer Encender el equipo remotamente), para poder llenar los campos solicitados (Ver Imagen 3.3.1).

Imagen 3.3.1

Por último Repetir el paso 2 y 3 hasta Ingresar Todos los equipos de la clase.

Page 222: Manual General de Servidores

P á g i n a | 222

3.2.4.- Instrucciones de Clonacion de Administrador.

1. Lo Primero es tener instalado correctamente un Administrado(seguir pasos Anteriores), una vez instalado debemos ir a la dirección donde se almacenan las llaves(key) de nuestro “Administrador” correctamente configurado, y hacer un respaldo de dichas llaves(Ver Imagen 4.1.1).

Generalmente las llaves se encuentran en:

Windows 2000 o Superior: C:\Archivos de Programas\iTALC\keys

Windows 7: C:\Program Files\iTALC\keys

Imagen 4.1.1

2. Una vez hecho el respaldo de nuestras llaves se procede a hacer la instalación del nuevo equipo de Administrador (Ver “Instrucciones de Instalación de Administrador”), luego Acceder a la dirección en donde creamos nuestras nuevas llaves, y reemplazarlas por las que respaldamos en el paso anterior, esto permitirá controlar los mismos equipos que el otro administrador.

3. A pesar de que ya podemos Controlar los mismos Equipos es necesario configurar las mismas clases que en el otro administrador, para esto no es necesario agregar de un equipo a la vez, por lo que debemos buscar los archivos de configuración de iTALC, estos son 2:

a. globalconfig.xml

b. personalconfig.xml

Estos Archivos se encuentran en la siguiente posición:

a. Windows 2000 o Superior = C:\Documents and Settings\Administrador\Datos de programa\iTALC

b. Windows 7= C:\Users\pedro\AppData\Roaming\iTALC

Page 223: Manual General de Servidores

P á g i n a | 223

Una vez Encontrados los archivos es necesario Respaldarlos (Ver Imagen 4.3.1).

Imagen 4.3.1

4. Ahora que tenemos el respaldo de la configuración, la copiamos en la dirección del nuevo Administrador y terminamo.

Iniciamos iTALC y tendremos la misma configuración que el administrador de donde clonamos.

Page 224: Manual General de Servidores

P á g i n a | 224

3. 4.- Aplicaciones & Servicios Extras

4.1.- Switch 3COM 4500 – Vlan.

Para entrara al Switch 3COM 4500 se hace de la siguiente forma:

Page 225: Manual General de Servidores

P á g i n a | 225

Login: admin.

Passwd: (Enter)

4.1.1.- Configuraciones.

El Switch 3COM 4500 en su parte posterior cuenta con una puerta con entrada a un

conector RJ- 45, esta entrada es llamada puerta consola, a través de esta puerta se

puede acceder a la configuración de este Switch. A continuación para que quede mas

claro el método de configuración a seguir se especificarán los pasos a seguir.

Paso 1

Ubíquese en una estación de trabajo, conecte el cable que viene con el Switch 3COM

4500 – cable de color celeste-. Este cable por un extremo tiene un terminal RJ– 45, y

por el otro una entrada serial. Conecte la entrada serial a su PC en cualquiera de los

COM disponibles, el otro extremo – el del RJ- 45 debe

Paso 2

Recuerde que usted se ha conectado al punto de red # 7, que es de color verde, el cual

esta señalado en la figura anterior, por lo tanto diríjase al Patch Panel y localice el

punto de red # 7, una vez localizado este punto de red, conecte un Patch Cord derecho

– cable – a la boca # 7 el y el otro extremo del Patch Cord conéctelo al puerto consola

del Switch, que se encuentra señalado en el Patch Panel como Con.

En este caso nos conectaremos al Switch 2 el cual se encuentra rotulado con el

color verde, por lo tanto la conexión en el Patch Panel irá desde el punto # 7 que es de

color verde, hasta el puerto consola del Switch 2 que es de color verde, cabe

mencionar que estos colores identifican el grupo de trabajo al cual usted pertenece.

Page 226: Manual General de Servidores

P á g i n a | 226

Figura 1.1: Cable de consola conectado al COM1 del PC

Page 227: Manual General de Servidores

P á g i n a | 227

Figura 1.2: Cable de consola conectado al punto de red # 7

Figura 1.3: Cable derecho conectado al punto de red #7 del Patch Panel

Page 228: Manual General de Servidores

P á g i n a | 228

Figura 1.4: Cable derecho que conecta el punto de red # 7 del Patch Panel con

el puerto consola del Switch

Paso 3

Una vez realizado los pasos anteriores, usted se podrá conectar por HyperTeminal al

Switch, para así poder realizar la configuración de este.

El HyperTerminal se encuentra en la ruta de su PC, en inicio/ programas/ accesorios/

comunicaciones/ Hyperterminal.

Los paso a seguir se encuentran en las siguientes figuras.

1º: ingresar el nombre de la sesión que se va a utilizar

Page 229: Manual General de Servidores

P á g i n a | 229

Figura 1.5: Ingreso de usuario

2º: Escoger el COM 1

Page 230: Manual General de Servidores

P á g i n a | 230

Figura 1.6: COM

3º: Configuración de puerto

Page 231: Manual General de Servidores

P á g i n a | 231

Figura 1.7: Configuraciones

4º: Se encuentra dentro del Switch, para entrar a la configuración

Figura 1.8: Dentro de la consola

Para entrar al modo de configuración del switch

Page 232: Manual General de Servidores

P á g i n a | 232

<4500>system-view

Pedirá login y passwd, donde login es admin y passwd blank (en blanco) como aparece en el paso

siguiente

4.1.2.- Entrando al Switch 3COM 4500.

Login: admin.

Passwd: (Enter)

4.1.3.- Configurando la Vlan 1.

Con esta Vlan puedo configura el Switch vía Web (en este documento solo se abordará a través de

consola) utilizando la misma dirección de red del PC con la del Switch

<4500>Interface vlan 1

<4500>ipaddress xxx.xxx.xxx.xxx mmm.mmm.mmm.mmm

4.1.4.- Creando la Vlan 50.

[4500]vlan 50

4.1.5.- Asignando la puerta 0/2.

Page 233: Manual General de Servidores

P á g i n a | 233

[4500-vlan50]port Ethernet1/0/2

Asignación por rangos

[4500-vlan50]port Ethernet1/0/2 to Ethernet 1/0/8

4.1.6.- Muestra la Vlan Creada.

[4500-vlan50]display vlan

The following VLANs exist:

1(default), 50

4.1.7.- Muestra las puertas asignadas a la vlan 50.

[4500-vlan50]display vlan 50

VLAN ID: 50

VLAN Type: static

Route Interface: not configured

Description: VLAN 0050

Tagged Ports: none

Untagged Ports:

Ethernet1/0/2

4.1.8.- Configuración de ip de la vlan.

[4500]interface Vlan-interface 50

[4500-Vlan-interface50]ip address 192.168.20.2 255.255.255.0

Page 234: Manual General de Servidores

P á g i n a | 234

4.1.9.- Mostrando la configuración de la vlan.

[4500-Vlan-interface50]display vlan 50

VLAN ID: 50

VLAN Type: static

Route Interface: configured

IP Address: 192.168.20.2

Subnet Mask: 255.255.255.0

Description: VLAN 0050

Tagged Ports: none

Untagged Ports:

Ethernet1/0/2 Ethernet1/0/3 Ethernet1/0/4

Ethernet1/0/5

4.1.10.- Borrar una IP.

[4500-Vlan-interface50]undo ip address 192.168.20.2 255.255.255.0

4.1.11.- Borra Bocas Asignadas.

[4500-vlan50]undo port Ethernet1/0/5

4.1.12.- Guardando la Configuración.

<4500>save

The configuration will be written to the device.

Are you sure?[Y/N]y

Please input the file name(*.cfg)[flash:/3comoscfg.cfg]:

Page 235: Manual General de Servidores

P á g i n a | 235

Now saving current configuration to the device.

Saving configuration. Please wait...

........

Configuration is saved to flash memory successfully.

Unit1 save configuration flash:/3comoscfg.cfg successfully

-------------------------------------------------------------------------------------------------------

4.1.13.- Configuraciones avanzadas / Realizando Trunk (Troncales).

En este caso se encuentra en un Switch cliente que quiere tener conectividad a través de un

Switch central que se conecta a un servidor con FreeBSD 6.2 con soporte de múltiples Vlan. Esto

se hace de la siguiente forma:

Situándose en el switch cliente que contiene la vlan 10, esta “pasará” por la boca 1 del switch.

En el switch servidor se debe tener creada la Vlan 10 para que esta sea reconocida y se pueda

realizar el trunk.

El procedimiento en el switch servidor es el mismo que en el Switch cliente. Se crea un troncal por

donde pase la vlan 10

[4500]interface Ethernet1/0/1

[4500-Ethernet1/0/1]port link-type trunk

[4500-Ethernet1/0/1]port trunk permit vlan 10 to 10

Please wait... Done.

[4500-Ethernet1/0/17]

A continuación se realiza un ejemplo de una empresa en la cual se implementan vlan, las cuales se

encuentran implementadas con switch clientes y un switch central conectada a un servidor

Page 236: Manual General de Servidores

P á g i n a | 236

En la figura 1 (Switch)se aprecia que la boca 1 del Switch Cliente se realizaron los comandos

mostrados anteriormente para realizar el trunk (troncal) que tiene comunicación con el Switch

Central. Cabe señalar que para hacer el trunk la Vlan 10 tuvo que haber estado previamente

creada.

Laboratorio 1

Switch 3COM Laboratorio 1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2324

25 26 27 28 # 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 4748

Trunk con Switch Central

Bocas no asignadas

Patch Panel Laboiratorio 1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2324

25 26 27 28 # 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 4748

41 Cable de sala de servidores a Patch Panel

41 Conectado a 1

Figura 2.1: Switch cliente Laboratorio 1

Laboratorio 2

Page 237: Manual General de Servidores

P á g i n a | 237

Switch Laboratorio 2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2324

25 26 27 28 # 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 4748

Trunk con Switch Central

Bocas no asignadas

Patch Panel Laboratorio 2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2324

25 26 27 28 # 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 4748

41 Cable de sala de servidores a Patch Panel

41 Conectado a 1

Laboratorio de Gestión

Switch Gestión

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2324

Trunk con Switch Central

Vlan Redes

Vlan Tesis

Patch Panel Gestión

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2324

Page 238: Manual General de Servidores

P á g i n a | 238

19 Conectividad con Switch 2

20 Cable ponchado con punto de red 47 Patch Panel Laboratorio de Redes

21 Cable ponchado con punto de red 48 Patch Panel Laboratorio de Redes

22 Cable ponchado con punto de red 11 Patch Panel Laboratorio de Tesis

23 Cable ponchado con punto de red 12 Patch Panel Laboratorio de Tesis

24 Cable de sala de servidores a Patch Panel

20 21 Conectados a 21 22

22 23 Conectados a 23 24

24 Conectado a 1

En la figura 2.1 (Switch) se aprecia que en la boca 19 se realiza trunking con el Switch cliente

(Figura 1), el procedimiento es el mismo, se debe tener creada la Vlan y luego ejecutar los

comandos mostrados anteriormente

Switch Central (Sala de Servidores)

Switch Central

1 2 3 4 5 6 7 8 9 10 11 1213

14 15

16 17

18

19 20

21 22

23 24

1 Reservado para TFTP (192.168.50.1

18 Conección a servidor de alumnos

19 Trunk VLAN 10 Laboratorio 1 (desde Departamento a SW Central)

20 Trunk VLAN 20 Laboratorio 2 (desde Departamento a SW Central)

21 Trunk VLAN 30, 40, 50 Lab 3. Lab 4, Lab 5

Page 239: Manual General de Servidores

P á g i n a | 239

23 Trunk Servidor T1

24 Reservado Trunk VLAN 100 profesores

Patch Panel Sala servidores

1 2 3 4 5 6 7 8 9 10 11 1213

14 15

16 17

18

19 20

21 22

23 24

25 26 27

28 29

30

31 32

33 34

35 36

37

38 39

40 41

42

43 44

45 46

47 48

41 Conectado a 20

42 Conectado a 19

43 Conectado a 21

Figura 2.2: Switch Central

VLAN Dirección de red Laboratorio Rango ip utilizado

VLAN 10 192.168.10.0 Laboratorio 01 101 a 130

VLAN 20 192.168.20.0 Laboratorio 02 101 a 132

VLAN 30 192.168.30.0 Laboratorio Gestión 101 a 41

VLAN 40 192.168.40.0 Laboratorio de Redes 5 a 60

VLAN 50 192.168.50.0 Laboratorio de Tesis 101 a 111

Servidores Descripción Interfac

e ip Red / Descrip

Page 240: Manual General de Servidores

P á g i n a | 240

Godzilla Alumnos 192.168.20.5 VLAN 20

Kinkong Tesistas 192.168.20.6 VLAN 20

Terminator NAT Prof/Alum fxp0 10.100.6.205 Profesores

Soporte de Multiples Vlan

para Laboratorios DECOM 2º Piso

Vlan 10 192.168.10.

1 VLAN 10

Vlan 20 192.168.20.

1 VLAN 20

Vlan 30 192.168.30.

1 VLAN 30

Vlan 40 192.168.40.

1 VLAN 40

Vlan 50 192.168.50.

1 VLAN 50

Ultraman Prof.(Web) em0 10.100.6.204 Profesores

amp3 10.100.6.183 Jail 5

home 10.100.6.181 Jail 4

dnsi 10.100.6.173 Jail 2

dnse 10.100.6.171 Jail 1

De esta forma se hace el trunking entre todos los Switch clientes y el Switch Central.

Para realizar el trunking entre el Switch central y el servidor con FreeBSD 6.2 con soporte de

múltiples Vlan se “pasan” todas las vlan por la boca 23 del switch (figura 2 boca color café) de la

misma forma que se realizaron los otros trunking

4.1.14.- Posible Problema con Puertos Trunk.

En el Switch de Redes/ Tesis se tiene una Vlan 50 creada esta vlan en un principio se asignaron las

bocas 0/2 a la 0/20. Mientras que en el Switch Central se realiza trunk con este switch en la boca

18.

Page 241: Manual General de Servidores

P á g i n a | 241

Lo que sucede es lo siguiente: Al crear la Vlan 40 (Para Tesistas) no deja asignar la puerta 0/18 a la nueva Vlan, debido a que esta puerta está asignada en el Switch Central como trunk.

[4500-vlan40]port Ethernet1/0/11 to Ethernet1/0/20

Error: Trunk or hybrid port(s) cannot be added or deleted in this manner.

[4500-vlan40]port Ethernet1/0/12

[4500-vlan40]port Ethernet1/0/13

[4500-vlan40]port Ethernet1/0/14

[4500-vlan40]port Ethernet1/0/15

[4500-vlan40]port Ethernet1/0/16

[4500-vlan40]port Ethernet1/0/17

[4500-vlan40]port Ethernet1/0/18

Error: Trunk or hybrid port(s) cannot be added or deleted in this manner.

[4500-vlan40]port Ethernet1/0/19

[4500-vlan40]port Ethernet1/0/20

Como se aprecia en la salida de comandos se identifica la puerta 0/18 como trunk. Y arroja el siguiente error Error: Trunk or hybrid port(s) cannot be added or deleted in this manner.

4.1.15.- Borra el puerto trunk 0/18 de la Vlan.

Los puertos trunk no pueden ser borrados asignándolos a otras Vlan si no que de la siguiente forma

[4500]interface Ethernet1/0/18

[4500-Ethernet1/0/18]undo port trunk permit vlan all

Please wait... Done.

[4500-Ethernet1/0/18]quit

[4500]display vlan 40

VLAN ID: 40

VLAN Type: static

Route Interface: not configured

Description: VLAN 0040

Tagged Ports:

Ethernet1/0/19

4.1.16.- Políticas de seguridad.

4.1.16.1.- Respaldo de imágenes de Switch en PC.

Page 242: Manual General de Servidores

P á g i n a | 242

Las imágenes de los Switch deben ser respaldadas (una vez terminada todas las configuraciones), ya que cualquier problema que tenga el switch, ya sea por configuración o por hardware estas puedan ser cargadas posteriormente al dispositivo

4.1.16.2.- Subir imagen 3COM 4500 desde el Switch al PC (TFTP).

Nota: TFTP utilizado 3CServer

Para respaldar desde el Switch al PC se realiza lo siguiente:

Para tener conectividad con el Switch se debe conectar un PC en el cual se encuentre un TFTP,

ambos dispositivos deben tener la misma dirección de red, en el ejemplo es 192.168.50.0

Switch: 192.168.50.1

PC: 192.168.50.10

4.1.16.3.- A través de la consola del Switch se escribe.

pp s3n03_01_00s56p01.app

The file unit1>flash:/s3n03_01_00s56p01.app exists. Overwrite it?[Y/N]:

<4500>tftp 192.168.50.10 put s3n03_01_00s56p01.app s3n03_01_00s56p01.app

File will be transferred in binary mode.

Copying file to remote tftp server. Please wait... \

TFTP: 4008232 bytes sent in 53 second(s).

File uploaded successfully.

Donde:

• get s3n03_01_00s56p01.app = es la imagen del Switch• 192.168.50.10 = ip del PC

Page 243: Manual General de Servidores

P á g i n a | 243

3.4.- Para ver los archivos que se encuentran en la flash .

<4500>dir flash:

Directory of unit1>flash:/

0 -rw- 4008232 Jan 21 2006 12:03:08 s3n03_01_00s56p01.app

1 -rw- 641242 Jan 21 2006 12:04:01 s3p01_00.web

2 -rw- 5195 Jan 21 2006 12:04:24 3comoscfg.def

7239 KB total (2562 KB free)

Observación.

Para respaldar la información de los otros archivos que se encuentran en la flash no se utiliza get como en el caso de respaldar la imagen si no que se utiliza put

<4500>tftp 192.168.50.10 put s3p01_00.web s3p01_00.web

File will be transferred in binary mode.

Copying file to remote tftp server. Please wait... |

TFTP: 641242 bytes sent in 8 second(s).

File uploaded successfully.

<4500>tftp 192.168.50.10 put 3comoscfg.def 3comoscfg.def

File will be transferred in binary mode.

Copying file to remote tftp server. Please wait... /

TFTP: 5195 bytes sent in 0 second(s).

File uploaded successfully.

4.1.16.5.- Descargar imagen de SW desde el PC al Switch .

Page 244: Manual General de Servidores

P á g i n a | 244

Nota: TFTP utilizado 3CServer

En el caso que el switch no tenga una imagen (no tenga configuración alguna) obviamente no se

puede entrar a ningún prompt por lo que se realiza lo siguiente

Para entrar al menú que se mostrará se debe presionar las teclas Ctrl. + B cuando se esta

iniciando el systema.

Aparecerá el siguiente menu. Las alternativas que se escogen en cada menú serán resaltadas en

color rojo

BOOT MENU

1. Download application file to flash

2. Select application file to boot

3. Display all files in flash

4. Delete file from flash

5. Modify bootrom password

6. Enter bootrom upgrade menu

7. Skip current configuration file

8. Set bootrom password recovery

9. Set switch startup mode

0. Reboot

Enter your choice(0-9): 1

1. Set TFTP protocol parameter

2. Set FTP protocol parameter

3. Set XMODEM protocol parameter

0. Return to boot menu

Enter your choice(0-3): 3

Page 245: Manual General de Servidores

P á g i n a | 245

Please select your download baudrate:

1. 9600

2.* 19200

3. 38400

4. 57600

5. 115200

0. Return

Enter your choice(0-5): 2

Download baudrate is 19200 bps

Please change the terminal's baudrate to 19200 bps and select XMODEM protocol

Press enter key when ready

Enter your choice(0-5): 2

Download baudrate is 19200 bps

Please change the terminal's baudrate to 19200 bps and select XMODEM protocol

Press enter key when ready

Now please start transfer file with XMODEM protocol

If you want to exit, Press <Ctrl+X>

Loading ...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCdone!

4.1.16.6.- Ahora se ingresa el nombre del archivo.

Please input a new file name :s3n03_01_00s56p01.app

>>Luego, el Sw entra al mismo menú ahí se escoge la alternativa 2

Page 246: Manual General de Servidores

P á g i n a | 246

>>Luego reboot

#################La imagen estará cargada ##############

4.1.16.7.- Para resetear el Switch y borrar todas las configuraciones.

<4500>reset saved-configuration

The saved configuration will be erased.

Are you sure?[Y/N]y

Configuration in flash memory is being cleared.

Please wait ...

...

Configuration in flash memory is cleared.

<4500>reboot

This will reboot device. Continue? [Y/N] y

#Apr 1 23:56:54:914 2000 4500 COMMONSY/5/REBOOT:- 1 -

Reboot Fabric by command.

<4500>

%Apr 1 23:56:58:901 2000 4500 DEV/5/DEV_LOG:- 1 -

Switch is rebooted.

Starting.....

******************************************************************

* *

* SuperStack 3 Switch 4500 26-Port BOOTROM, Version 1.01 *

* *

******************************************************************

Page 247: Manual General de Servidores

P á g i n a | 247

Copyright (c) 2004-2006 3Com Corporation and its licensors.

Creation date : Apr 19 2006, 12:50:28

CPU type : BCM4704

CPU Clock Speed : 200MHz

BUS Clock Speed : 33MHz

Memory Size : 64MB

Mac Address : 0016e0c1df80

Press Ctrl-B to enter Boot Menu... 0

Auto-booting...

Decompress Image................................................................

................................................................................

................................................................................

................................................................................

................................................................................

............................................OK!

Starting at 0x80100000...

User interface aux0 is available.

Press ENTER to get started.

4.1.16.8.- Rebooteando el Switch.

Login authentication

Page 248: Manual General de Servidores

P á g i n a | 248

Username: admin

Password:

c

%Apr 1 23:55:46:01 2000 4500 SHELL/5/LOGIN:- 1 - admin(aux0) in unit1 login

<4500>syst

<4500>system-view

System View: return to User View with Ctrl+Z.

[4500]displ

[4500]display vl

[4500]display vlan

The following VLANs exist:

1(default)

[4500]display current-configuration

#

4.1.16.9.- Poner password a los Switch.

<4500>system-view

System View: return to User View with Ctrl+Z.

[4500]local-user admin

[4500-luser-admin]password

Password:********

Confirm :********

Updating user password, please wait.........

Page 249: Manual General de Servidores

P á g i n a | 249

4.2.- Monitorizar servidores Apache con Cacti.Aquí veremos cómo podemos monitorizar servidores Web Apache con ayuda de Cacti. Para ello, nos basaremos en el post http://forums.cacti.net/about9861.html.

1. Descargar el fichero ws_apachestats.pl.gz, descomprimirlo y copiar el script ws_apachestats.pl al directorio los scrips, de nuestro servidor cacti.scp ws_apachestats.pl root@SERVIDOR_CACTI:/var/www/cacti/scripts/

2. Ahora, descargar el fichero cacti087b_host_template_webserver_-_apache.xml. Abrir la consola de Cacti como administrador, e importarla (Import Templates)

3. Cconectarnos al servidor Apache que queremos monitorizar, y asegurarnos de que tenemos descomentada la sección server-status, y que permitimos a nuestro servidor Cacti acceder al recurso. ExtendedStatus On<Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 192.168.</Location>Cuando lo configuremos, tendremos que reiniciar el servicio Apache. Podremos comprobar que está accesible, accediendo ahttp://Servidor/server-status. Tendremos que ver una pagina

Una vez lo hayamos hecho, ir a un servidor que ya tengamos dado de alta (y si no, dar de alta un nuevo Device). Luego, ya en la página de edición del dispositivo, dentro de la sección Associated Graph Templates, elegir WebServer - Apache Statistics - Bytes / Request en el apartado Add Graph Template. Luego pulsar el botón Add. Repetir el proceso para WebServer - Apache Statistics - CPU Load,WebServer - Apache Statistics - kBits / s, WebServer - Apache Statistics - Thread Details, WebServer - Apache Statistics - Thread Details (%) y WebServer - Apache Statistics - Thread Scoreboard.

Cuando lo hayamos hecho, hacer click en Create Graphs for this Host, y luego marcar todas las gráficas que hemos seleccionado, y luego el botón Create. Esperar unos minutos a que se recopilen valores y se pinte la gráfica.

4.3.- Monitorizar S ervidor MySQL desde Cacti .

Aquí veremos cómo podemos monitorizar un servidor MySQL con Cacti, lo cual nos puede venir bien para detectar cuellos de botella y mal funcionamientos.Esta configuración está bastante bien explicada en http://code.google.com/p/mysql-cacti-templates/, pero os la resumo en unas pocas líneas:

1. Descargar las plantillas de GoogleCode, http://mysql-cacti-templates.googlecode.com/files/mysql-cacti-templates-1.1.1.tar.gz

Page 250: Manual General de Servidores

P á g i n a | 250

2. Importar la plantillacacti_host_template_x_db_server_ht_0.8.6i.xml en Cacti como Administrador, y copiar el script ss_get_mysql_stats.php al directorio /var/www/cacti/scripts/ del servidor.

3. Crear en MySQL un usuario cactimon, con contraseña cactipwdmon, al gusto, que será el que usaremos desde cacti para monitorizar el servidor de base de datos.GRANT PROCESS ON *.* TO \cactimon@'SERVIDOR_CACTI' \IDENTIFIED by 'cactipwdmon';

GRANT SUPER ON *.* TO \cactimon@'SERVIDOR_CACTI' \IDENTIFIED BY 'cactipwdmon';

flush privileges;4. Ahora en Cacti desde la consola del administrador, Console->DataTemplates, buscar todas las

gráficas que sean: X MySQL lo_que_sea, y en todas ellas editar y marcar en Custom Data, elusername y el password, y fijar: Username=cactimon y Password=cactipwdmon

Ya podremos dar de alta un nuevo dispositivo de tipo MySQL Server para que empiece a pintarnos gráficas.

4.4.- Monitorizar S ervidores Tomcat con Cacti .

Retomando la serie de posts dedicados a Cacti, en esta ocasión contaremos cómo podemos monitorizar servidores Tomcat con ayuda de Cacti. Para ello, nos basaremos en el posthttp://forums.cacti.net/about19744.html.Antes de empezar a trabajar con Cacti, nos interesará saber si tenemos correctamente configurado nuestro servidor Apache Tomcat. Para ello accederemos con un navegador a la direcciónhttp://IP_TOMCAT:PUERTO/manager/status?XML=true, dondeIP_TOMCAT será la dirección IP de nuestro servidor tomcat, y PUERTOserá el puerto de escucha del Connector-HTTP: en mi caso yo uséhttp://code.casa.tecnoquia.com:9080/manager/status?XML=true. Para ello, también será necesario tener desplegado el contexto manager que viene con la distribución del Tomcat. Cuando nos pregunte un Login y Password no estará pidiendo el nombre de un usuario y su contraseña que tenga el rol manager. Esto, como sabrás, viene configurado por defecto en el server.xml de tu tomcat (habitualmente se guardan tomcat-users.xml) dentro del Realm UserDatabase. Una vez consigas autenticarte, deberías podeer ver una pantall

Page 251: Manual General de Servidores

P á g i n a | 251

con una salida similar a la siguiente:Lo más importante será que nos fijemos en los nombres de nuestros conectores, y de ellos, aquellos que queremos monitorizar.

En mi ejemplo se puede ver que tengo dos conectores: uno llamado jk-9009 con 8 conexiones en el momento de la captura y otro llamado http-9080 que recoge la conexión que hice desde mi navegador. Para ilustrar el ejemplo, usaré el conector jk-9009, que además es el que recibe las conexiones vía ModJK desde el Apache que hace de proxy inverso transparente.Una vez ya sabemos el puerto, ip, usuario, contraseña y el nombre del conector que queremos monitorizar podemos empezar con Cacti.

1. Descargar el fichero TomcatStats-0.1.zip, descomprimirlo. Copiar el script tomcatstats.pl al directorio los scrips, de nuestro servidor cacti y darle permisos de ejecución.scp tomcatstats.pl root@SERVIDOR_CACTI:/var/www/cacti/scripts/ssh root@SERVIDOR_CACTI chmod 755 /var/www/cacti/scripts/tomcatstats.pl

2. Ahora nos conectaremos a nuestro servidor CACTI, e intentaremos lanzar la consulta que más tarde hará Cacti para dibujar las gráficas. Esto nos permitirá saber las librerías de perl que nos faltan por instalar al equipo. Una vez conectados ejecutar el comando...perl /var/www/cacti/scripts/tomcatstats.pl \IP_TOMCAT:PUERTO \USUARIO_CON_ROL_MANAGER \CONTRASEÑA_USUARIO \NOMBRE_CONECTOR Deberas obtener algo similar a lo siguiente, en una sóla línea.jvm_memory_free:28303544 jvm_memory_max:830013440 jvm_memory_total:55246848connector_max_time:183042 connector_error_count:0 connector_bytes_sent:83477881connector_processing_time:624695 connector_request_count:378connector_bytes_received:0 connector_current_thread_count:12connector_min_spare_threads:4 connector_max_threads:200connector_max_spare_threads:50 connector_current_threads_busy:9 Si no lo obtienes, será porque te falta alguna librería de Perl. Al ejecutar el comando te dirá qué librería no encuentra. Busca el error en Google y es posible qe alguien le haya pasado algo similar y te de alguna pista. Hasta que no consigas ver la línea similar a la que te indico, no es necesario que sigas configurando porque no se dibujarán las gráficas. Por si si te srive de algo, yo algunas veces necesito instalar los paquetes perl-XML-Simple:yum -y install perl-XML-Simple perl-XML-Simple.noarch

3. Una vez nos funcione el comando en la consola del servidor Cacti, accederemos como Administrador a la consola Web de Cacti y acceder a Console->Import/Export->Import Templates y cargar el fichero:cacti_host_template_tomcat_server.xml, que obtuvimos al descomprimir TomcatStats-0.1.zip. Luego pulsar el botón Save

Con esto tendremos lo básico para poder monitorizar tomcats, pero el autor de la plantilla no tuvo en cuenta que podríamos tener diferentes tomcats en la misma máquina y en diferentes puertos, usando diferentes nombres de conector, diferentes usuarios, etc. Vamos a modificar la plantilla para parametrizar todas estas variables. Para hacerlo:

1. Ir a Console->Collection Methods->Data Input Methods y pulsar en la parte derecha enTomcatStatus.

2. En el campo Input String, se le dice a Cacti que comando debe ejecutar para leer los datos con los que luego poder realizar la gráfica. Debemos cambiar los siguientes campos: "8444" por <tcpport> "admin" por tomcatadmin "passwords" por cocacola "http-8080" por <conname> * Pulsar el boton SAVE

o 8444 por <TcpPort>

o admin por <UserManager>

o passwords por <Password>

o http-8080 por <ConnectorName>

Cuando lo hayamos hecho pulsar el botón Save.

3. Nos devolverá a la pantalla anterior, con el mensaje Save Successful.. Volver hacer click enTomcatStatus

Page 252: Manual General de Servidores

P á g i n a | 252

4. En Input Fields hay que pulsar Add. En Field [Input], en el combobox elegir <TcpPort> y enFriendly Name escribir Puerto, Regular Expression -> escribir \d+ . Luego pulsar el botónCreate...

5. Volver a Input Fields y pulsar Add. En Field [Input], en el combobox elegir <UserManager> y enFriendly Name escribir Usuario. En Regular Expression escribir \S+ . Luego pulsar el botónCreate...

6. De nuevo en Input Fields, pulsar Add. En Field [Input], en el combobox elegir <Password> y enFriendly Name escribir Contraseña. En Regular Expression escribir \S+ . Luego pulsar el botónCreate...

7. Otra vez en Input Fields, pulsar Add. En Field [Input], en el combobox elegir <ConnectorName> y en Friendly Name escribir NombreConector. En Regular Expression escribir \S+ . Luego pulsar el botón Create...

8. Pulsar el botón Save.

9. Ahora, en la consola de Cacti, acceder a Console->Templates->Data Templates, y luego seleccionarTomcat Status. En la parte de abajo de la página, dentro de la sección Custom Data, marcar las casillashostname, Puerto, Usuario, Contraseña y NombreConector. Cuando lo hayamos hecho pulsar el botónSave, que está muy a la derecha de la página (tendremos que usar la barra de desaplazamiento horizontal). Con esta acción, permitimos poder personalizar estas variables, cuando incluyamos las gráficas para algún Host.

La importación del XML, nos creó una plantilla de Host llamada TomcatServer con las cuatro gráficas. La usaremos porque en el mismo servidor Linux/Windows podríamos tener diferentes Tomcats configurados ejecutándose en diferentes puertos. Así, en vez de dar de alta las cuatro gráficas para un servidor (Linux/Windows), podríamos crear un nuevo Device que tuviera sólo estas cuatro gráficas, y estaríamos dando de alta un Tomcat: Cacti no tiene problema en que se repitan las direcciones IP, siempre que no se repitan los nombres de dispositivo. Me he encontrado clientes que tienen servidores Tomcat dedicados a una sóla aplicación, y que ejecutan varios de estos en el mismo servidor.Ya sólo nos queda dar de alta una nueva aplicación o tomcat:

1. Ir a Console->Devices->Add

2. En la ventana que nos aparecerá rellenar los siguientes campos:

o Description: app-NOMBRE_APLICACION-SERVIDORo Hostname: Escribir la dirección IP del servidor.

o Host Template: Seleccionar Tomcat Server

o Downed Device Detection: Seleccionar Ping or SNMP

Pulsar en el botón Create. Cambiará la página y nos dirá Save Successful.. Haremos click en Create Graphs for this Host.

3. Cambiará la página. Ahora nos aparecerán las 4 gráficas de la plantilla: Create: Tomcat - Connection Rate, Create: Tomcat - Heap Statistics, Create: Tomcat - Thread Statistics y Create: Tomcat - Throughput.Marcar las casillas de verificación de cada fila y luego el botón Create.

4. Ahora llega la hora de darle valor a las variables que hemos estado configurando para sean parametrizables. Lo bueno es que podremos monitorizar los tomcats que queramos y cómo queramos (puerto, usuario, conector, etc). Lo malo es que cada vez que demos de alta un nuevo Tomcat tendremos que rellenar estos campos cuatro veces, aunque podremos hacerlo copiando y pegando.Para completar estos campos necesitaremos saber los datos del tomcat que queremos monitorizar, y que averguamos al principio del post, cuando accedimos ahttp://IP_TOMCAT:PUERTO/manager/status?XML=true.

o Hostname: escribir la dirección IP del servidor Tomcato Puerto: Escribir el puerto en el que escucha HTTP ese Tomcat para poder llamar a la

URLhttp://IP_TOMCAT:PUERTO/manager/status?XML=true.o Usuario: Escribir el login del usuario con el Rol Manager que puede

accederhttp://IP_TOMCAT:PUERTO/manager/status?XML=trueo Contraseña: escribir la password de acceso para ese usuario.o NombreConector: escribir el nombre del conector que queremos monitorizar. En mi ejemplo

usaré jk-9009.Esto debemos hacerlo para las cuatro gráficas: Copiando y pegando podemos ir bastante rápido. Cuando terminemos pulsar el botón Create.

Page 253: Manual General de Servidores

P á g i n a | 253

5. Ahora crearemos la entrada en el árbol de gráficas. Vamos a Graph Trees y desplegamos el árbol. Luego en Tree Items pinchamos en (Add) de Produccion->Aplicaciones_Java, o la rama que nos interese.

6. Cambiar Tree Item Type y seleccionar Host. Luego buscar en Host el device que acabamos de crear y pinchar en el botón Create para guardar los cambios.

Después de esperar algunos minutos, podremos empezar a ver el resultado. Si por lo que sea alguna de las gráficas no se dibujara, deberíamos entrar en modo debug de la gráfica y ver cuál es la causa. Yo tuve este problema con las gráficas Connection Rate y Heap Statistics y según del depurador se debía a invalid y-grid. Fui a Console-<Templates-<Graph Templates de cada una y eliminé el valor que venía establecido por defecto, dejando el campo vacío. Alfonso, perdona por el retraso. Espero que os sirva.