Archivo de la etiqueta: GNU con linux

Configurando Servidor y Cliente DHCPv6

En este ocasión vamos a configurar un servidor y cliente DHCP con IP versión 6. Fue probado sobre CentOS por lo que debería funcionar sobre Fedora o Redhat con pequeños cambios. Empezamos.

Configuración del Servidor

Instalamos:

yum -y install dhcpv6

Necesitamos habilitar la inicialización global IPv6 y también habilitar el reenvio de paquetes IPv6

nano /etc/sysconfig/network

NETWORKING_IPV6=yes
IPV6FORWARDING=yes

Ahora necesitamos configurar un dispositivo en particular(en mi caso eth0) con una dirección IP versión 6, agregamos las siguientes líneas

nano /etc/sysconfig/network-scripts/ifcfg-eth0

IPV6INIT=yes
IPV6ADDR=”2002:1851:c622:1::1/64″

Ahora configuramos nuestra interfaz(en mi caso eth0) al servidor DHCPv6

nano /etc/sysconfig/dhcp6s

DHCP6SIF=eth0
DHCP6SARGS=

Ahora configuramos el archivo principal del Servidor DHCPv6, parámetros muy parecidos al servidor en IPv4, si no tenemos el archivo lo creamos, o copiamos de los ejemplos que suelen venir por lo general en usr/share/doc/dhcpv6-*/dhcp6s.conf a la carpeta /etc.

Luego lo editamos

nano /etc/dhcp6s.conf

interface eth0 {
server-preference 255;
renew-time 60;
rebind-time 90;
prefer-life-time 130;
valid-life-time 200;
allow rapid-commit;
option dns_servers 2002:1851:c622:1::1 ejemplo.com;
link AAA {
pool{
range 2002:1851:c622:1::2 to 2002:1851:c622:1::9/64;
prefix 2002:1851:c622:1::/64;
};
};
};

Finalmente reiniciamos la interfaz y arrancamos el demonio del Servidor DHCPv6

service network restart && service dhcp6s start


Configuración de Cliente

Instalamos el cliente:

yum –y install dhcpv6_client

Habilitamos IPv6 en el cliente:

nano /etc/sysconfig/network

NETWORKING_IPV6=yes

Ahora configuramos el dispositivo para que pueda trabajar con IPv6, en mi caso eth0

nano /etc/sysconfig/network-scripts/ifcfg-eth0

IPV6INIT=yes
DHCPV6C=yes

Luego configuramos el archivo principal de nuestro Cliente DHCPv6, podemos crear el archivo o copiar uno de los que vienen en los ejemplos, que se los puede encontrar en /usr/share/doc/dhcpv6_client-*/dhcp6c.conf, lo copiamos en /etc
Lo editamos:

interface eth0 {
send rapid-commit;
request domain-name-servers;
};

Finalmente reinciamos nuestra interfaz para que adquiera la IP de nuestro servidor DHCPv6

service network restart

Eso es todo, con el comando ifconfig podemos verificar nuestra IP de alcance Global.

Para más información de IPv6 en Linux:
http://www.linuxtopia.org/online_books/network_administration_guides/Linux+IPv6-HOWTO/index.html

Anuncios

Mi primera animación con JavaFX Composer

Recordando como fue que hice mi primera aplicación en flash, ahora quiero experimentar haciendo un ejemplo similar pero esta vez usando JavaFX Composer.

Voy a usar Netbeans 6.8 y lo primero que hacemos es instalar el plugin JavaFX Composer:

Herramientas –> Complementos –> En la pestaña Plugins disponibles –> Buscamos JavaFX Composer y lo instalamos, reiniciamos el Ide y ya está.

Proyecto Nuevo –> JavaFX –> JavaFX Desktop Business application –> Nombre del proyecto y Terminar.

Interfaz despues de crear nuestro proyecto

Desde la papeleta arrastramos un botón al área de diseño, desde la ventana de propiedades cambiamos el texto que queramos que aparezca en el botón, tambien damos clic en el icono de un “lapiz” de la propiedad “Action” y escogemos “Generate: Go to the next state”, esto nos dirige al editor de código y cambiamos de:

currentState.next();

por:

currentState.nextWrapped();

Arrastramos una circunferencia al área de diseño.

Agregamos un botón y una circunferencia

En la ventana de estados damos clic en el icono “+” le ponemos un nombre, en este caso “uno” con las opciones que se indican en la figura

Creando un "estado"

Creamos un segundo estado al que llamamos “dos” como se muestra en la siguiente figura:

Creando un segundo estado

Con el estado “dos” seleccionado, damos clic en la circunferencia colocada en el área de diseño, nos vamos a la papeleta de propiedades y escogemos la opción de “Traslate X” y cambiamos el valor a 300, damos enter y vemos como se desplaza la circunferencia en X, prueben y establezcan el valor que mas les convengan.

Seleccionamos entre el estado “uno” y el estado “dos”, podemos ver como la circunferencia se desplaza en el eje X.

Trasladando la circunferencia

Con el estado “dos” seleccionado, en la propiedad que acabamos de cambiar “Traslate X” junto a el hay un boton muy pequeño, damos clic,  luego clic en “Select All” cambiamos la opción “Animate” a “Linear” y configuramos el “in” 500, clic en “Close” para terminar.

Configurando la animación

Corremos el proyecto y listo!!!

Corriendo el programa

Esto fue una primera visión de lo que está por venir, espero le s haya gustado. Adjunto el proyecto. Está con extensión pdf, lo renombran cambiando la extensión por ZIP y luego lo descomprimen.

Hasta pronto.


Estrella Roja – GNU/Linux

Estrella Roja – GNU/Linux.

Estrella Roja es un sistema operativo (como Windows o Mac) para computadoras personales (PC).

Pero a diferencia de Windows o Mac que son privativo$Estrella Roja es una versión de un sistema operativo libre o distribución de GNU/Linux.

Los programas que acompañan a Estrella Roja son Libres, por ende su código fuente es de conocimiento público, su desarrollo en mayoría comunitario y con “Licencia Pública General” (GPL).

Sobre su nombre: “Las cinco puntas de la estrella roja representan los cinco dedos de la mano de cualquier proletario o trabajador. Así mismo, también denotan los cinco continentes de nuestro planeta. Esta idea va de la mano del concepto marxista de unión entre todos los trabajadores del mundo entero.”

* La Tecnología Comunitaria en América Latina y el resto del mundo

El uso de Tecnología Comunitaria tiene muchos fundamentos sociales, de resistencia cultural, entre otros… Algunos de sus pilares más importantes pueden ser:

La soberanía popular:‭ La Tecnología Comunitaria, GNU, “‬Linux‭” ‬o los Programas Libres gracias a su código fuente en “Licencia Pública General” (GPL‭)‬,‭ ‬nos dan la soberanía sobre nuestras máquinas y sistemas.‭ ‬Gestando su mismo proceso de desarrollo en forma pública, abierta y comunitaria.
Esto es fundamental cuando la era digital usa estas infraestructuras en el Estado y la sociedad cada día depende más de las tecnologías digitales.‭ ‬Un pueblo no puede depender de la injerencia del capitalismo o la política imperialista‭ ‬que es opresora de los trabajadores, y de los intereses populares de las mayorías.

Futuro trabajo en nuestra comunidad:‭ ‬Al romper con el monopolio de las multinacionales privativas como Micro$oft,‭ ‬el desarrollo,‭ ‬servicio y mantenimiento de Programas Libres,‭ ‬depende y genera más fuentes de empleo y un mercado local,‭ ‬dando posibilidades y oportunidades de trabajo digno,‭ ‬y estimulando proyectos de integración a América Latina, Iberoamerica y el mundo en terminos justos. Donde‭ ‬el deseempleo sumado a la crisis capitalista es un mal cada vez mas tanteable.

La independencia política:‭ ‬Las condiciones del Software privativo como Micro$oft y sus licencias restrictivas de uso y cultura,‭ ‬como sus comprobados‭ “‬errores‭” ‬de diseño‭ (‬Virus,‭ “‬piratería‭”‬,‭ ‬programas espías,‭ ‬etc‭) ‬y las puertas traseras que acatan leyes del país del Norte EEUU,‭ ‬quitan el derecho de autodeterminación de los pueblos.‭ ‬Es por eso clave los Programas Libres generaran un espectro de libertad e independencia política para la autogestión de nuestra Patria Grande y un mundo más justo.

Ahorro económico: Nuestros pueblos tienen muchas prioridades como la educación y el pleno empleo que aún no se han saldado; con el uso de Tecnología Comunitaria, ahorraremos la totalidad del precio de las licencias comerciales. Esto a nivel de Estados, instituciones, signfica muchas veces el ahorro de millones de pesos; que se invertiran realmente en el pueblo y no iranal saqueo y las arcas del capitalismo.

El desarrollo social y cultural:‭ ‬La idea que conlleva a la propiedad intelectual que pondera Micro$oft y otras multinacionales,‭ ‬intenta criminalizar el compartir del conocimiento y la cultura‭; ‬con el sólo objetivo de agotar como mercancía explotable hasta el ultimo centavo.‭ ‬Con los Programas Libres no tenemos estos limites,‭ ‬y su desarrollo tanto técnico como social naturalmente promulgara con el trabajo y la cultura,‭ ‬la buena educación,‭ ‬una mejora económica y de valores verdaderamente más justos y humanistas.

Optimización técnica:‭ ‬Con los Programas Libres,‭ ‬nuestras maquinas pasaran a nuestro control real,‭ ‬y optimizaremos su uso tanto de máquinas‭ “‬poco potentes‭” ‬haciendo un uso social efectivo y no un mero consumismo como plantea el uso de Windows Vista o Windows‭ ‬7.‭ ‬El tener el control de las máquinas,‭ ‬hará que las mismas puedan trabajar mas efectivamente para sus tareas sociales. Quedaremos libres de “formateos”, virus, amenazas, y demás problemas recurrentes que terminan en el famoso “formateo de Windows” o mercado de las “reparaciones”.

La tarea de la Tecnología Comunitaria en la construcción del hombre nuevo y el socialismo

Estrella Roja defiende principios socialistas y revolucionarios, a contramano de la explotación capitalista de la tecnología; que propaga por el mundo el imperialismo.

Un proyecto motivado por y para el movimiento revolucionario internacional, como latinoamericanista, socialista, comunista, marxista, guevarista, socialista-libertario, y toda corriente anticapitalista y antifascista o compañero que se sienta identificado con esta lucha.
Estrella Roja llega en respuesta técnopolítica al monopolio de Microsoft (y su megaespionaje) y al apolitismo del Software Libre, con ya demasiadas distribuciones claramente capitalistas como Xandros, Linspire, RxArt, OpenSolaris, Linux XP, etc. y otras más “comercializadas” por multimillonarios como el caso de Mark Shuttleworth y Ubuntu. (Lea “El lado oscuro de Ubuntu“)

No tiene financiamiento de ninguna empresa. Se esperanza en su pronta difusión comunitaria, con compromiso ético y moral a los ideales de la causa revolucionaria internacional.

Uno de sus objetivos es combatir al imperio de Microsoft en Latinoamérica e Iberoamérica, popularizando desde abajo el uso de Tecnología Comunitaria.

A los que dicen que “Linux” es incompatible con el socialismo, o que el proyecto es sólo propaganda, Estrella Roja les responde: “Los apoliticos se equivocan, la política es omnipresente, y ya esta mezclada con el Software(Windows, Linux, etc) y la tecnología en el momento que el sistema mundial capitalista explota a los trabajadores, en su modelo de producción, y de cultura hegémonico. Con el único afán de la concentración de riquezas para la burguesía.”


* Carácteristicas técnicas

Basada en Debian 5.0 y Slax 6.0.9, usa el kernel 2.6.27.8. Se distribuye en formato CD-Rom, y puede ser usada en Pendrives USB. En ambos inicia en modo “Vivo” (Live-CD), o sea no requiere disco rigido ó no necesita  instalarse. Contiene aproximadamente 1.300 paquetes deb preinstalados.

La distribución está en el idioma Castellano, su uso es simple, automáticamente se inicia desde el CD (Live-CD) y luego puede ser instalada en el Disco Rigido de una manera muy sencilla siguiendo un asistente de no más de 20 minutos aprox.

Pero tras esa simplicidad contiene 2.8 Gb. de un “arsenal” de Programas Libres, desde navegación anónima, criptografía, ofimática, edición de audio, video, auditoria, seguridad y hasta juegos… Configurados, y listos para ser usados fácilmente. Colección ideada para liberar usuarios del capitalista Microsoft Windows definitivamente, comprimida sólo en un CD-Rom de 700 Mb.

La autodetección y autoconfiguración de casi todo tipo de hardware es una de sus virtudes, no necesita de “drivers” externos o de mucha configuración. Esta función combinada con la gran disponibilidad de programas para Debian la hace ideal tanto para escritorio, como para Servidores por su robusta estabilidad (Incluye el servidor web Apache y otros para IRC, FTP).

Por defecto usa el popular y veterano escritorio KDE 3.5, muy funcional, rápido y configurable. Pero si no se dispone de recursos se puede seleccionar el ultra liviano Fluxbox con el panel LXDE, haciendo también de Estrella Roja una opción para reutilizar máquinas antiguas.


IVR con MYSQL. Elastix

Configurar un IVR es muy sencillo desde la interfaz web de Elastix, simple para direccionar opciones a extensiones agregadas a nuestra PBX. Pero sabemos que muchas de las veces requerimos hacer cosas mas elaboradas, por ejemplo gestionar datos de una BD y hacerlos interactuar con nuestra central telefónica.

Para este ejemplo mi aplicación contiene:

  • Un saludo de bienvenida.
  • Un menú principal
  • Menus secundarios
  • Audios de ingresos correctos e incorrectos.

Para grabar estos archivos podemos hacerlo desde nuestro editor favorito, yo utilizo Audacity respetando ciertas configuraciones de muestreo y otras cosas. Para facilitar nuestro trabajo podemos realizar las grabaciones desde una extensión de nuestra PBX y con la ayuda de un softphone grabar nuestra voz. En la página de elastix hay mucha información de cómo realizar esta labor. Recomiendo los manuales de “Comunicaciones Unificadas con Elastix” volumen 1 y volumen 2.

La aplicación es sencilla y se la puede complicar tanto como queramos.

Empezamos con editar el archivo de configuración extensions_custom.conf, desde nuestra interfaz web llegamos a este archivo de la siguiente manera:

  1. Clic en PBX
  2. Clic en Tools
  3. Clic en File Editor

Acceso archivo extension_custom.conf

Para encontrar rapidamente el archivo podemos filtarlo por su nombre:

Filtranto el archivo extensions_custom.conf

Agregamos lo siguiente a nuestro archivo:

include => inicio
include => IVR
include => IVR1
include => IVR2

[globals]

;——– VARIABLES

telefono=
total=
estadof=
numero=
flaq=
estado=

[inicio]

exten => 1800,1,Answer
exten => 1800,2,Ringing
exten => 1800,3,Wait,2
exten => 1800,4,goto(IVR,s,1)

[IVR]
exten => s,1,Wait(1) ;espera un segundo
exten => s,2,Set(TIMEOUT(response)=10) ; 10 seg espera para que el llamante presione una tecla
exten => s,3,Playback(custom/welcome) ; menu y escucha si el llamante presiona alguna tecla
exten => s,4,BackGround(custom/menu)
exten => s,5,WaitExten() ; espera que el llamante presione alguna tecla
exten => 1,1,goto(IVR1,s,1) ; si presiona 1 va al contexto IVR1, extension s, prioridad 1
exten => 2,1,goto(IVR2,s,1) ; si presiona 2 va al contexto IVR2, extension s, prioridad 1
exten => 0,1,Hungup
exten => t,1,Goto(#,1)
exten => i,1,BackGround(custom/noOp)
exten => i,2,Goto(s,4)

[IVR1]
exten => s,1,Playback(custom/inFono)
exten => s,2,Read(telefono,,8) ; variable telefono recupera lo q el usuario ingreso 8 caracteres
exten => s,3,MYSQL(Connect conn localhost root eLaStIx.2oo7 informacion) ; usuario: root, pass:eLaStIx.2oo7, informacion es el nombre de la BD
exten => s,4,MYSQL(Query resultid ${conn} SELECT total from CNT where idfono=${telefono}) ; consulta tabla CNT, campo idfono
exten => s,5,MYSQL(Fetch fetchid ${resultid} suu) ; recupera el valor
exten => s,6,Set(total=${suu}) ; guarda en la variable total
exten => s,7,MYSQL(Clear ${resultid}) ;limpia
exten => s,8,MYSQL(Disconnect ${conn}) ;desconecta
exten => s,9,GotoIf($[${LEN(${total})} = 0]?11:20) ; si la consulta retorna valores vacios
exten => s,10,Goto(11)
exten => s,11,BackGround(custom/losiento) ; se le dice al usuario que no hubo datos de su consulta
exten => s,12,Goto(23)
exten => s,20,BackGround(custom/totales)
exten => s,21,SayNumber(${total}) ; si la consulta retorna un valor, una voz femenina lee el valor(en ingles)
exten => s,22,Playback(custom/dolares)
exten => s,23,BackGround(custom/pregunta) ; si desea hacer otra consulta
exten => s,24,WaitExten(3)
exten => 1,1,Goto(IVR1,s,1)
exten => 2,1,Goto(IVR,s,4)
exten => 3,1,Hangup

[IVR2]
exten => s,1,Playback(custom/inFono)
exten => s,2,Read(telefono,,8)
exten => s,3,MYSQL(Connect con localhost root eLaStIx.2oo7 informacion)
exten => s,4,MYSQL(Query resul ${con} SELECT estado from CNT where idfono=${telefono})
exten => s,5,MYSQL(Fetch fetchid ${resul} su)
exten => s,6,Set(estadof=${su})
exten => s,7,MYSQL(Clear ${con})
exten => s,8,MYSQL(Disconnect ${con})
exten => s,9,GotoIf($[${LEN(${estadof})} = 0]?11:20)
exten => s,10,Goto(11)
exten => s,11,BackGround(custom/losiento)
exten => s,12,Goto(22)
exten => s,20,BackGround(custom/estadoes)
exten => s,21,Playback(custom/${estadof}) ; el resultado de la consulta es la misma que el  nombre de un archivo de audio
exten => s,22,BackGround(custom/pregunta2)
exten => s,23,WaitExten(3)
exten => 1,1,Goto(IVR2,s,1)
exten => 2,1,Goto(IVR,s,4)
exten => 3,1,Hangup

Parte del código esta comentado para su entendimiento, es muy fácil seguir su secuencia y probar sus opciones mentalmente. Todo empieza con el contexto [inicio], la extensión de nuestra IVR es 1800, esta a su vez puede ser configurada como ruta entrante de las llamadas o puede ser configurada para que primero sea contestada en un Call Center, etc., son muchas nuestras posibilidades, todo esto se explica en detalle en la documentación oficial.

Luego va al contexto [IVR] donde reproducimos el saludo (PlayBack) y luego el menú (Background), la diferencia entre las dos es que la primera hará caso omiso al usuario hasta terminar de reproducir todo el archivo y background reproducirá el archivo hasta que el usuario presione alguna opción del teclado y el IVR interprete esta opción.

La secuencia depende del número de su secuencia y con “Goto” podemos prácticamente pasearnos por nuestras opciones.

La consulta de conexión a la BD viene con los datos de usuario y password que se menciona en la explicación del código, estos valores vienen por default en Elastix

La aplicación le da al usuario dos opciones:

  • Presione 1 para revisar su saldo. Contexto [IVR1]
  • Presione 2 para revisar el estado actual de su línea. Contexto [IVR2]

[IVR1]

  • El usuario ingresa su numero de telefono 8 caracteres
  • Se realiza la consulta
  • El IVR lee el resultado de la consulta
  • Menu para consultar otro numero o regresar al menú principal o salir

[IVR2]

  • El usuario ingresa su numero de telefono 8 caracteres
  • Se realiza la consulta
  • Los resultados siempre tienen 4 estados de la linea posibles:
    • En reparacion
    • En mora
    • Suspendido
    • En linea
  • El resultado de la consulta cualquiera que estos fueran tienen un audio con el nombre de archivo igual al  de la consulta. Ejemplo: si la consulta devuelve suspendido en el sistema se encuentra un audio llamado suspendido.wav
  • Menu para consultar otro numero o regresar al menú principal o salir

Por el momento es todo y hay mucho que se puede hacer, espero le sea de utilidad a alguien. Hasta pronto.


Como recuperar tu contraseña de root

Alguna vez en la vida es posible que olvides tu contraseña de root. Si eso pasa…mmmm…. recupérala fácilmente.

Arranca tu linux en modo texto.  Aquí hay una guia de como hacerlo.

Cuando estés en el prompt haz lo siguiente:

cd /etc
nano passwd

Mira estas lineas

root:x:0:0:root:/root:/bin/bash

Al inicio, la primera línea, ahora has que quede de la siguiente manera:

root::0:0:root:/root:/bin/bash

borré la “x” que estaba entre los dos “:”.

Guarda los cambios del archivo.

Ahora abre el archivo “shadow”:

nano shadow

Has que la primera línea quede de la siguiente manera:

root::::

Borré cada contraseña encriptada.

Guarda los cambios.

Reinicie la PC e inicia la sesión con tu usuario normal, abre una terminal y configura una nueva contraseña para el root así:

su passwd

Ingresa tu nuevo password, el sistema te pide que la repitas…

Listo!… tu nueva contraseña de root está configurada.

Imagenes del grub, config del booteo y del Recovery Menu(Ubuntu 9.04)

Menu Grub

Menu Grub

Opciones booteo

Opciones booteo

Boot modificado

Boot modificado

Ubuntu booteando

Ubuntu booteando

Recovery Menu

Recovery Menu

root

root

Listo...sesion root

Listo...sesion root

Mejor vista..sesion root

Mejor vista..sesion root

Fuente: http://tips4linux.com/recover-your-lost-root-password-in-linux/