DHCP3-Server Failover

August 7th, 2008

Este artículo explica como instalar 2 servidores DHCP en una red en modo failover, esta configuración es util para entornos donde el servicio DHCP es vital para el funcionamiento correcto de la red, teniendo así un servidor primario y otro secundario para ofrecer IP sin interrupciones en el caso de que uno de estos 2 este fuera de servicio temporalmente.

Escenario:

Sistema operativo GNU/Linux
Red 192.168.0.0/24

DHCP Primario 192.168.0.4
DHCP Secundario 192.168.0.5

DNS Primario 192.168.0.2
DNS Secundario 192.168.0.3

Router 192.168.0.1

Primero instalaramos el servidor dhcp en el primario y en el secundario:

# Debian/Ubuntu
apt-get install -y dhcp3-server ntp

# Redhat/CentOS
yum install -y dhcp ntp

Editaremos el archivo de configuración del DHCP primario dejandolo así:

# /etc/dhcp3/dhcpd.conf

authoritative;
ddns-update-style none;
allow booting;
allow bootp;
log-facility local7;

failover peer “dhcpdfailover” {
primary; # declare this to be the primary server
address 192.168.0.20;
port 647;
peer address 192.168.0.1;
peer port 647;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
mclt 1800;
split 128;
}

subnet 192.168.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.4;
pool {
failover peer “dhcpdfailover”;
deny dynamic bootp clients;
max-lease-time 1800; # 30 minutos
range 192.168.0.100 192.168.0.200;
}
allow unknown-clients;
ignore client-updates;

}

Editaremos el archivo de configuración del DHCP secundario dejandolo así:

/etc/dhcp3/dhcpd.conf

authoritative;
ddns-update-style none;
allow booting;
allow bootp;
log-facility local7;

failover peer “dhcpdfailover” {
secondary; # declare this to be the secondary server
address 192.168.0.1;
port 647;
peer address 192.168.0.20;
peer port 647;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
}

subnet 192.168.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.4;
pool {
failover peer “dhcpdfailover”;
deny dynamic bootp clients;
max-lease-time 1800; # 30 minutos
range 192.168.0.100 192.168.0.200;
}
allow unknown-clients;
ignore client-updates;

}

Editaremos el archivo /etc/default/dhcp3-server y añadiremos los adaptadores de red que utilizaran el dhcp para suministrar IP a la red.

Tan solo queda sincronizar los relojes de los 2 servidores con ntp y reiniciar los servicios de DHCP en los 2 servidores.

ntpq -p hora.rediris.es
/etc/init.d/dhcp* restart

Ahora podremos ver los log para verificar que funciona todo correctamente.

DHCP Primario.

rocco:~# tail -f /var/log/syslog
Aug  7 10:41:11 rocco dhcpd: failover peer dhcpdfailover: peer update completed.
Aug  7 10:41:11 rocco dhcpd: failover peer dhcpdfailover: I move from recover to recover-done
Aug  7 10:41:11 rocco dhcpd: Sent update done message to dhcpdfailover
Aug  7 10:41:11 rocco dhcpd: failover peer dhcpdfailover: peer moves from recover to recover-done
Aug  7 10:41:11 rocco dhcpd: failover peer dhcpdfailover: I move from recover-done to normal
Aug  7 10:41:11 rocco dhcpd: failover peer dhcpdfailover: peer moves from recover-done to normal
Aug  7 10:41:11 rocco dhcpd: pool 8129ed0 192.168.0/24 total 101  free 51  backup 50  lts 0

DHCP Secundario

fwap:~# tail -f /var/log/syslog
Aug  7 10:41:09 fwap dhcpd: failover peer dhcpdfailover: I move from startup to recover
Aug  7 10:41:09 fwap dhcpd: Sent update request all message to dhcpdfailover
Aug  7 10:41:09 fwap dhcpd: Update request all from dhcpdfailover: sending update
Aug  7 10:41:10 fwap dhcpd: Sent update done message to dhcpdfailover
Aug  7 10:41:10 fwap dhcpd: failover peer dhcpdfailover: peer moves from recover to recover-done
Aug  7 10:41:11 fwap dhcpd: failover peer dhcpdfailover: peer update completed.
Aug  7 10:41:11 fwap dhcpd: failover peer dhcpdfailover: I move from recover to recover-done
Aug  7 10:41:11 fwap dhcpd: failover peer dhcpdfailover: peer moves from recover-done to normal
Aug  7 10:41:11 fwap dhcpd: failover peer dhcpdfailover: I move from recover-done to normal
Aug  7 10:41:11 fwap dhcpd: pool 8129de0 192.168.0/24 total 101  free 51  backup 50  lts 0

.

Boletín de Servicio: 2008/001 Elastix precargadas

July 22nd, 2008

Se ha detectado en algunos servidores Elastix premontados un parámetro erroneo en la BIOS. Aunque no afecta al servicio, se recomienda cambiarlo a fin de conseguir la máxima valocidad de acceso a disco. Podeis descargar ese boletín desde este enlace.

Con este primer boletín, iniciamos la publicación de notas técnicas sobre el material que comercializamos, en una búsqueda de un mejor servicio. Es la primera de algunas novedades que os iremos presentando mes a mes.

Primeras imágenes de la centralita IP OpenVox (IX100)

July 9th, 2008

OpenVox acaba de publicar las primeras imágenes de la centralita IP que van a lanzar al mercado en breve.

Basada en un procesador Geode a 800 Mhz, con 256 Mb de RAM instalada, dos puertos ethernet y dos puertos USB, se nos muestra como una posibilidad interesante. Sus medidas son de 40.3 cm de ancho, 3.5 cm de alto y 15.6 cm de profundidad, con solo 1 Kg de peso (sin la fuente de alimentación).

Admite cualquier combinación mediante tarjetas miniPCI (o sea entre 1 y 4 bocas FXO/FXS analógicas y entre 1 y 4 RDSI) inclusive combinar una tarjeta WIfi y una tarjeta de telefonía. Aunque no hay precio definitivo disponible, no dudamos de que será muy interesante.

En los próximos dias esperamos recibir una unidad y en cuanto la sometamos a pruebas os daremos más información.

Programa de Recompra de Tarjetas OpenVox

July 8th, 2008

Hemos conseguido poner en marcha, con la colaboración de la empresa OpenVox, un programa de recompra de tarjetas de telefonía OpenVox. Este programa se ha pensado para aquellas personas que adquirieron una tarjeta de telefonía y precisan migrar a un modelo superior. Normalmente esto ocurre cuando las lineas crecen o la oficina se muda y uno se encuentra con que la tarjeta de telefonía que compró ya no es adecuada. En esos casos normalmente la tarjeta termina guardada en un cajón y la inversión realizada en la basura.

Con este programa es posible ahora recomprar esa tarjeta y recuperar una parte de la inversión realizada, al comprar la nueva tarjeta de telefonía. Podeis encontrar mas detalles en este enlace:

http://www.capatres.com/recompra-tarjetas.html

Esperamos que esta iniciativa os sea útil a muchos de vosotros.

Idioma Español en Snom con firmware 7.x.x

July 3rd, 2008

Como algunos habreis detectado ya, Snom ha realizado un cambio al pasar a la versión de firmware 7.X. Este cambio ha sido la eliminación de los idiomas múltiples del fichero de firmware, que han de cargarse ahora por separado. A fin de preservar el conocimiento (que las notas siempre se pierden) y que además podais ahorraros las pruebas, os detallo a continuación como cargar múltiples idiomas en los Snom si usais autoaprovisionamiento.

Si estais usando autoaprovisionamiento en los Snom tendreis ya un directorio tftpboot. En ese directorio vamos a emplazar tres ficheros nuevos: settings.xml (encargado de decirle a nuestro teléfono donde estan los otros ficheros), web_lang.xml (con los diccionarios para la parte web del teléfono) y gui_lang.xml (para el interface de usuario). Teneis ficheros modelo en la URL: http://fox.snom.com/config/ (donde además están los diccionarios). Un ejemplo de estos ficheros podria ser:

settings.xml

<setting-files>
<file url="tftp://10.13.13.105/web_lang.xml"/>
<file url="tftp://10.13.13.105/gui_lang.xml"/>
</setting-files>

Como vereis nos limitamos a decirle donde estan los ficheros.

web_lang.xml

<?xml version="1.0" encoding="utf-8" ?>
<web-languages>
<language url="http://10.13.13.105/snomlang/web_lang_CZ.xml" name="Cestina" />
<language url="http://10.13.13.105/snomlang/web_lang_DK.xml" name="Dansk" />
<language url="http://10.13.13.105/snomlang/web_lang_DE.xml" name="Deutsch" />
<language url="http://10.13.13.105/snomlang/web_lang_EN.xml" name="English" />
<language url="http://10.13.13.105/snomlang/web_lang_SP.xml" name="Espanol" />
<language url="http://10.13.13.105/snomlang/web_lang_FR.xml" name="Francais" />
<language url="http://10.13.13.105/snomlang/web_lang_IT.xml" name="Italiano" />
<language url="http://10.13.13.105/snomlang/web_lang_NL.xml" name="Nederlands" />
<language url="http://10.13.13.105/snomlang/web_lang_NO.xml" name="Norsk" />
<language url="http://10.13.13.105/snomlang/web_lang_PT.xml" name="Portugues" />
<language url="http://10.13.13.105/snomlang/web_lang_RU.xml" name="Russian" />
<language url="http://10.13.13.105/snomlang/web_lang_FI.xml" name="Suomi" />
<language url="http://10.13.13.105/snomlang/web_lang_SW.xml" name="Svenska" />
<language url="http://10.13.13.105/snomlang/web_lang_TR.xml" name="Turkce" />
</web-languages>

En este le indicamos donde encontrará los diccionarios de cada idioma…

gui_lang.xml

<?xml version="1.0" encoding="utf-8" ?>
<gui-languages>
<language url="http://10.13.13.105/snomlang/gui_lang_CA.xml" name="Catalan" />
<language url="http://10.13.13.105/snomlang/gui_lang_CZ.xml" name="Cestina" />
<language url="http://10.13.13.105/snomlang/gui_lang_DK.xml" name="Dansk" />
<language url="http://10.13.13.105/snomlang/gui_lang_DE.xml" name="Deutsch" />
<language url="http://10.13.13.105/snomlang/gui_lang_EN.xml" name="English" />
<language url="http://10.13.13.105/snomlang/gui_lang_UK.xml" name="English(UK)" />
<language url="http://10.13.13.105/snomlang/gui_lang_SP.xml" name="Espanol" />
<language url="http://10.13.13.105/snomlang/gui_lang_FR.xml" name="Francais" />
<language url="http://10.13.13.105/snomlang/gui_lang_IT.xml" name="Italiano" />
<language url="http://10.13.13.105/snomlang/gui_lang_NL.xml" name="Nederlands" />
<language url="http://10.13.13.105/snomlang/gui_lang_NO.xml" name="Norsk" />
<language url="http://10.13.13.105/snomlang/gui_lang_PL.xml" name="Polski" />
<language url="http://10.13.13.105/snomlang/gui_lang_PT.xml" name="Portugues" />
<language url="http://10.13.13.105/snomlang/gui_lang_RU.xml" name="Russian" />
<language url="http://10.13.13.105/snomlang/gui_lang_SK.xml" name="Slovencina" />
<language url="http://10.13.13.105/snomlang/gui_lang_FI.xml" name="Suomi" />
<language url="http://10.13.13.105/snomlang/gui_lang_SW.xml" name="Svenska" />
<language url="http://10.13.13.105/snomlang/gui_lang_TR.xml" name="Turkce" />
</gui-languages>

Y en este último repetimos indicando los ficheros para el interfaz de usuario.

A continuación deberemos de poner en las rutas indicadas los diccionarios, que podremos descargar de la ruta indicada arriba en forma de fichero .tar.gz.

Por último le diremos a nuestras terminales como deben cojer estos ficheros, para lo cual añadiremos a nuestros ficheros de autoaprovisionamiento la siguiente sentencia:

setting_server!: tftp://10.13.13.105/settings.xml

Y a partir de ese momento ya podreis disfrutar de la selección de múltiples idiomas.

Espero os sea de utilidad.

Gateways Portech VoIP - GSM a la venta

June 26th, 2008

Hemos puesto a vuestra disposición una pequeña guía con la configuración mínima para los gateways GSM-VoIP Portech MV370. Podeis descargarla desde este enlace. Los gateways GSM de Portech son la alternativa económica a otros dispositivos GSM analógicos o RDSI. Por el mismo precio (e incluso según que modelo por un precio inferior) nos permiten prescindir de la tarjeta de telefonía analógica o RDSI para conectarlos. Adicionalmente, gracias a que quedan conectados a nuestro Asterisk mediante un cliente de VOIP nativo (usando el protocolo SIP) nos permiten rutar las llamadas hacia y desde la red GSM sin los molestos retardos que tienen muchos módulos GSM tradicionales.

El precio del modelo MV370 (una llamada simultánea - un solo SIM) es de 233.00 euros + IVA. El precio del modelo MV372 (dos llamadas simultáneas - dos SIMS) es de 374.00 euros + IVA.

Podeis encontrar estos modelos en nuestra tienda web.

Nueva tarjeta B100M (1xRDSI miniPCI)

June 25th, 2008

Openvox ha lanzado al mercado una nueva tarjeta en formato miniPCI. Se trata de la B100M, que al igual que la B100P dispone de 1 único puerto RDSI.

La B100M es la última tarjeta puesta en circulación por OpenVox, que completa con la B200M y B400M la serie de 1,2 o 4 RDSI sobre slot miniPCI type III. En breve estará disponible para su compra en nuestra tienda web. La tarjeta puede funcionar con Asterisk usando los controladores bristuff o mISDN.

Valoraciones Curso Práctico Asterisk Junio 2008

June 20th, 2008

Hoy hemos concluído una nueva edición del Curso Práctico de Asterisk 1.4, y como hacemos siempre, os incluímos aquí las valoraciones recibidas de los asistentes al curso, una vez calculada la media. Todas las preguntas debían valorarse puntuando entre 0 y 10 (donde cero era Muy Mal o Nada y 10 era Excelente o Mucho).

Ubicación del Curso (transportes,situación,etc) 8,50

Aula (amplitud,comodidas,instalaciones,etc) 8,25

Medios Audiovisuales (proyecciones) 8,25

Material entregado en el curso (manual,cd,etc) 8,75

Material usado en el curso (ordenadores,red) 7,75

Profesores (conocimiento,accesibilidad,etc) 9,25

El contenido del curso se ajusta al temario 8,75

Los contenidos responden a las espectativas iniciales 9,00

¿Considera que el curso va a serle útil en el futuro? 8,75

Valore de forma global su satisfacción sobre el curso 8,75

Ha sido un curso complicado, con la avería el primer día del equipo del profesor (tal y como os comentaba hace un par de días) lo que estuvo a punto de complicarnos sobremanera el desarrollo de las clases. No obstante hemos conseguido dominar la situación y el curso se ha desarrollado después sin mayores inconvenientes.

A los que habeis asistido, agradeceros desde aquí la paciencia mostrada el primer día con los problemas que tuvimos, y emplazaros para el futuro en ese curso del que hemos hablado 8-)

Mas fotos del Curso Asterisk de Junio 2008

June 20th, 2008

Os incluímos aquí las últimas fotos del curso que ha concluído hoy:

Jueves: 19/08/2008

Poniendo en práctica las distintas posibilidades de Asterisk.

Las dudas se presentan durante el curso…

Viernes: 20/06/2008

Enlazando sistemas Asterisk mediante Trunks IAX2…

Los trunks se resisten, pero tras cuadrar los contextos todo empieza a funcionar.

A todos, gracias por vuestra asistencia al Curso Práctico de Asterisk 1.4 de Junio.

Primer y segundo día del curso de Junio

June 17th, 2008

Llevamos un par de días del Curso de Asterisk de Junio, y puedo decir que este es el mas accidentado de los cursos que hemos dado hasta ahora. Aunque hemos conseguido ponernos al día con el temario sin problemas (y lo que es mejor, sin tener que pasar por encima de algun tema a toda prisa, como hacen algunos), os voy a presentar al culpable de todos nuestros males:

El lunes, a media mañana, el disco duro principal del equipo del profesor rozó el chasis del equipo (sin causa apatente, posiblemente estaba rozando el chasis y alguna vibración provocó el contacto). Como consecuencia la electrónica del disco duro se fue a hacer puñetas y un olorcillo a quemado salió del equipo. En este equipo reside la central que simula las redes de telefonía y todo el software que usamos en el curso.

Tras algunas carreras y un día ajetreado, conseguimos proseguir por la tarde instalando desde DVD (y con algún contratiempo mas). Finalmente hoy hemos podido retomar el temario con el mínimo retraso posible y el curso prosigue sin mayores inconvenientes.

Y como solemos hacer, un par de fotos durante el montaje de las tarjetas y teléfonos en los equipos que van a hacer de centralita.