AutoLab – Habilitando LABs para todos!

Como un administrador de VMware, todos queremos tener un LAB donde jugar y aprender cosas nuevas todos los días, muchas veces esto no es tan fácil o cuesta dinero.

AutoLab es una solución elegante y sencilla para solucionar este problema, usando una sola computadora o laptop podemos tener todo un ambiente completo de VMware para jugar, el ambiente contaría con Domain Controller, vSphere, router y una SAN. Si se tienen ganas de probar vCloud o productos de Veeam no ahí problemas, AutoLab también soporta desplegar estas soluciones y otras que se pueden ir integrando.

La última versión estable es 0.8 lista para VMware Workstation 8 y vSphere4 o 5. Hace varios días se libero la versión 1.0 pero se han encontrado varios inconvenientes y si vas a usar AutoLAb en ESXi es mejor usar la versión 0.8 que cuenta con un OVA con todo listo.

Si ya eres de los que esta levantando LABs usando AutoLab, te invito al fórum oficial del proyecto -> http://labguides.com/forums/

Agregando Razor a una instalación existente de Puppet.

Hace ya varios meses que EMC anuncio que esta trabajando con PuppetLabs para crear un software de aprovisionamiento tanto para VM como para PM (Physical Machines).

Muy emocionado, ya que tenia una instalación de Puppet funcionando en mi red y administrando varios nodos. Cuando digo administrando, no es la gran cosa, desde Puppet actualmente puedo crear usuarios, configurar servicios (ssh, bind, rsync y otros) todo centralizado, muy geek!

Lo primero que hice fue leer un step-by-step creado en pureVirtual.eu, creo que es el mejor material para quienes no han usado Puppet y no concen Razor aun.

http://purevirtual.eu/2012/07/02/how-to-get-started-with-razor-and-puppet-part-1/

Al actualizar mi versión de Puppet que estaba algo vieja y no tenia el modulo para instalar desde forge.puppetlabs.com solo tuve que hacer lo siguiente:

puppet module install puppetlabs-razor

También asegurarnos de que todo el directorio de /etc/puppet pertenece al usuario con ese mismo nombre.

chown -R puppet:puppet /etc/puppet/modules

 

Ya deberíamos tener un Razor listo para bootear maquinas por PXE. Otra cosa a tener en cuenta es que el modulo de SUDO que tiene como dependencia Razor elimina todo lo que tenemos en ese software y nos dejaría fuera del sudoers, para resolverlo hacer lo siguiente:

echo "jonas ALL=(ALL) ALL" > /etc/sudoers.d/20_TU-USUARIO
chmod 440 /etc/sudoers.d/20_TU-USUARIO

Luego de tener todo listo, que tal si instalas ESXi usando Razor?
http://www.virtuallyghetto.com/2012/05/how-to-deploy-esxi-5-using-razor-puppet.html



Aqui el puppet module list de la instalación existente de Puppet + Razor:


mom:/home/ariel# puppet module list
/etc/puppet/modules
âââ aredan-sshd (v0.0.1)
âââ basesytem (???)
âââ camptocamp-rsyncd (v0.0.1)
âââ ntp (???)
âââ puppetlabs-apache (v0.0.4)
âââ puppetlabs-apt (v0.0.4)
âââ puppetlabs-firewall (v0.0.4)
âââ puppetlabs-mongodb (v0.0.2)
âââ puppetlabs-nodejs (v0.2.0)
âââ puppetlabs-razor (v0.1.4)
âââ puppetlabs-stdlib (v2.3.3)
âââ puppetlabs-tftp (v0.1.1)
âââ puppetlabs-vcsrepo (v0.0.4)
âââ saz-dnsmasq (v1.0.0)
âââ saz-sudo (v2.0.2)
âââ user (???)
âââ vim (???)
mom:/home/ariel#


Instalando un clon de pastebin – just for fun!

Hoy he decidido instalar un clon del muy conocido pastebin.com. Por lo menos tiene la misma funcionalidad sin todos los ADS.

Después de buscar y mirar varios clones, he decidido por Zerobin. Porque?   Demasiado fácil de instalar, solo cree un directorio para la aplicación, descomprimí el ZIP file y luego de crear tmp/, data/ y luego un chmod 777 todo funciona al tiro!

http://paste.ix.do

Pagina del proyecto: http://sebsauvage.net/wiki/doku.php?id=php:zerobin

Site-to-Site con Vyatta y OpenVPN en Debian.

Hoy toca uno de Networking, como el titulo lo dice, esto no es solo de Virtualización!

Si como yo tienes varias localidades (nah!! Son varios servidores Dedicados con VMs las cuales uso para pruebas) y las quieres administrar directamente como si estuvieran conectadas en una red corporativa y sin problemas de port-forwarding, aquí tengo “una solución” para eso.

Desde hace un tiempo no uso pfSense, por qué?  No me gusta OpenBGPd. Es algo lento en pfSense, esa es mi impresión. Además de eso, no creo que soportara una tabla full de BGP, en Vyatta actualmente en mi lugar de trabajo la tenemos en 2 servidores con Vyatta desde nuestro proveedor CLARO.

Bueno, lo de BGP será para otro post, ahora mismo para conectar nuestra localidad remota necesitaremos de un router que soporte OpenVPN en ambos lados, en mi casa tengo Vyatta y en el punto remoto un servidor Debian con OpenVPN instalado desde los paquetes. Necesitaremos los siguientes datos:

Red para el túnel: 10.45.252.252/30

Red en mi casa: 172.22.35.0/26

Red en punto remoto: 172.22.114.0/26

IP WAN en Vyatta-HOME: Dinámico (Gracias al DSL de CLARO)

IP WAN en Debian con OpenVPN: 173.208.168.10

Solo nos falta generar un key con OpenVPN para usarlo en este túnel:

openvpn –genkey –secret static.key

Con estos datos ya podemos configurar…..

En Debian con OpenVPN:

mode p2p          # modo peer to peer

proto udp           # protocolo UDP

lport 1194          # puerto local

dev-type tun     # tipo de interface, TUN porque sera en modo routing.

dev tun-home  # nombre de la interface que se vera en ifconfig

tun-ipv6              # queremos IPv6, don’t we?

comp-lzo          # compression

cd /etc/openvpn         # directorio donde tendremos el key generado.

secret static.key        # el archive con el key

persist-key         # si paso algo con el tunel, mantener el key

persist-tun         # si pasa algo con el tunel, mantener la interface

status /var/log/home.openvpn.status.log # LOGs

log-append /var/log/home.openvpn.log   # mas LOGs

keepalive 20 120

verb 5            # Verbose!

ifconfig 10.45.252.253 10.45.252.254

 

Todo esto lo tendremos en /etc/openvpn en un archivo llamado home.conf, OpenVPN detecta todos los archivos con .conf al final y los ejecuta para crear la interface y todo lo necesario para establecer el túnel.

En el Vyatta:

Aquí es algo diferente ya que los desarrolladores de Vyatta adaptaron OpenVPN a su CLI, si ya ha usado Vyatta, saben lo bien elaborado que esta el CLI.

edit interface openvpn vtun1 #creamos la interface vtun1, no podemos usar nuestros propios nombres aqui.

set local-address 10.45.252.254                #Nuestro lado del tunel

set local-host 10.0.0.2   #IP en la WAN con el DSL de CLARO

set local-port 1194          #no es necesario

set mode site-to-site    #tipo de tunel

set openvpn-options «–com-lzo –persist-tun –tun-ipv6»          #ya que algunas opciones no estan soportadas, existe la opcion de openvpn-options donde podemos usar las que faltan.

set protocol udp              #protocolo a ser usado por el tunel

set remote-address 10.45.252.253          #lado remoto del tunel

set remote-host 173.208.168.10              #IP WAN del servidor con Debian, nuestro Vyatta siempre iniciara la conexion ya que tiene IP Dinamico.

set remote-port 1194    #puerto donde realizaremos la conexión

set shared-secret-key-file          #archivo con el mismo key que usamos en el servidor.

commit

save

nota: no podemos usar comentarios en Vyatta, todo después del # no puede ser introducido en el CLI.

Al momento de hacer commit en Vyatta la configuración se aplica y este iniciara la conexión al servidor con OpenVPN, ahora debemos iniciar el OpenVPN en el servidor con Debian:

/etc/init.d/openvpn start home.conf

Automáticamente nuestro túnel debe subir y podemos hacer ping desde nuestro Vyatta hacia Debian usando la red 10.45.252.252/30.

Desde Vyatta: ping 10.45.252.253

Ahora solo nos faltaría que nuestro Vyatta y Debian sepan que redes maneja cada cual, esto en Vyatta lo podemos hacer así:

set protocol static route 172.22.114.0/26 next-hop 10.45.252.253

En nuestro servidor con Debian:

ip route add 172.22.35.0/26 via 10.45.252.254 dev tun-home

Ya nuestros equipos en ambos lados deben tener conectividad uno al otro usando el túnel.