Manual General de Servidores
-
Upload
pablo-andres-gonzalez-ramirez -
Category
Documents
-
view
102 -
download
0
Transcript of 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.
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.
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.
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.
P á g i n a | 5
1.- CentOS
1.1 Instalación CentOS.
Manual General: Servicios, Aplicaciones & Servidores DECOM.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
P á g i n a | 34
2.- FreeBSD
Manual General: Servicios, Aplicaciones & Servidores DECOM.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
P á g i n a | 50
2.1.18.- Selección de Paquetes.
Manual General: Servicios, Aplicaciones & Servidores DECOM.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
P á g i n a | 74
Luego se elige la opción copiar cuotas
Manual General: Servicios, Aplicaciones & Servidores DECOM.
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
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
P á g i n a | 115
Manual General: Servicios, Aplicaciones & Servidores Decom.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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;
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:
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
}
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
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
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"
}
}
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
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"
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
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
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.
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.
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
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
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.
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.
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/
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
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
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
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
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
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.
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/
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
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"
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.
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:
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.
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
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>
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
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
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.
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
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.
P á g i n a | 211
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
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".
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.
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).
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
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
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
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
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
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.
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
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.
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:
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.
P á g i n a | 226
Figura 1.1: Cable de consola conectado al COM1 del PC
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
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
P á g i n a | 229
Figura 1.5: Ingreso de usuario
2º: Escoger el COM 1
P á g i n a | 230
Figura 1.6: COM
3º: Configuración de puerto
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
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.
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
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]:
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
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
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
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
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
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.
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.
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
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 .
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
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
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 *
* *
******************************************************************
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
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.........
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
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
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
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.
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.