Añadir schema zarafa a openLdap

Otra entrada que es un apunte.

Recientemente he tenido que volver a instalar otro zarafa y necesitaba añadir el esquema en el openLdap.

Tras intentar importar el schema con zcat:

zcat /usr/share/doc/zarafa/zarafa.ldif.gz | ldapadd -H ldapi:/// -Y EXTERNAL

Y ver los múltiples errores con las comillas, atributos y demás gaitas, googleando he visto este post:


http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/

Resumiendo……. para poder importar el schema de manera correcta, los pasos:

1º) Generamos el fichero schema_convert.conf con el siguiente contenido:

include /etc/ldap/schema/core.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/pmi.schema
include /etc/ldap/schema/ppolicy.schema
include /etc/ldap/schema/zarafa.schema

2º) Creamos el directorio temporal

# mkdir /tmp/ldif_output

3º) Generamos los ldif

# slaptest -f schema_convert.conf -F /tmp/ldif_output

4º) Nos vamos al directorio donde hemos generado los ficheros

cd tmp/ldif_output/cn=config/cn=schema

Y creamos el fichero fixit.sed con el siguiente contenido:

s~dn: cn=\{([0-9]+)\}(.*)$~dn: cn=\2,cn=schema,cn=config~g
s~cn: \{([0-9]+)\}(.*)$~cn: \2~g
s~^(structuralObjectClass|entryUUID|creatorsName|createTimestamp|entryCSN|modifiersName|modifyTimestamp):.*$~~g

5º) Una vez creado el fichero, creamos el directorio fixed y ejecutamos el siguiente script:

for f in *ldif; do sed -rf fixit.sed "$f" > fixed/$f; done

Llegados aquí, en el directorio fixed, tendremos los directorios:

root@radius:/tmp/ldif_output/cn=config/cn=schema/fixed# ls -l
total 96
-rw-r--r-- 1 root root 15267 Aug 24 10:39 cn={0}core.ldif
-rw-r--r-- 1 root root 1091 Aug 24 10:39 cn={10}openldap.ldif
-rw-r--r-- 1 root root 6212 Aug 24 10:39 cn={11}pmi.ldif
-rw-r--r-- 1 root root 3073 Aug 24 10:39 cn={12}ppolicy.ldif
-rw-r--r-- 1 root root 11121 Aug 24 10:39 cn={13}zarafa.ldif
-rw-r--r-- 1 root root 1289 Aug 24 10:39 cn={1}collective.ldif
-rw-r--r-- 1 root root 1051 Aug 24 10:39 cn={2}corba.ldif
-rw-r--r-- 1 root root 11129 Aug 24 10:39 cn={3}cosine.ldif
-rw-r--r-- 1 root root 4253 Aug 24 10:39 cn={4}duaconf.ldif
-rw-r--r-- 1 root root 1461 Aug 24 10:39 cn={5}dyngroup.ldif
-rw-r--r-- 1 root root 2623 Aug 24 10:39 cn={6}inetorgperson.ldif
-rw-r--r-- 1 root root 2357 Aug 24 10:39 cn={7}java.ldif
-rw-r--r-- 1 root root 1280 Aug 24 10:39 cn={8}misc.ldif
-rw-r--r-- 1 root root 6259 Aug 24 10:39 cn={9}nis.ldif

6º) Importamos el ldif de zarafa:

# ldapadd -Y EXTERNAL -H ldapi:/// -f cn\=\{13\}zarafa.ldif

Esto se puede aplicar, como me ha pasado a mi, con el schema de freeradius o otros schemas.

enjoy 🙂

Freeradius stop on logger rotate

Otra entrada que es un apunte.

Cuando instalas el freeradius y lo dejas tal cual configurado, cuando hace el log rotate, se queda parado….. aquí explican el bug:

Freeradius stop

Para impedir que se quede parado, tras hacer el logrotate, hemos de modificar el siguiente fichero:


# nano /etc/logrotate.d/freeradius

Y ha de quedar tal que:

/var/log/freeradius/*.log {
weekly
rotate 52
compress
delaycompress
notifempty
missingok
postrotate
/etc/init.d/freeradius restart > /dev/null
endscript
}

Hemos de cambiar la línea

/etc/init.d/freeradius reload > /dev/null

a

/etc/init.d/freeradius restart > /dev/null

enjoy 😉

VoIP movistar fibra y asterisk

Esta vez, configuraremos la voip de movistar en nuestro asterisk.

Movistar, con la fibra, nos ofrece un servicio VoIP vía la ONT….. si nos conformamos con usarlo tal cual, pues perfecto, pero si tenemos en la oficina o en casa un asterisk, la mejor manera de aprovecharlo, es configurar la voIP en nuestra PBX sin necesidad de usar conversores.

Partimos que tenemos la vlan 3 configurada en nuestro router y obtenemos la IP por DHCP (una 10.x.x.x)

usuario : NúmeroDeTeléfono
password: NúmeroDeTeléfono
proxy : 10.31.255.134
puerto : 5070

los datos del proxy, si googleamos un poco se pueden obtener, pero la configuración no…..

Primero de todo, necesitamos la cadena del register para el sip.conf


register => 9xxxxxxxx@telefonica.net:9xxxxxxxx@10.31.255.134:5070/9xxxxxxxx

Y ahora la definición del peer:

[VOMISTAR]
type =peer
fromuser=9XXXXXXXX
secret =9XXXXXXXX
fromdomain=telefonica.net
host =telefonica.net
callerid = "" <9XXXXXXXX>
outboundproxy=10.31.255.134:5070
port =5070
nat =force_rport,comedia
insecure=port,invite
dtmfmode=auto
disallow=all
allow =ulaw
allow =alaw
context =llamadas_entrantes

Una vez hecho ésto y con el correspondiente reload……. al hacer un sip show registry:


processpbx*CLI> sip show registry
Host dnsmgr Username Refresh State Reg.Time
10.31.255.134:5070 N 9xxxxxxxx@te 55 Registered Wed, 24 Jun 2015 23:09:28
1 SIP registrations.

A partir de aquí, ya es cosa nuestra con el diaplan !!!! enjoy your fiber 🙂

iwlist + ngrep debian

Otro apunte.

para ver de un vistazo las redes inalámbricas que tenemos a nuestro alcance y la potencia, podemos usar el comando iwlist, pero nos muestra quizás demasiados parámetros….. si queremos ver si solapamos canales, podemos usar nuestro amigo grep.


# iwlist wlan0 scanning | grep "ESSID\|Frequency\|Quality"

Y el resultado debe ser, algo similar a:


Frequency:2.412 GHz (Channel 1)
Quality=23/70 Signal level=-87 dBm
ESSID:"xxxxx"
Frequency:2.462 GHz (Channel 11)
Quality=22/70 Signal level=-88 dBm
ESSID:"xxxxx"
Frequency:2.467 GHz (Channel 12)
Quality=39/70 Signal level=-71 dBm
ESSID:"xxxxx"
Frequency:2.462 GHz (Channel 11)
Quality=32/70 Signal level=-78 dBm
ESSID:"xxxxxx"

usando “|” con grep, podemos especificar algo para filtrar, pero si tenemos que filtrar por varios, deberemos usar:


iwlist wlan0 scanning | grep "$EXPRESION1 \|$EXPRESION2 \|$EXPRESION'N' \"

🙂 Sencillo

Netflow: nfsen + nfdump en Debian (3) + cacti + pmacct

Ahora vamos a añadir una capa más…. pmacct.

Pmacct será el enlace entre cacti y los flows de los dispositivos… usaremos nfsen para controlar tráfico y ataques.

Descargamos y descomprimimos pmacct:


# cd /usr/src
# wget -c http://www.pmacct.net/pmacct-1.5.0.tar.gz
# tar -zxvf pmacct-1.5.0.tar.gz

Creamos el directorio de instalación:

# mkdir /etc/pmacct

Y instalamos

Una vez instalado, vamos a configurar lo que nos interesa de pmacct, que más tarde, enlazaremos con cacti.


# nano /etc/pmacct.conf

debug: true
daemonize: true
nfacctd_port: 9996
pidfile: /var/run/nfacctd.pid
plugin_buffer_size: 80524
plugin_pipe_size: 18052324
networks_file: /etc/pmacct/nfacctd.hosts

plugins: memory[in], memory[out]
aggregate[in]: dst_host
aggregate[out]: src_host
imt_path[in]: /tmp/in.pipe
imt_path[out]: /tmp/out.pipe

En el fichero nfacctd.hosts, añadimos las ip’s / rangos que nos interese tener en detalle…


# nano /etc/pmacct/nfacctd.hosts

1.1.1.1/32
1.1.1.2/32
..
...

Lanzamos pmacct….


root@testflow:/etc/pmacct/sbin# ./nfacctd -D -f /etc/pmacct/pmacct.conf

Para comprobar que estamos escuchando correctamente:

root@testflow:/etc/pmacct/bin# netstat -putan | grep 9996
udp 0 0 0.0.0.0:9996 0.0.0.0:* 17799/nfacctd: Core

y que recogemos flows:

root@testflow:/etc/pmacct/bin# ./pmacct -s -p /tmp/out.pipe
root@testflow:/etc/pmacct/bin# ./pmacct -s -p /tmp/in.pipe

Y ahora comprobamos si hace accounting de las ip’s en concreto:


root@testflow:/etc/pmacct/bin# ./pmacct -c dst_net -N 1.1.1.1 -p /tmp/in.pipe
7254628
root@testflow:/etc/pmacct/bin#

Y vemos cómo ya nos muestra tráfico en bytes 🙂

Captura de pantalla 2014-11-16 a las 14.42.32

Netflow: nfsen + nfdump en Debian (2) + cacti

Siguiendo la entrada anterior, si accedemos a la interfície web de nfsen (dejando un rato para que grafique), deberíamos tener algo así:

capturanfsen1

Ahora, añadimos Cacti…. para ello, instalamos unas dependencias nuevas:


# apt-get install dbconfig-common javascript-common libaio1 libdbd-mysql-perl libdbi-perl libhtml-template-perl libjs-jquery libjs-jquery-cookie libphp-adodb mysql-client-5.5 mysql-server mysql-server-5.5 mysql-server-core-5.5 wwwconfig-common php5-cli php5-mysql php5-snmp snmp snmpd rrdtool libmysqlclient-dev libsnmp-dev libpcap-dev

Una vez instaladas las dependencias, descargamos la última versión de cacti:


# cd /usr/src
# wget -c http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz

Descomprimimos:

# tar -zxvf cacti-0.8.8b.tar.gz

Creamos la BBDD para cacti, junto con el user / pass


# mysql -u root -p
password:****
mysql> create database cacti;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'cacti'@'%' IDENTIFIED BY 'cacti' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit

# mysql -u cacti -pcacti cacti < cacti.sql

Copiamos la carpeta que nos hemos descargado a /var/www/cacti

Una vez copiada, modificamos /var/www/cacti/include/config.php


/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
$database_ssl = false;

Y nos vamos al navegador:

http://ip.del.server/cacti

Y tendremos la siguiente página:

capturacacti

Aceptamos:

capturacacti2

Nos aseguramos que tengamos todas las dependencias:

cacti3

Una vez aceptado, accedemos via web al cacti:

http://ip.del.server/cacti

y ponemos la pass de admin

cacti4

Ahora instalamos cacti-spine.... descargamos:


root@testflow:/usr/src# wget -c http://www.cacti.net/downloads/spine/cacti-spine-0.8.8b.tar.gz
root@testflow:/usr/src# tar -zxvf cacti-spine-0.8.8b.tar.gz
root@testflow:/usr/src# cd cacti-spine
root@testflow:/usr/src/cacti-spine-0.8.8b# ./configure
root@testflow:/usr/src/cacti-spine-0.8.8b# make
root@testflow:/usr/src/cacti-spine-0.8.8b# make install

Generamos el fichero de configuración:

root@testflow:/# cd /usr/local/spine/etc/
root@testflow:/usr/local/spine/etc# cp spine.conf.dist spine.conf
root@testflow:/usr/local/spine/etc# nano spine.conf

Editamos el fichero spine.conf y configuramos la BBDD

# +-------------------------------------------------------------------------+
DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass cacti
DB_Port 3306
DB_PreG 0

Entramos en la web del cacti y configuramos Spine:

spine

Añadimos al cron

# crontab -e
*/1 * * * * php5 /var/www/cacti/poller.php > /dev/null 2>&1

en mi caso, el poller.php lo tengo situado en esa carpeta.

Netflow: nfsen + nfdump en Debian (1)

Otra entrada que es un apunte para recordar la instalación / configuración.

Netflow, es un protocolo creado por cisco y usado por varios fabricantes, para exportar fuera del router / firewall, el detalle del tráfico…. de esta manera, tendremos un histórico para hacer accounting, ver ataques y en definitiva, para tener controlado todo un poco en nuestros routers.

Existen herramientas de pago fantásticas, tipo Netflow Analyzer, pero su precio, hace que nos lo pensemos bien si lo queremos tener en casa, para jugar o una pequeña empresa, así que, la alternativa libre, pasa por usar nfsen (frontend) y nfdump.

Partimos de la base de una debian recién instalada …

Instalamos unas dependencias básicas:

# apt-get install gcc make flex librrd-dev mtr htop autoconf bison
# apt-get install apache2 libapache2-mod-php5 php5-common libmailtools-perl rrdtool librrds-perl
# apt-get install rrdtool libio-socket-ssl-perl
# perl -MCPAN -e 'install Socket6'

Descargamos en /usr/src el programa para compilarlo:

wget -c http://sourceforge.net/projects/nfdump/files/stable/nfdump-1.6.12/nfdump-1.6.12.tar.gz/download

Descomprimes…

# tar -zxvf nfdump-1.6.12.tar.gz

Install….

#./configure --enable-nfprofile
# make
# make install

Una vez instalado, vamos por el nfsen….. descargamos la última versión disponible

wget -c http://downloads.sourceforge.net/project/nfsen/stable/nfsen-1.3.6p1/nfsen-1.3.6p1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fnfsen%2Ffiles%2Fstable%2Fnfsen-1.3.6p1%2F&ts=1415459147&use_mirror=heanet

Descomprimimos nfsen….


# tar -zxvf nfsen-1.3.6p1.tar.gz

Yo, suelo crearme un directorio para tener ordenados los ficheros y me suelo copiar la instalación del nfsen allí:

# mkdir /etc/nfsen
# mv /usr/src/nfsen-1.3-6p1 /etc/nfsen

Nos creamos el fichero de configuración para nuestros cacharros..

# cd /etc/nfsen
# cp nfsen-dist.conf nfsen.conf

Editamos / cambiamos unos valores y añadimos nuestro primer dispositivo:


# nano /etc/nfsen/nfsen.php

# BASEDIR unrelated vars:
#
# Run nfcapd as this user
# This may be a different or the same uid than your web server.
# Note: This user must be in group $WWWGROUP, otherwise nfcapd
# is not able to write data files!
$USER = "www-data";

# user and group of the web server process
# All netflow processing will be done with this user
$WWWUSER = "www-data";
$WWWGROUP = "www-data";

%sources = (
'asav254' => { 'port' => '9995', 'col' => '#0000ff', 'type' => 'netflow' },
);

Añadimos un link simbólico para /var/www y cambiamos permisos…


# ln -s /var/www/nfsen/nfsen.php /var/www/nfsen/index.php
# chown -R www-data:www-data /data/nfsen
# chown -R www-data:www-data /var/www/nfsen

Creamos el directorio para almacenar:

# mkdir -p /data/nfsen
# /var/www/nfsen/install.pl /etc/nfsen/nfsen.conf

Añadimos al inicio el nfsen:

# ln -s /data/nfsen/bin/nfsen /etc/init.d/nfsen
# update-rc.d nfsen defaults 20

Y lo iniciamos:

# /etc/init.d/nfsen start

Virtualizando cisco asa 55xx

Esta vez toca ampliar el laboratorio de prácticas de networking… ya tengo varios routers virtuales mikrotik, pero nunca había podido hacer un cisco asa.

Hay que decir, que no es legal, no está soportado por cisco y que cada uno que haga lo que quiera….

Yo lo he usado para practicar el cambio que ha hecho cisco; de la versión 8.2.x a la 8.3 en adelante, ha modificado todo el tema de nat y

La guia original aqui

Primero de todo, nos bajamos la versión 8.4.2 de cisco asa, junto con el ASDM

http://software.cisco.com/download/release.html?mdfid=280582808&softwareid=280775065&release=9.2.1.ED

Luego nos bajamos el script que extrae los ficheros de imagen y nos hace la ISO:

https://gist.github.com/anonymous/c3225054e6681a39be16

Para preparar la ISO, tengo una fedora x86 y los siguientes paquetes:

vim-minimal vim-common mkisofs

Y los instalamos tal que así:

yum -y install vim-minimal vim-common mkisofs

Yo, modifiqué el script para que el firewall arranque solo y tenga que darle al intro cada vez que se reinicia…. aquí cada uno que haga lo que quiera:


#!/bin/bash
# FILENAME: repack.v4.1.sh
# AUTHOR: dmz
# SOURCE: http://7200emu.hacki.at/viewtopic.php?t=9074
# DISCLAIMER: All information provided here are solely for self-education and investigation purposes. Provided AS-IS without any warranties.

VERSION=4.1

IMAGE=$1
CWD=`pwd`
[ -z "$IMAGE" ] && IMAGE=$CWD/asa842-k8.bin

echo "Repack script version: $VERSION"

if [ ! -f "$IMAGE" ]; then
echo "USAGE: repack.sh /path/to/asa/image"
exit 1;
fi

XXD=`which xxd`
ISOLINUX_BIN=/usr/share/syslinux/isolinux.bin
MKISOFS=`which mkisofs`

if [ ! -x "$XXD" ]; then
echo "ERROR: xxd command not found"
echo "Install 'vim' or 'vim-enhanced' package to get it"
exit 1;
fi

CREATEISO=no

if [ -x "$MKISOFS" -a -e "$ISOLINUX_BIN" ]; then
echo "Detected syslinux/cdrtools - ISO will be created"
CREATEISO=yes
else
echo "no syslinux/cdrtools - ISO creation skipped"
fi

BASE_NAME=`basename "$IMAGE"`
case "$BASE_NAME" in
'asa842-k8.bin') # ASA 8.4(2)
dd skip=102400 if="$IMAGE" of="$CWD/asa842-vmlinuz" bs=1 count=1359344
dd skip=1461744 if="$IMAGE" of="$CWD/asa842-initrd-original.gz" bs=1
TMP_DIR=`mktemp -d`
pushd $TMP_DIR
gunzip -c "$CWD/asa842-initrd-original.gz" | cpio -i --no-absolute-filenames --make-directories
find . | cpio -o -H newc | gzip -9 > "$CWD/asa842-initrd-original.gz"
sed -i -e "s/(VERBOSE=).*/1yes/" etc/init.d/rcS
sed -i -e "s/echo -n/echo/" etc/init.d/S10udev
sed -i -e "s#^fi$#fingrep -q shell /proc/cmdlinen[ $? == 0 ] && echo '/bin/sh' >> /tmp/run_cmd#" asa/scripts/rcS
sed -i -e "/mount/d" asa/scripts/format_flash.sh
sed -i -e "s#mount=0#if [ ! -e /dev/hda1 ]; then /asa/scripts/format_flash.sh /dev/hda1 0 0 /dev/hda; finmount=0#" asa/scripts/rcS.common
xxd -r -g 2 -c 16 - asa/bin/lina < "$CWD/asa842-initrd.gz"
popd
rm -rf $TMP_DIR
if [ "$CREATEISO" == "yes" ]; then
TMP_DIR=`mktemp -d`
pushd $TMP_DIR
mkdir isolinux
cp $ISOLINUX_BIN isolinux/
cp $CWD/asa842-vmlinuz .
cp $CWD/asa842-initrd.gz .
cp $CWD/asa842-initrd-original.gz .
cat >isolinux/isolinux.cfg <isolinux/boot.txt < is not supported!"
exit 1;
;;
esac

al script, le damos permisos de ejecución :

[root@localhost home]# chmod +x repack.v4.sh

y ahora lo ejecutamos…..

[root@localhost home]# ./repack.v4.sh ./asa842-k8.iso
Repack script version: 4
Detected syslinux/cdrtools - ISO will be created
Version is not supported!
[root@localhost home]# ./repack.v4.sh ./asa842-k8.iso
Repack script version: 4
USAGE: repack.sh /path/to/asa/image
[root@localhost home]# ./repack.v4.sh ./asa842-k8.bin
Repack script version: 4
Detected syslinux/cdrtools - ISO will be created
1359344+0 registros leídos
1359344+0 registros escritos
1359344 bytes (1,4 MB) copiados, 9,43295 s, 144 kB/s

23697936+0 registros leídos
23697936+0 registros escritos
23697936 bytes (24 MB) copiados, 165,249 s, 143 kB/s
/tmp/tmp.mHaYlsi8ln /home

gzip: /home/asa842-initrd-original.gz: decompression OK, trailing garbage ignored
114476 blocks
114476 blocks
114476 blocks
/home
/tmp/tmp.bkRPw31Byc /home
I: -input-charset not specified, using utf-8 (detected in locale settings)
Size of boot image is 4 sectors -> No emulation
21.05% done, estimate finish Fri May 23 22:18:54 2014
42.01% done, estimate finish Fri May 23 22:18:54 2014
63.01% done, estimate finish Fri May 23 22:18:54 2014
83.97% done, estimate finish Fri May 23 22:18:54 2014
Total translation table size: 2048
Total rockridge attributes bytes: 0
Total directory bytes: 2048
Path table size(bytes): 26
Max brk space used 0
23823 extents written (46 MB)
/home

Y ahora, al ver el directorio…

[root@localhost home]# ls -l
total 119496
-rw-r--r--. 1 root root 23518187 may 23 22:18 asa842-initrd.gz
-rw-r--r--. 1 root root 23517694 may 23 22:18 asa842-initrd-original.gz
-rw-r--r--. 1 root root 25159680 may 23 22:12 asa842-k8.bin
-rw-r--r--. 1 root root 1359344 may 23 22:15 asa842-vmlinuz
-rw-r--r--. 1 root root 48789504 may 23 22:18 asa.iso
-rwxr-xr-x. 1 root root 4301 may 23 22:11 repack.v4.sh
[root@localhost home]#

Tenemos el fichero asa.iso, que lo copiaremos a nuestro vmware.

Creamos una máquina virtual con los siguientes requisitos:

1) Disco ide de 256 Mb (no necesitamos más)
2) Tarjetas de red “e1000”
3) 1 sola cpu

Y nos queda tal que:


vmware1

Y ahora, para hacerlo más realista, asignaré el puerto serie a la máquina física:
vmware2

Ahora, arrancamos la máquina y conectamos el puerto serie …. 🙂


asaTest# sh ver

Cisco Adaptive Security Appliance Software Version 8.4(2)
Device Manager Version 7.2(1)

Compiled on Wed 15-Jun-11 18:17 by builders
System image file is "Unknown, monitor mode tftp booted image"
Config file at boot was "startup-config"

asaCraem up 1 day 9 hours

Hardware: ASA 5520, 1024 MB RAM, CPU Pentium II 3000 MHz
Internal ATA Compact Flash, 256MB
BIOS Flash unknown @ 0x0, 0KB

0: Ext: GigabitEthernet0 : address is 000c.29a2.705e, irq 0
1: Ext: GigabitEthernet1 : address is 000c.29a2.7068, irq 0
2: Ext: GigabitEthernet2 : address is 000c.29a2.7072, irq 0
3: Ext: GigabitEthernet3 : address is 000c.29a2.707c, irq 0
4: Ext: GigabitEthernet4 : address is 000c.29a2.7086, irq 0

Licensed features for this platform:
Maximum Physical Interfaces : Unlimited perpetual
Maximum VLANs : 100 perpetual
Inside Hosts : Unlimited perpetual
Failover : Disabled perpetual
VPN-DES : Disabled perpetual
VPN-3DES-AES : Disabled perpetual
Security Contexts : 0 perpetual
GTP/GPRS : Disabled perpetual
AnyConnect Premium Peers : 5000 perpetual
AnyConnect Essentials : Disabled perpetual
Other VPN Peers : 5000 perpetual
Total VPN Peers : 0 perpetual
Shared License : Disabled perpetual
AnyConnect for Mobile : Disabled perpetual
AnyConnect for Cisco VPN Phone : Disabled perpetual
Advanced Endpoint Assessment : Disabled perpetual
UC Phone Proxy Sessions : 2 perpetual
Total UC Proxy Sessions : 2 perpetual
Botnet Traffic Filter : Disabled perpetual
Intercompany Media Engine : Disabled perpetual

This platform has an ASA 5520 VPN Plus license.

Serial Number: 123456789AB
Running Permanent Activation Key: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
Configuration register is 0x0
Configuration has not been modified since last system restart.

enjoy your virtual asa

Monitorizar hardware ESXI nagios

Esta vez vamos a monitorizar el estado del hardware HP de un ESXI

Tengo, para frikear, unos HP DL380 G5 y DL360G5, de los cuales, debido al tiempo que tienen, se han estropeado algunas fuentes de alimentación y algunos discos.

Primero de todo, de la página www.hp.com de EEUU, descargamos:

http://h20566.www2.hp.com/portal/site/hpsc/template.PAGE/public/psi/swdHome/?sp4ts.oid=3288134&spf_p.tpst=swdMain&spf_p.prp_swdMain=wsrp-navigationalState%3DswEnvOID%253D4115%257CswLang%253D%257Caction%253DlistDriver&javax.portlet.begCacheTok=com.vignette.cachetoken&javax.portlet.endCacheTok=com.vignette.cachetoken


* RECOMMENDED * HP ESXi Utilities Offline Bundle for VMware ESXi 5.0 and vSphere 5.1

* RECOMMENDED * HP NMI Sourcing Driver for VMware ESXi 5.x

HP ESXi Offline Bundle for VMware ESXi 5.x

Copiamos estos 3 ficheros por SFTP al directorio /TMP de nuestro ESXI...... una vez copiados, los instalamos:


#esxcli software vib install -d /tmp/ficheroainstalar

Una vez instalados los 3, nos pedirá reiniciar. Volvemos a entrar con el cliente de ESXI y nos vamos a la pestaña de [configuration]

estadoesxi

Ahora vamos a la parte de nagios y descargamos el siguiente plugin.


http://exchange.nagios.org/directory/Plugins/Operating-Systems/%2A-Virtual-Environments/VMWare/Check-hardware-running-VMware-ESXi/details

Y lo copiamos en:
/usr/local/nagios/libexec

Una vez copiado, editamos el fichero commands.cfg y añadimos al final de todo:

define command{
command_name check_esx_wbem
command_line $USER1$/check_esx_wbem.py https://$HOSTADDRESS$:5989 $ARG1$ $ARG2$ verbose
}

Y ahora definimos los servicios a monitorizar:


define host {
use esxi-server
host_name olimpo_craem_net
alias olimpo_craem_net
address 192.168.2.203
icon_image linux_server.gif
statusmap_image linux_server.gd2
hostgroups esxi-home
}

define service{
use generic-service
host_name olimpo_craem_net
service_description ESXi Hardware Monitor
check_command check_esx_wbem!readuser!password
}

Y ahora en nuestro nagios, parte web, tendremos ésto:
captura2

Ahora podremos dormir tranquilos con nuestro servidor monitorizado 🙂

Tunnel IPIP mikrotik + ip dinámicas

En esta ocasión, he tenido la necesidad de tumbar un tunel PPTP en una mikrotik, para hacer el cambio contra un tunnel IPIP.

Recordemos que, el tunnel PPTP, aunque sencillo de configurar, tiene los siguientes incovenientes:

– La MTU del tunnel, queda a 1460 bytes; tenemos una sobrecarga de cabeceras considerable.
– El rendimiento de tunnel en general, no es muy bueno.
– Consumo medio de recursos en los routers; requiere cifrado.

el uso de IPIP, viene justificado por:

– La mtu del tunnel, queda en 1480 bytes.
– El rendimiento del tunnel, es muy bueno, en comparación con pptp
– El consumo de cpu en el router, al no llevar cifrado, es casi nulo.

Una vez explicado, tengo el inconveniente de que, en uno de los extremos es ip dinámica…. el tunnel IPIP, recordemos que, va de extremo a extremo… fijado de ip pública a ip pública…… Mirando mikrotik, veo que soporta scripts.

Nos ponemos manos a la obra:

:global ip_nueva [:resolve midominio.dyndns.org]
:global ip_actual [ /interface ipip get 1 remote-address]
if ($ip_nueva!=$ip_actual) do={/interface ipip set 1 remote-address=$ip_nueva }

En el extremo que tenemos ip dinámica, usamos un servicio de dyndns gratuito.

Definimos variables:
1º Línea definimos variable global ip_nueva y le asignamos el valor que tiene el dyndns
2º Consultamos el valor actual de la ip en el tunnel. El número 1 significa el número de tunnel.
3º Si la ip nueva es diferente a la actual….. sorpresa… actualizamos la ip del tunnel.

Esto está muy bien, pero ahora, para ejecutarlo cada minuto…. en la consola de nuestra mikrotik:


add comment="Script ipip Dynamic" disabled=no interval=1m name=ipip1 on-event=":global ip_nueva [:resolve midominio.dyndns.org]r
n:global ip_actual [ /interface ipip get 1 remote-address]r
nif ($ip_nueva!=$ip_actual) do={/interface ipip set 1 remote-address=$ip_nueva }" policy=ftp,read,write,policy,test,winbox,api start-date=feb/13/2014
start-time=14:18:26

Enjoy you dynamic IP 😉