Desde el GRUB2 se pueden montar imágenes ISO para arrancar diferentes sistemas "LIVE" sin instalarlos en el HD.
Como root editamos el archivo /etc/grub.d/40_custom y le añadimos las configuraciones que queramos.
Para hacer efectivos los cambios, utilizamos el comando update-grub2.
Este es el contenido de mi archivo /etc/grub.d/40_custom
Mostrando entradas con la etiqueta Linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta Linux. Mostrar todas las entradas
martes, 12 de junio de 2012
miércoles, 23 de mayo de 2012
Configurar Postfix para enviar correo a través de Gmail
Como muchos sabrán, Gmail, Hotmail, y muchos otros servidores, no permiten la recepción de correos enviados desde IP públicas que no está registradas,(las IP dinámicas de todos los usuarios domésticos), por lo que configuraremos nuestro servidor postfix para que se valide en el servidor SMTP de Gmail y lo utilice para entregar nuestro correo.
Necesitamos tener instalados los siguientes paquetes:
postfix-tls
libsasl2
libsasl2-modules
ca-certificates
Para enviar correo utilizando el servidor SMTP de Gmail la conexión tiene que estar cifrada con TLS, para lo que debemos añadir la Autoridad Certificadora adecuada y autenticada, para lo que utilizaremos un nombre de usuario (dirección de correo) y contraseña del servicio.
Para configurar el servidor es necesario editar /etc/postfix/main.cf y añadir las líneas siguientes:
relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes
smtp_tls_security_level=encrypt
smtp_tls_loglevel = 1
smtp_sasl_auth_enable = yes
smtp_tls_CAfile = /etc/ssl/certs/Equifax_Secure_CA.pem
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
smtp_sasl_security_options = noanonymous
Pero primero haremos una copia de seguridad del archivo.
root@excellondonsrv2:~# cp /etc/postfix/main.cf /etc/postfix/main.cf.backup
root@excellondonsrv2:~# nano /etc/postfix/main.cf
Se le indica que use el smtp de gmail por el puerto 587, usando TSL, con el certificado Equifax_Secure_CA.pem, que es el que actualmente utiliza para la autentificación, y la información de la autentificación se encuentra en /etc/postfix/sasl/passwd Para generar el fichero con la información de autentificación se crea el fichero /etc/postfix/sasl/passwd con el siguiente contenido:
[smtp.gmail.com]:587 unacuenta@gmail.com:unacontraseña.
root@excellondonsrv2:~# nano /etc/postfix/sasl/passwd
Es necesario reiniciar postfix.
Para probar si todo ha ido bien:
mail -s "test" cuenta_correo@gmail.com
Para enviarlo pulsar Ctrl+D
El único inconveniente es que el remitente del correo será la cuenta de gmail que hemos usado para la autentificación.
Abrimos en el navegador la página de Gmail, vamos a Configuración > Cuentas e importación > Enviar mensaje como y añadimos como nuevo remitente la dirección de correo de nuestro servidor de correo (usuario@mimaquina.dyndns.org).
Para verificar que somos usuarios legítimos de la misma gmail nos enviará un mensaje con un código de verificación, que nos llegará a nuestra cuenta local. Una vez verificada la cuenta, gmail permitirá que se envíen mensajes con ese remitente y no lo modificará.
Más información:
http://support.google.com/mail/bin/answer.py?hl=es&ctx=mail&answer=22370
Necesitamos tener instalados los siguientes paquetes:
postfix-tls
libsasl2
libsasl2-modules
ca-certificates
Para enviar correo utilizando el servidor SMTP de Gmail la conexión tiene que estar cifrada con TLS, para lo que debemos añadir la Autoridad Certificadora adecuada y autenticada, para lo que utilizaremos un nombre de usuario (dirección de correo) y contraseña del servicio.
Para configurar el servidor es necesario editar /etc/postfix/main.cf y añadir las líneas siguientes:
relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes
smtp_tls_security_level=encrypt
smtp_tls_loglevel = 1
smtp_sasl_auth_enable = yes
smtp_tls_CAfile = /etc/ssl/certs/Equifax_Secure_CA.pem
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
smtp_sasl_security_options = noanonymous
Pero primero haremos una copia de seguridad del archivo.
root@excellondonsrv2:~# cp /etc/postfix/main.cf /etc/postfix/main.cf.backup
root@excellondonsrv2:~# nano /etc/postfix/main.cf
Se le indica que use el smtp de gmail por el puerto 587, usando TSL, con el certificado Equifax_Secure_CA.pem, que es el que actualmente utiliza para la autentificación, y la información de la autentificación se encuentra en /etc/postfix/sasl/passwd Para generar el fichero con la información de autentificación se crea el fichero /etc/postfix/sasl/passwd con el siguiente contenido:
[smtp.gmail.com]:587 unacuenta@gmail.com:unacontraseña.
root@excellondonsrv2:~# nano /etc/postfix/sasl/passwd
Y lo protegemos adecuadamente con:
root@excellondonsrv2:~# chmod 600 /etc/postfix/sasl/passwd
El fichero de configuración hay que transformarlo a un fichero indexado de tipo hash mediante la instrucción:
root@excellondonsrv2:~# postmap /etc/postfix/sasl/passwd
que creará el fichero /etc/postfix/sasl/passwd.db
Es necesario reiniciar postfix.
Para probar si todo ha ido bien:
mail -s "test" cuenta_correo@gmail.com
Para enviarlo pulsar Ctrl+D
El único inconveniente es que el remitente del correo será la cuenta de gmail que hemos usado para la autentificación.
Añadir un remitente nuevo en nuestra cuenta de gmail
Si tenemos configurado nuestro servidor con algún servicio de DNS dinámico, como dyndns, podemos añadir el remitente en nuestra cuenta de Gmail.Abrimos en el navegador la página de Gmail, vamos a Configuración > Cuentas e importación > Enviar mensaje como y añadimos como nuevo remitente la dirección de correo de nuestro servidor de correo (usuario@mimaquina.dyndns.org).
Para verificar que somos usuarios legítimos de la misma gmail nos enviará un mensaje con un código de verificación, que nos llegará a nuestra cuenta local. Una vez verificada la cuenta, gmail permitirá que se envíen mensajes con ese remitente y no lo modificará.
Más información:
http://support.google.com/mail/bin/answer.py?hl=es&ctx=mail&answer=22370
martes, 22 de mayo de 2012
Personalizar el entorno Nagios
En la web se pueden encontrar multitud de añadidos para cambiar el aspecto de Nagios.
http://exchange.nagios.org/directory/Addons/Frontends-%28GUIs-and-CLIs%29
Pero nos conformaremos con cambiar un poco el aspecto de nuestro entorno básico, añadiendo iconos representativos a las configuraciones.
root@excellondonsrv2:/usr/local/nagios/etc/objects# nano localhost.cfg
host_name localhost
alias Servidor Nagios
icon_image debian.gif
vrml_image debian.png
statusmap_image debian.gd2
address 127.0.0.1
}
http://exchange.nagios.org/directory/Addons/Frontends-%28GUIs-and-CLIs%29
Pero nos conformaremos con cambiar un poco el aspecto de nuestro entorno básico, añadiendo iconos representativos a las configuraciones.
root@excellondonsrv2:/usr/local/nagios/etc/objects# nano localhost.cfg
define host{
use linux-server ; Name of host template to usehost_name localhost
alias Servidor Nagios
icon_image debian.gif
vrml_image debian.png
statusmap_image debian.gd2
address 127.0.0.1
}
Configurar Nagios para que monitorice una base de datos MySQL ubicada en un Linux
Para
esta monitorización vamos a crear un usuario "nagios" en
mysql, con permiso de lectura y que se podrá conectar desde
cualquier IP a la base de datos "mysql".
root@excellondonsrv2:~# mysql -u root -p
mysql> quit
Añadimos al final de
/usr/local/nagios/etc/objects/localhost.cfg
root@excellondonsrv2:~# nano /usr/local/nagios/etc/objects/localhost.cfg
root@excellondonsrv2:~# service nagios reload
root@excellondonsrv2:~# mysql -u root -p
mysql>
GRANT select ON mysql.* TO 'nagios'@'%' IDENTIFIED BY 'nagios';
mysql> flush privileges;mysql> quit
root@excellondonsrv2:~# nano /usr/local/nagios/etc/objects/localhost.cfg
#Servicio para monitorizar la
base de datos "mysql"
define
service{
use local-service
host_name localhost
service_description BD_Test
check_command check_mysql!-d
mysql -u nagios -p nagios
}
y
reiniciamos nagios.root@excellondonsrv2:~# service nagios reload
Configurar Nagios para que monitorice una página Web hospedada en Linux
Para que nos monitorice el contenido de una página web, sólo tenemos que añadir un nuevo servicio, en nuestro caso en localhost.cfg para que compruebe que la página index.html contiene "IesCesarManrique.net"
root@excellondonsrv2:~# nano /usr/local/nagios/etc/objects/localhost.cfg
root@excellondonsrv2:~# nano /usr/local/nagios/etc/objects/localhost.cfg
#Servicio
para monitorizar la web index.html
define
service{
use local-service
host_name localhost
service_description index.html
}
Configurar Nagios para que monitorice la interfaz de red de un equipo Linux
Para esta tarea utilizaremos el plugin check_ifstatus, que requiere que configuremos un servidor SNMP en la máquina linux.
root@skillredes01-debian:~# apt-get install snmpd
Editaremos el archivo de configuración y
descomentamos la línea
rocommunity
public localhostpara tener acceso completo desde local.
root@skillredes01-debian:~# nano /etc/snmp/snmpd.conf
Reiniciamos
el servicio y realizamos una prueba.
root@skillredes01-debian:~# service snmpd restart
root@skillredes01-debian:~# /usr/local/nagios/libexec/check_ifstatus -H localhost
root@skillredes01-debian:~# service snmpd restart
root@skillredes01-debian:~# /usr/local/nagios/libexec/check_ifstatus -H localhost
Y
añadimos el servicio en el nrpe.cfg
root@skillredes01-debian:~# nano /usr/local/nagios/etc/nrpe.cfg
command[check_ifstatus]=/usr/local/nagios/libexec/check_ifstatus -H localhost
Ya sólo nos queda añadir el servicio también en el servidor.
Para poder emplear "check_ifstatus" con cualquier host que disponga de SNMP, tendremos que añadir la definición del comando en el archivo "command.cfg"
# 'check_ifstatus' definición de comando
define command{
command_name check_ifstatus
command_line $USER1$/check_ifstatus -h $HOSTADDRESS$ -C public -x $ARG1$
}
root@excellondonsrv2:/usr/local/nagios/etc/objects# nano skillredes01-debian.cfg
# check_ifstatus
define service{
use local-service
host_name skillredes01-debian
service_description Estado Interfaces de Red
check_command check_nrpe!check_ifstatus
}
command[check_ifstatus]=/usr/local/nagios/libexec/check_ifstatus -H localhost
Ya sólo nos queda añadir el servicio también en el servidor.
Para poder emplear "check_ifstatus" con cualquier host que disponga de SNMP, tendremos que añadir la definición del comando en el archivo "command.cfg"
# 'check_ifstatus' definición de comando
define command{
command_name check_ifstatus
command_line $USER1$/check_ifstatus -h $HOSTADDRESS$ -C public -x $ARG1$
}
Pero como nosotros lo vamos a ejecutar a través de NRPE, la configuración quedaría así:
root@excellondonsrv2:/usr/local/nagios/etc/objects# nano skillredes01-debian.cfg
# check_ifstatus
define service{
use local-service
host_name skillredes01-debian
service_description Estado Interfaces de Red
check_command check_nrpe!check_ifstatus
}
Configuración de Nagios para monitorizar un Linux a través del nombre del equipo
Para
poder monitorizar un equipo remoto, tendremos que usas el añadido
NRPE, que instalaremos en el equipo a monitorizar y en el servidor.
Se trata de un demonio que nos permitirá ejecutar en remoto los
plugins que instalaremos en la máquina a monitorizar, y le pasará
los datos al servidor Nagios.
root@skillredes01-debian:~# passwd nagios
1º Instalaremos los plugins de Nagios en el cliente.
root@skillredes01-debian:~# useradd nagiosroot@skillredes01-debian:~# passwd nagios
La contraseña que utilizaremos será "nagios".
Para poder instalar todas las dependencias tendremos que asegurarnos de tener los siguientes repositorios en la lista:
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free
root@skillredes01-debian:~# nano /etc/apt/sources.list
root@skillredes01-debian:~# apt-get update
root@skillredes01-debian:~# apt-get install libmysqld-dev libmysqlclient-dev php5-sybase php-db libsnmp-perl snmp snmp-mibs-downloader libssl-dev libyaml-perl
root@skillredes01-debian:~# perl -MCPAN -e shell
cpan[1]> install Net::SNMP
cpan[2]> exit
root@skillredes01-debian:~# perl -MCPAN -e shell
cpan[1]> install Net::SNMP
cpan[2]> exit
root@skillredes01-debian:~# exit
manuel@skillredes01-debian:~$ mkdir Descargas
manuel@skillredes01-debian:~$ cd Descargas/
manuel@skillredes01-debian:~/Descargas$ wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
manuel@skillredes01-debian:~/Descargas$ tar xzf nagios-plugins-1.4.15.tar.gz
manuel@skillredes01-debian:~/Descargas$ cd nagios-plugins-1.4.15/
manuel@skillredes01-debian:~/Descargas/nagios-plugins-1.4.15$ ./configure --with-nagios-user=nagios --with-nagios-group=nagios
manuel@skillredes01-debian:~/Descargas/nagios-plugins-1.4.15$ make
manuel@skillredes01-debian:~/Descargas/nagios-plugins-1.4.15$ su -l
root@skillredes01-debian:~# cd /home/manuel/Descargas/nagios-plugins-1.4.15/
root@skillredes01-debian:/home/manuel/Descargas/nagios-plugins-1.4.15# make install
root@skillredes01-debian:/home/manuel/Descargas/nagios-plugins-1.4.15# chown nagios.nagios /usr/local/nagios
root@skillredes01-debian:/home/manuel/Descargas/nagios-plugins-1.4.15# chown -R nagios.nagios /usr/local/nagios/libexec
lunes, 21 de mayo de 2012
Configuración de Nagios para monitorizar una base de datos MySQL ubicada en Windows Server 2008
Como vimos en el artículo anterior, gracias a XAMPP tenemos un servidor MySQL instalado en nuestro Windows 2008.
Para esta monitorización vamos a crear un usuario "nagios" en mysql, con permiso de lectura y que se podrá conectar desde cualquier IP a la base de datos "test".
c:\xampp\mysql\bin\mysql -u root
mysql> GRANT select ON test.* TO 'nagios'@'%' IDENTIFIED BY 'nagios';
mysql> FLUSH PRIVILEGES;
mysql> exit;
Añadimos en /usr/local/nagios/etc/objects/commands.cfg
# 'check_mysql' command definition
define command{
command_name check_mysql
command_line $USER1$/check_mysql -H $HOSTADDRESS$ $ARG1$
}
Para esta monitorización vamos a crear un usuario "nagios" en mysql, con permiso de lectura y que se podrá conectar desde cualquier IP a la base de datos "test".
c:\xampp\mysql\bin\mysql -u root
mysql> GRANT select ON test.* TO 'nagios'@'%' IDENTIFIED BY 'nagios';
mysql> FLUSH PRIVILEGES;
mysql> exit;
Añadimos en /usr/local/nagios/etc/objects/commands.cfg
# 'check_mysql' command definition
define command{
command_name check_mysql
command_line $USER1$/check_mysql -H $HOSTADDRESS$ $ARG1$
}
Configuración de Nagios para monitorizar una página Web hospedada en Windows Server 2008
Para los siguientes puntos
instalaremos la suite XAMPP en el servidor de Windows, que incluye un
servidor Apache, MySQL, PHP, Perl y FTP.
Para que el Apache funcione correctamente, tendremos que instalar el "Paquete redistribuible de Microsoft Visual C++ 2008".
Para que el Apache funcione correctamente, tendremos que instalar el "Paquete redistribuible de Microsoft Visual C++ 2008".
Proceso de instalación de Nagios Core sobre una máquina Virtual.
Partiremos de una máquina en VMWare con Debian 6.0.4 Squeeza instalado previamente.
Para comprobar que tenemos
instalados el servidor Web, la librería GD, PHP y el compilador,
utilizaremos los siguientes comandos:
root@excellondonsrv2:~# dpkg --get-selections |grep apacheroot@excellondonsrv2:~# dpkg --get-selections |grep php
root@excellondonsrv2:~# dpkg --get-selections |grep gd
root@excellondonsrv2:~# dpkg --get-selections |grep gcc
O simplemente ejecutamos los comandos para su instalación, que es la opción más aconsejable:
root@excellondonsrv2:~# apt-get install apache2 php5 build-essential postfix libgd-graph-perl libgd2-xpm-dev libgd2-xpm"build-essential" nos proporciona el entorno de compilación, "postfix" el servidor de correos para entregar las alertas, que sustituirá al instalado por defecto exim4 y libgd la librería GD.
Durante el proceso de instalación, se nos pedirá que configuremos el servidor de correo Postfix.
A continuación crearemos el usuario y grupo necesarios para utilizar Nagios:
root@excellondonsrv2:~# useradd -m nagios
root@excellondonsrv2:~# passwd nagios
“nagios” es la contraseña que utilizaremos.
Para poder trabajar con el entorno web sin problemas, añadiremos el usuario www-data al grupo nagios.
root@excellondonsrv2:~# usermod -a -G nagios www-data
Ya tenemos listo el entorno para poder compilar nuestro Nagios, por lo que procederemos
a la descarga de Nagios Core y sus Plugins. La versión actual de Nagios Core es la 3.4.1 y la versión estable de los plugins la 1.4.15.
Como no es conveniente la descarga y la descompresión la realizaremos con el usuario normal.
root@excellondonsrv2:~# exit
user@excellondonsrv2:~$ mkdir Download
user@excellondonsrv2:~$ cd Download/
user@excellondonsrv2:~/Download$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.1.tar.gz
user@excellondonsrv2:~/Download$ wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
Requisitos para su instalación en una distribución Linux
Según indica el manual, Nagios solo necesita de una máquina con Linux (o una variante de UNIX) ejecutándose, que tenga acceso a red y un compilador de C instalado (si se quiere instalar desde el código fuente).
No estamos obligados a utilizar los CGIs que se incluyen con Core Nagios. Sin embargo, si se decide utilizarlas, es necesario tener instalado el software siguiente:
1.- Un servidor Web (preferiblemente Apache).
2.- La librería GD de Thomas Boutell versión 1.6.3 o superior (que es necesaria para las CGIs “statusmap” y “trends”)
3.- PHP
A lo largo de las siguientes entradas, procederemos a resolver todas las dependencias de librerías que surja para la correcta instalación y configuración de Nagios Core en una distribución Debian 6.0.4 Squeeze.
Suscribirse a:
Entradas (Atom)













