Mostrando entradas con la etiqueta linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta linux. Mostrar todas las entradas
martes, 20 de diciembre de 2011
Villancico Linuxero
Publicado por
Art
en
16:53
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
linux
domingo, 12 de junio de 2011
Cómo instalar una tableta Wacom Bamboo Pen en Ubuntu
Vamos a empezar descargándonos e instalándonos los paquetes necesarios desde el repositorio de Ubuntu:
sudo apt-get install build-essential libx11-dev libxi-dev
x11proto-input-dev xserver-xorg-dev
tk8.4-dev tcl8.4-dev libncurses5-devAhora nos descargamos el paquete de drivers de Linux Wacom:
wget http://downloads.sourceforge.net/project/linuxwacom/linuxwacom/0.8.8-4/linuxwacom-0.8.8-4.tar.bz2?use_mirror=ovh&80825451
Y ahora lo extraemos, y lo compilamos, de una manera un poquito especial, y luego, al final activamos el módulo de Wacom.
tar -xf linuxwacom-0.8.6-2.tar.bz2
cd linuxwacom-0.8.6-2
./configure --enable-wacom
cd src/2.6.30
make
sudo cp wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/
sudo rmmod wacom
sudo modprobe wacom
¡Y ya lo tendremos todo listo!
Si queremos, también podemos usar este script para ahorrarnos mucho trabajo. Si no funciona, podemos probar con este otro. Simplemente hay que ejecutarlo como administrador en una terminal:sudo ./instalar.shLo que hará que precisamente se ejecuten las tareas necesarias para que esta tableta gráfica funcione sin problemas en nuestros sistemas Linux.
Fuente: muylinux
Publicado por
Art
en
2:01
2
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
Hardware,
linux,
tutoriales
Prográmate tu primera GUI en GNOME/GTK+
La interfaz gráfica de usuario, GUI (del inglés graphical user interface) es un programa informático que actúa deinterfaz de usuario, utilizando un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la comunicación con el sistema operativo de una máquina.
Si bien es cierto que hay aplicaciones por línea de comandos muy útiles tales como el comando find, wget, o uno al que diremos adiós en la próxima versión de Ubuntu (aptitude), la verdad es que el mundo del escritorio está basado en las GUIs o interfaces gráficas de usuario y es en estas últimas donde haremos una incursión en este artículo.
Para esta pequeña y rápida introducción haremos uso del lenguaje Python básicamente por su facilidad de entender/escribir, su amplia disponibilidad en entornos Linux y porque considero que es un lenguaje bastante acertado para empezar con esto de la programación.
También usaremos la herramienta Glade para generar el archivo XML que será nuestra bonita interfaz de usuario. Python ya debería estar instalado en vuestro sistema por defecto, y necesitaremos instalar las librerías de desarrollo para GTK+/PyGTK que encontraremos en nuestro gestor de paquetes preferido, normalmente con los nombres python-gtk2 y python-gtk2-dev. En el mismo gestor de paquete buscaremos también el diseñador de interfaces Glade, con el que generaremos la interfaz. Como veis, los preparativos son casi nulos y muy fáciles de cumplir.
Y ahora vamos al meollo. Como esto pretende ser una introducción bastante por encima, el ejemplo será sencillo y constará de una ventana con dos botones. Uno imprimirá el mensaje “Hola, esto es un ejemplo” en la terminal al ser pulsado, y el segundo cerrará la aplicación.
Empezaremos abriendo Glade, el cual nos recibirá con dos ventanas, la principal donde diseñaremos la interfaz, y un diálogo de preferencias sobre el proyecto que para nuestro objetivo podremos dejar tal y como vemos en la imagen de más abajo. Ahora si que si empezamos, seleccionando el widget Ventana en la categoría Niveles superiores en la “barra de herramientas” de la izquierda.
Esto creará un contenedor que será el padre de todos los demás widgets que usemos, es decir, será nuestra ventana de la aplicación. En las propiedades de la ventana (a la derecha de la aplicación) nos vamos a la pestaña Señales, y desplegando la opción GtkObject uniremos la señal destroy al manipulador gtk_main_quit. Esto lo que hará será que la aplicación sea “cerrable” sin necesidad de cerrar también la terminal que lo ejecute.
Vamos a añadir nuestros botonacos. Seleccionamos el widget Botonera horizontal en la categoría de Contenedores, y hacemos click dentro de nuestra ventana, lo que hará surgir un nuevo diálogo que nos pregunta cuantos elementos queremos mostrar, así que escribimos 2 y aceptamos. Aparecerá, efectivamente, un contenedor con espacio para dos botones, así que sin perder mucho tiempo seleccionamos el widget Botón en la categoría Control y exhibición, y damos un click en cada “agujero” del contenedor.
Seleccionando cada botón haciendo click sobre ellos, nos fijaremos de nuevo en sus propiedades. En la pestaña General yo he modificado la etiqueta o texto que mostrará cada botón pero lo podéis poner a vuestro gusto. Y de nuevo, en la pestaña de señales, conectaremos la señal clicked del primer botón al manipulador on_button1_clicked, aprovechando que ya viene en la lista de opciones predeterminadas.
Luego, en nuestro código, crearemos una función del mismo nombre, que será ejecutada cuando el botón envíe la señal clicked (Estas funciones se llaman retrollamadas). Para el segundo botón, conectaremos la misma señal al manipulador gtk_main_quit al igual que hicimos con la ventana.
Tened en cuenta que cada señal, al enviarse, ejecutará una función o retrollamada que tendrá que tener el nombre del manipulador que habéis especificado. Bueno, una vez hecho esto ya tenemos nuestra modesta interfaz, así que guardaremos el archivo con cualquier nombre que queramos.
#!/usr/bin/env python
import pygtk
pygtk.require('2.0')
import gtk
class HelloWorld:
def on_button1_clicked(self, widget, data=None):
print 'Hola MuyLinux, esto es un ejemplo usando Glade y PyGTK'
def gtk_main_quit(self, widget, data=None):
gtk.main_quit()
return False
def __init__(self):
builder = gtk.Builder()
builder.add_from_file("tutorial.glade")
self.window = builder.get_object("window1")
builder.connect_signals(self)
self.window.show()
def main():
gtk.main()
if __name__=='__main__':
h = HelloWorld()
main()Este archivo lo guardamos en la misma ubicación que nuestro archivo glade y para lanzarlo basta con abrir una terminal, movernos hasta la ubicación de ambos archivos y ejecutar lo siguiente:python nombre_del_archivo.py
Lo que nos mostrará una pequeña ventana con dos botones, justo como la que hemos creado anteriormente.
Y hasta aquí llega esta pequeña introducción a la programación con GUIs sobre GNOME/GTK+. Espero que os haya gustado/servido y pronto espero hacer algo similar pero usando Qt para desarrollar aplicaciones gráficas sobre KDE ;).
Recordad que si quereis información más avanzada y una descripción completa de cada widget y función, siempre podeis acudir a la web de PyGTK o a la del proyecto GTK+ directamente. Sin mucho más que decir, un saludo y hasta la próxima muchachos.
Ah, por cierto, podeis bajaros tanto el archivo tutorial.glade como tutorial.py que he utilizado yo desde aquí.
Fuente: muylinux
Publicado por
Art
en
2:00
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
linux,
tutoriales
Crea menús para tus DVD con DeVeDe
DeVeDe se encuentra en los repositorios de muchas distribuciones. Si no es vuestro caso, podéis descargarlo desde la web oficial del programa: rastersoft.com.
Una vez instalado DeVeDe, lo ejecutamos para encontrarnos con la siguiente ventana de opciones:
Lo siguiente que encontraremos es la interfaz principal del programa, con todas las opciones disponibles para la construcción de nuestro menú.
(Clic para ampliar)
Para empezar, elegimos el tamaño del DVD que deseemos. En este ejemplo, elegimos un DVD de 4,7 GB en Tamaño del disco.Para este ejemplo, realizaremos un menú que recoja el acceso a varios episodios de una serie. Para ello, empezaremos por dirigirnos al espacio de Títulos (arriba a la izquierda); seleccionamos el Título 1 y clicamos en Propiedades. Encontraremos la siguiente ventana de opciones:
Elegido el título, clicamos en Aceptar y luego nos dirigimos a la ventana de Archivos (arriba a la derecha), en la interfaz principal del programa. Clicamos en Añadir para encontrarnos lo siguiente:
(Clic para ampliar)
Desplegamos las Opciones avanzadas (abajo) porque es probable que las usemos. Clicamos en la pestaña Archivo para elegir un archivo de vídeo, que será el que se reproducirá al pulsar en el título del primer episodio que hemos asignado en el paso anterior. Al elegirlo, nos encontraremos con lo siguiente:(Clic para ampliar)
Debemos estar atentos a lo que veis marcado y señalado en rojo. Las tasas de vídeo y audio deberían coincidir para que el tamaño del vídeo resultante no ocupe demasiado espacio en nuestro DVD.Debemos realizar los mismos pasos realizados para cada uno de los capítulos de nuestro DVD final, es decir, asignar un título a cada vídeo y luego, elegir el vídeo que llevará ese nombre.
Cuando nuestro DVD esté casi lleno, en la interfaz principal del programa, clicamos en Opciones del menú para encontrarnos lo siguiente:
(Clic para ampliar)
Son las opciones que vemos arriba las que debemos manejar para dar un aspecto final a nuestro menú. Como vemos, podemos asignar un título al menú (o no), insertar un archivo de audio para que suene mientras los telespectadores elijan un episodio o archivo de vídeo, una imagen de fondo para el menú (en formato .png) elegir un tipo de fuente para las opciones de menú, su color, sombra, color y opacidad del fondo, etc. Como imaginaréis, esto también queda a gusto del consumidor.Una vez acabado ese paso, clicamos en Aceptar para volver a la interfaz principal del programa. Ahí, debemos clicar en Ajustar el espacio ocupado en disco y, al desplegar las Opciones avanzadas, marcar la casilla que deseemos. En mi caso, al contar con un procesador multinúcleo, marco la casilla Usar optimizaciones para CPUs multinúcleo y, en las opciones de acción, marco la casilla Crear una imagen ISO…
Al finalizar eso, sólo nos queda clicar en Aceptar y nos encontraremos con la siguiente ventana de opciones:
C’est fini! lol ¡ Ya tenemos nuestro primer menú de DVD!
Fuente: linuxzone
Cómo ejecutar programas implementados en .NET en Linux con Mono
Desde estas líneas os recuerdo que al igual que Java, .NET es una plataforma pensada para tener un carácter multiplataforma (aunque en la realidad el grado de compatibilidad es mucho menor) por lo que con una máquina virtual que soporte la ejecución de dicho programa a priori no habría problema.
¿Existe un entorno de ejecución de .NET en Linux? Sí que existe, es Software Libre y es uno de los proyectos libres que más me interesan (por suerte o por desgracia trabajo a diario con entornos .NET en mi trabajo). Hablamos del Proyecto Mono y he de deciros que es uno de los proyectos más polémicos de todo el universo libre por razones de cercanía a Microsoft.
Ejecución
Un ejecutable creado con .NET para plataformas de escritorio podemos ejecutarlo directamente desde la consola con la siguiente orden:
$ mono fichero.exeTendremos que tener instalado el entorno de ejecución de Mono (normalmente llamado mono-runtime si queréis buscarlo en vuestro gestor de paquetes).
Es muy posible que el instalador del programa que queremos ejecutar no esté implementado en Mono, por lo que habría que seguir dos pasos:
- Ejecutar el instalador con Wine
- Buscar la ruta dónde se ha instalado y ejecutarlo con Mono. Os doy un consejo, mirar en vuestro directorio home la carpeta “.wine”, dentro de ella “drive_c” y ahí “Archivos de programa”, al más puro estilo Windows.
Fuente: linuxhispano
Ejecutar un programa Windows en Ubuntu con Wine
Aunque en este post en la entrada pongo expresamente en Ubuntu, perfectamente podría titularse Ejecutar un programa Windows en Linux con Wine porque los pasos son siempre prácticamente los mismos. Veamos dos métodos desde la interfaz gráfica del escritorio y desde el intérprete de comandos.
Requisitos
Debemos tener instalado Wine, en caso de no tenerlo, desde la consola escribimos sudo apt-get install wine o con Synaptic elegimos el paquete e instalamos.
Desde la interfaz gráfica
Antes de ejecutar el programa deberemos darle permisos de ejecución, para ello:
- Clic derecho sobre el fichero .exe y nos dirigimos a “Propiedades”.
- Dentro de “Propiedades” buscamos “Permisos” y activamos “Permitir ejecutar el archivo como un programa” (en la parte baja del formulario).
Desde la terminal
Para darle permisos de ejecución deberemos hacer lo siguiente:
$ chmod u+x fichero.exeUna vez tenga los permisos correctamente podemos ejecutarlo:
$ wine fichero.exe
Fuente: linuxhispano
Cómo leer particiones ext3 y ext4 desde Windows 7
Muchos sois usuarios de sistemas duales en los que combináis vuestra distribución de Linux con una partición dedicada a Windows. Hasta no hace mucho no era complicado acceder a todas las particiones desde Windows o desde Linux.
En el caso de Windows existían utilidades para dar soporte a sistemas de ficheros como ext2 o ReiserFS (¿quién se acuerda ya de ReiserFS?), mientras que hace mucho que Linux da soporte a los sistemas de ficheros nativos de Windows.
Sin embargo la cosa se complicó ligeramente con la aparición de ext3 y sobre todo de ext4, sistemas de ficheros que han mejorado de forma notable el comportamiento de nuestras particiones Linux pero que no estaban soportados por Windows… hasta hace poco.
Para solucionarlo llega precisamente Ext2Read -mala elección de nombre, desde luego-, una aplicación que da acceso a particiones ext2, ext3 y ext4 desde Windows 7 y que además da soporte a los estándares LVM2 y a los llamados “extents” de ext4.
En UbuntuGeek nos hablan de esta utilidad y también de Ext2Fsd, un controlador para el sistema de ficheros ext2 -y que también soporta ext3 y ext4-, y que está disponible para Windows 2000, Windows XP y Windows Vista, así que si estáis en cualquiera de estos casos, podréis acceder a vuestras particiones de Linux sin problemas.
Ahora la pregunta es, ¿qué pasa con las particiones Btrfs, cada vez más de moda? No he visto nada que permita acceder a particiones Btrfs desde Windows, así que seguiremos esperando, pero desde luego, si conocéis alguna utilidad al respecto, comentad, comentad.
Fuente: muylinux
En el caso de Windows existían utilidades para dar soporte a sistemas de ficheros como ext2 o ReiserFS (¿quién se acuerda ya de ReiserFS?), mientras que hace mucho que Linux da soporte a los sistemas de ficheros nativos de Windows.
Sin embargo la cosa se complicó ligeramente con la aparición de ext3 y sobre todo de ext4, sistemas de ficheros que han mejorado de forma notable el comportamiento de nuestras particiones Linux pero que no estaban soportados por Windows… hasta hace poco.
Para solucionarlo llega precisamente Ext2Read -mala elección de nombre, desde luego-, una aplicación que da acceso a particiones ext2, ext3 y ext4 desde Windows 7 y que además da soporte a los estándares LVM2 y a los llamados “extents” de ext4.
En UbuntuGeek nos hablan de esta utilidad y también de Ext2Fsd, un controlador para el sistema de ficheros ext2 -y que también soporta ext3 y ext4-, y que está disponible para Windows 2000, Windows XP y Windows Vista, así que si estáis en cualquiera de estos casos, podréis acceder a vuestras particiones de Linux sin problemas.
Ahora la pregunta es, ¿qué pasa con las particiones Btrfs, cada vez más de moda? No he visto nada que permita acceder a particiones Btrfs desde Windows, así que seguiremos esperando, pero desde luego, si conocéis alguna utilidad al respecto, comentad, comentad.
Fuente: muylinux
Publicado por
Art
en
1:34
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
linux,
ventanucos
Linux. Cambiar la posición de los botones desde Nautilus
Aún mejor que lo que comente en Cambiar la posicion de los botones desde Nautilus utilizando esta vez mwbuttons.
Creamos el siguiente script:
Lo que hace es descargars mwbuttons, dar permisos de ejecución y copiarlo en .gnome2/nautilus-scripts con el nombre “Cambiar posicion botones”, asi ya tenemos disponible una acción nueva de Nautilus Scripts > Cambiar posición botones que nos permite cambiar estos a la derecha, a la izquierda o de manera personalizada.
Si no quieres ejecutar el script anterior, tambien puedes instalar mwbuttons desde PPA:
Y ejecutarlo con Alt+F2 , “mwbuttons”
Fuente: ubuntulife
Creamos el siguiente script:
1 | #!/bin/bash |
2 | #::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
3 | # Cambiar posicion botones con mwbuttons como accion de Nautilus Scripts |
4 | #::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
5 | wget http://launchpad.net/mwbuttons/trunk/v0.2/+download/mwbuttons |
6 | #chmod +x mwbuttons |
7 | cp mwbuttons "Cambiar posicion botones" |
8 | chmod +x Cambiar* |
9 | cp Cambiar\ posicion\ botones $HOME/.gnome2/nautilus-scripts/ |
Si no quieres ejecutar el script anterior, tambien puedes instalar mwbuttons desde PPA:
sudo add-apt-repository ppa:pabluk/ppa
sudo aptitude update
sudo aptitude install mwbuttonsY ejecutarlo con Alt+F2 , “mwbuttons”
Fuente: ubuntulife
Publicado por
Art
en
1:33
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
linux
Construye tu propio cluster
Obviamente, no todo el mundo necesita reunir tanta potencia para los quehaceres informáticos diarios pero si debemos llevar a cabo habitualmente tareas que demanden mucha potencia de cálculo, un cluster puede resultar una solución óptima.
¿Cuánto puede costar un cluster? ¿Miles y miles de euros? Quizás, pero en obscuredclarity “sólo” han desembolsado 2.550,11 dólares para montarlo. Al cambio actual, no llega a los 1.900 euros. Veamos:
Componentes:
(x1) Archivador de Ikea: $29.99
(x6) BioStar TForce TA780G M2+ Motherboard: $79.99
(x6) AMD Phenom X4 9850 Black CPU: $169.00
(x6) Antec EA380 380 W Power Supply Unit: $59.99
(x6) Toshiba 80-GB Sata2 Laptop Hard Drive: $49.99
(x6) G-Skill 1GBX2 DDR2 RAM: $42.99
(x6) EverCool 50mm Case Fan: $3.79
(x6) 3-foot LAN Patch Cables: $1.49
(x1) 8-Plug Surge Protected Power Strip: $39.99
(x1) TrendNet 8-Port Unmanaged Switch: $18.49
(x6) Sistemas Xubuntu: $00.00
Otros: $20.00
Cada uno de los cajones aloja una placa base, los respectivos microprocesadores, fuentes de alimentación, las memorias RAM y discos duros de 2,5.(x6) BioStar TForce TA780G M2+ Motherboard: $79.99
(x6) AMD Phenom X4 9850 Black CPU: $169.00
(x6) Antec EA380 380 W Power Supply Unit: $59.99
(x6) Toshiba 80-GB Sata2 Laptop Hard Drive: $49.99
(x6) G-Skill 1GBX2 DDR2 RAM: $42.99
(x6) EverCool 50mm Case Fan: $3.79
(x6) 3-foot LAN Patch Cables: $1.49
(x1) 8-Plug Surge Protected Power Strip: $39.99
(x1) TrendNet 8-Port Unmanaged Switch: $18.49
(x6) Sistemas Xubuntu: $00.00
Otros: $20.00
Aquí encontraréis la descripción completa de la construcción del sistema cluster “casero”.
Fuente: linuxzone
Publicado por
Art
en
1:31
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
Hardware,
linux,
tutoriales
Linux. Encripta textos con gpg
Supuesto: queremos proteger, mediante contraseña, un archivo .txt llamado “secretos.txt”. Para encriptarlo con gpg deberemos escribir lo siguiente:.
gpg -c secretos.txtNos pedirá una contraseña y, de nuevo, la confirmación de esa contraseña. Si listamos el directorio donde se encuentra el texto, veremos que aparece el archivo “secretos.txt” y otro con el mismo nombre pero con la extensión .gpg, es decir, “secretos.txt.gpg”. Podremos, a continuación, borrar el archivo desprotegido (secretos.txt) para dejar sólo el archivo encriptado.
Para desencriptar, deberemos ejecutar:
gpg secretos.txt.gpgY ya tendremos disponible, de nuevo, nuestro archivo original.
Para mayor seguridad, probad este simple “tip” con un archivo de prueba.
Fuente: linuxzone
Publicado por
Art
en
1:29
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
linux
Acceso a un servidor ssh en tu LAN
Si trabajáis en red, lo más probable es que, tarde o temprano, utilicéis varias terminales con sistemas GNU/Linux, si es que no lo habéis hecho ya… Éstas pueden ser destinadas a numerosas tareas, aparte de terminal de escritorio. A saber: servidor de datos, backups, proxy cache, firewall, fax, etc. En estos casos, no es necesario tener montado todo lo que acompaña a un PC (teclado, mouse y monitor) ya que podremos acceder, por ejemplo, vía escritorio remoto (si tenéis X en el equipo) o ssh. A continuación, encontraréis las instrucciones para esto último, utilizando Debian como distro servidor.
(*) Apuntes previos: no me ocuparé aquí de describir el protocolo ssh. Tenéis a vuestra disposición una enorme cantidad de información en la Red. En el equipo que hace de servidor ssh, se ha instalado previamente Debian y se ha configurado el acceso a Internet. Los comandos que requieren ser root, aparece la expresión [root] sobre ellos.
Primero, vamos a instalar openssh:
[root]
Con un editor de texto, editaremos el archivo sshd_config. En mi caso, utilizaré mousepad.
[root]
También por precaución es conveniente cambiar denegar el acceso de root por defecto. Esto se logra cambiando “PermitRootLogin yes” por “PermitRootLogin no”.
Otras medidas de precaución:
Editar el archivo hosts.deny:
[root]
[root]
[root]
Estas medidas de precaución son, más o menos, las que podríamos calificar de “estándar”. Para otras opciones, podéis consultar aquí los consejos de nuestros compañeros de redeszone.
Fuente: linuxzone
(*) Apuntes previos: no me ocuparé aquí de describir el protocolo ssh. Tenéis a vuestra disposición una enorme cantidad de información en la Red. En el equipo que hace de servidor ssh, se ha instalado previamente Debian y se ha configurado el acceso a Internet. Los comandos que requieren ser root, aparece la expresión [root] sobre ellos.
Primero, vamos a instalar openssh:
[root]
apt-get install openssh-serverTras esto, tan sólo tendríamos que abrir el puerto 22 de nuestro router para la IP del servidor para poder acceder a él vía ssh. Sin embargo, es conveniente asegurarlo un poco más.
Con un editor de texto, editaremos el archivo sshd_config. En mi caso, utilizaré mousepad.
[root]
mousepad /etc/ssh/sshd_configAñadiremos los usuarios a los que deseamos permitir acceso, escribiendo lo siguiente:
AllowUsers nombre_del_usuario1 nombre_del_usuario2Es conveniente no utilizar el puerto por defecto de ssh, el 22. Veréis una línea , cerca del inicio del texto, donde aparece “Port 22″. Cambiad el 22 por el puerto que prefiráis. En mi caso, el 9999.
También por precaución es conveniente cambiar denegar el acceso de root por defecto. Esto se logra cambiando “PermitRootLogin yes” por “PermitRootLogin no”.
Otras medidas de precaución:
Editar el archivo hosts.deny:
[root]
mousepad /etc/hosts.denyAñadimos lo siguiente:
sshd: ALLDe este modo, todo aquél que no tenga permitido el acceso en hosts.allow, no podrá entrar. Para habilitar acceso a determinadas IP de nuestra LAN, editaremos ese archivo.
[root]
mousepad etc/hosts.allowAñadimos la o las IP que deseamos que tengan acceso. Por ejemplo:
sshd: 192.168.0.2Tras guardar todos los cambios, reiniciaremos el servicio:
[root]
/etc/init.d/ssh restartEl acceso desde terminales con GNU/Linux puede realizarse mediante openssh-client, presente en los repositorios de numerosas distros. Tras instalarlo, tan sólo tenemos que ejecutar lo siguiente:
ssh -p 9999 nombre_del_usuario1@IP_del_servidor_sshSi tenéis que acceder desde terminales Windows podéis utilizar Putty, por ejemplo.
Estas medidas de precaución son, más o menos, las que podríamos calificar de “estándar”. Para otras opciones, podéis consultar aquí los consejos de nuestros compañeros de redeszone.
Fuente: linuxzone
Publicado por
Art
en
1:26
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
linux
Linux. Comandos y curiosidades en tu terminal
(*) Algunas órdenes que veréis utilizan comandos propios de distros basadas en Debian. Si no sois usuarios de éstas, tan sólo es necesario utilizar el comando análogo.
A probar!!
who am I #Quién soy.
cal #Calendario del mes en curso.
cal -3 #Anterior, actual y siguiente.
cal 2011 #Calendario completo de un año.
cal 09 2011 #Mes del año especificado.
date #Muestra la hora y fecha del sistema.
uptime #Tiempo que lleva tu sistema encendido.
who #Quien está conectado a mí.
top #Procesos activos en tu sistema.
ps aux #Todos los procesos con nombre y hora de inicio.
pstree #Árbol de procesos.
free #Uso de tu memoria Ram y Swap.
lsmod #Todos los módulos cargados en tu Kernel.
netstat #Todas las conexiones, y puertos abiertos.
stat -l nombredearchivo #Muestra toda la información de un archivo.
history -c #limpiamos el historial.
rm ~/.bash_history ; ln -sf /dev/null .bash_history #limpia el historial, de los últimos comandos ejecutados.
& #Indica al comando a ejecutar, que lo haga en segundo plano.
finger -l #Información sobre los usuarios.
w #Como antes, pero más corto. Es el comando mas corto y eficiente.
< /dev/urandom tr -dc A-Za-z0-9_ | head -c8 ; echo #Genera una clave aleatoria, de 8 dígitos.
cat /etc/issue #Cuál es tu versión del sistema?
aptitude -h #Un montón de opciones que ni conocías.
nano archivo #Mi editor preferido, no digo más.
apt-get install localepurge #Configura tus idiomas preferidos. El resto de idiomas en paquetes nuevos nunca se instalarán.
eject #Abre tu unidad de cd, o dvd.
telnet #Ni lo explico, cuántos recuerdos…(mirar al final*)
comando 2> /dev/null #Ejecuta un comando, pasando de los errores.
comando 2> /dev/null #Ejecuta un comando, pasando de los errores.
man comando #información de un comando. Éste es uno de los comandos que mas utilizo. Esta pequeña guía, (y otras) están echas en gran parte basándose en la información de este comando.
man -t | ps2pdf – > #Convierte cualquier manual de ‘man’ a pdf.
sudo !! #Este comando es muy útil. A todos los usuarios de distros basadas en Debian, por ejemplo, nos pasa que ponemos un comando y se nos olvida el sudo. Pues escribiendo esto se ejecuta el comando anterior como root.
zgrep “The.*Release” /usr/share/doc/dpkg/changelog.Debian.gz #Teníamos más nombres.
Algo más divertido…apt-get moo #Una vaca?
sudo apt-get install cowsay #Instala la vaca…
cowsay loquequieras #…y haz hablar a la vaca…
dcop amarok player lyrics | cowsay #… o cantar.
sudo apt-get install oneko #Un gato persigue a mi ratón…
oneko #…empieza a correr…
pkill oneko #… para pararlo.
oneko -sakura #Una chica ‘Manga’.
oneko -tomoyo #Otra.
oneko -dog #Para el que prefiere un perro.
apt-get install bsdgames #Juegos en tu consola?? Instala y sigue…
tetris-bsd #No hace falta explicación.
snake #El juego de la serpiente.
hangman #El ahorcado.
atc #Quieres ser controlador aéreo?
robots #Te persiguen.
banner texto #Un banner del texto que quieras en tu consola.
pom #Estado de la luna.
morse #Escribe una palabra para traducirla a morse.
fortune #Tu fortuna diaria.
cmatrix #Tu terminal como en Matrix.
rain #Pero esto qué es??
worms #Pero esto qué es ?? 2.
telnet towel.blinkenlights.nl #También cine??. Sí, la película Star Wars en tu consola, eso sí, en ASCII. (*era aquí)
Tutorial realizado por Elías Hidalgo para Linux Zone
P.d.: poweroff #Apaga el ordenador.Fuente: linuxzone
Publicado por
Art
en
1:23
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
linux
Linux. El archivo passwd
Este fichero debe de estar debidamente configurado y sin ningún fallo, pues podría comprometer la seguridad del sistema haciéndolo objetivo fácil de virus, troyanos y demás tipos de malware que habitan la red. Además, en este fichero se almacenan los privilegios de las cuentas de usuario, las claves de acceso y los privilegios de cada una de ellas.
Un ejemplo bien definido y configurado del archivo /etc/passwd/ sería:
usuario1:FXWUuZ.vwXttg:500:501:usuario juan:/home/usuario1:/bin/bashEn el que los valores representados serían los siguientes:
usuario1: Nombre de la cuenta.
FXWUuZ.vwXttg: Contraseña de la cuenta encriptada para evitar miradas indeseadas.
500: UID dicha cuenta.
501: GID al que pertenece del grupo principal.
usuario juan: Nombre del usuario.
/home/usuario1: Directorio de usuario1.
/bin/bash: El intérprete de comandos del usuario Juan.Este sería un claro ejemplo del archivo /etc/passwd/ debidamente configurado, pero como es lógico, según la distribución que usemos puede tener algunos campos que difieran de unas a otras, pero la estructura siempre será la misma.
Fuente: nosolounix
Info:http://www.mikejr1.es/linux/index.php/-noticias-mundo-linux-/ultimas-noticias/2421-el-archivo-passwd.html
Publicado por
Art
en
1:03
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
linux
lunes, 16 de mayo de 2011
Los zombis podrían estar consumiendo tu procesador en este instante
Un proceso zombi es un proceso que ha completado su ejecución pero aun tiene una entrada en la tabla de procesos. Esta entrada aun es necesitada para permitir la lectura del estado de su estado de salida. El Termino zombi se deriva de la definición de un muerto viviente (se acuerdan de esa película?). Para ponerlo en términos simples y un poco mas técnicos, un proceso hijo ha terminado pero aun no se ha eliminado de la tabla de procesos y el comando kill no tiene efectos sobre él.
Identificarlos es fácil, podemos ejecutar el comando ps y buscamos cuales procesos tienen una “z” en la columna “STAT“. Los procesos zombi que permanecen por un periodo mas que corto por lo general es señal de un bug en el proceso padre. Ahora bien, si el zombi aun existe después de que el proceso padre ha terminado esto por lo general indica un bug en el sistema operativo.
Un procesos zombi no es un problema tan grave, el problema se agrava si el computador va a ser sometido a fuertes cargas pues puede ser que se multipliquen. A pesar de que los zombis no consumen memoria un incremento acelerado de estos podría traer consecuencias a la hora de que el sistema operativo se le acaben los PID a asignar.
Una vez que el padre haya matado el zombi el proceso ID (PID) y la entrada en la tabla de procesos puede ser reutilizada, pero si este falla, el zombi permanece en la tabla de procesos.
Para eliminar un zombi del sistema, se le debe enviar la señal SIGCHLD al padre usando el comando kill. En caso de que el padre se no pueda eliminar el zombi de la tabla de procesos podríamos intentar matando el proceso padre. Algo que debemos tomar en cuenta es que cuando un proceso pierde a su padre, ‘init‘ pasar a ser su nuevo padre y este se encarga de limpiar periódicamente la tabla de procesos de los zombis cuyos padres sean init.
Publicado por
Art
en
10:58
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
linux
domingo, 31 de enero de 2010
10 cursos gratis de Linux
Donde podeis encontrar la info : http://www.mateamargonerds.com/sistemas-operativos/linux/941-10-cursos-gratis-de-linux.html
Publicado por
Art
en
20:18
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
linux
sábado, 9 de enero de 2010
Transforma Ubuntu en Mac
Blogeando por ahi, nuevas apariencias para mi ubuntu, me tope con un post en marlexsystems que me parecio digno de mencionar.
Todos conocemos los famosos transformadores de imagen para windows xp, vista y los temas de windows 7, pero sabemos que el futuro es linux, y el intocable siempre sera mac, por eso, con esta aplicacion seras capaz de darle a ubuntu un nuevo estilo, completamente Mac a tu PC
La idea es que además de el tema, el contenido incluye una serie de elementos adicionales que permitirán no solo ver, sino sentir algunas caracteristicas del popular mac OS
Sus principales caracteristicas son:
* Soporta Gnome 2.26
* Soporte nativo para Xfce
* Incluye la apariencia de Mac OS X para Firefox 3
* Incluye plugins para Songbird
* Incluye tema GDM
* Integra el dock Cairo (mayor Look&Feel)
* Integración visual con Nautilus y Rhytmbox.
* Pantalla de Login con el aspecto del inicio de sesión de Mac.
Esto mas el Doc para linux, "cairo" seguro lograras una apariencia mucho mas interesante, que te hara sentir en un entorno completamente imac
Descarga: Mac4lin (http://ouh.dl.sourceforge.net)
http://sourceforge.net/projects/mac4lin/files/mac4lin/ver.1.0/Mac4Lin_Install_v1.0.zip/download
Via: http://www.marlexsystems.org/9530-transforma-ubuntu-en-mac-con-mac4lin/
Todos conocemos los famosos transformadores de imagen para windows xp, vista y los temas de windows 7, pero sabemos que el futuro es linux, y el intocable siempre sera mac, por eso, con esta aplicacion seras capaz de darle a ubuntu un nuevo estilo, completamente Mac a tu PC
La idea es que además de el tema, el contenido incluye una serie de elementos adicionales que permitirán no solo ver, sino sentir algunas caracteristicas del popular mac OS
Sus principales caracteristicas son:
* Soporta Gnome 2.26
* Soporte nativo para Xfce
* Incluye la apariencia de Mac OS X para Firefox 3
* Incluye plugins para Songbird
* Incluye tema GDM
* Integra el dock Cairo (mayor Look&Feel)
* Integración visual con Nautilus y Rhytmbox.
* Pantalla de Login con el aspecto del inicio de sesión de Mac.
Esto mas el Doc para linux, "cairo" seguro lograras una apariencia mucho mas interesante, que te hara sentir en un entorno completamente imac
Descarga: Mac4lin (http://ouh.dl.sourceforge.net)
http://sourceforge.net/projects/mac4lin/files/mac4lin/ver.1.0/Mac4Lin_Install_v1.0.zip/download
Via: http://www.marlexsystems.org/9530-transforma-ubuntu-en-mac-con-mac4lin/
Publicado por
Art
en
1:27
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
linux
jueves, 20 de agosto de 2009
Web de juegos exclusivos para GNU/Linux
Bueno sabed que podemos encontrar un portal con juegos bastante buenos para Linux, donde?, aquí http://www.playdeb.net/welcome/ , para ver los juegos pinchad sobre la pestaña de UPDATES, encontrareis una interesante lista, además de no ser corta son libres. Espero que os gusten.
jueves, 6 de agosto de 2009
Cabinas Telefonicas Gratuitas en la calle
En este tutorial explicaremos como montar desde cero una cabina telefonica de bajo coste para hacer llamadas gratuitas a telefonos fijos de mas de 40 paises utilizando Asterisk y un proveedor de telefonia SIP. Se explicara el aspecto tecnico, de hardware y software de montar la cabina.
Links: Hamlab - Patio Maravillas
Nota en Sindinero.org
Queman la cabina del Patio Marvillas
Todo lo que utilizamos es facil de conseguir, excepto el adaptador ATA, aunque para utilizar Asterisk no lo necesitamos, solo se requiere si se quiere conectar a telefonos analogicos. Tambien podremos configurarlo con un telefono IP si tenemos, o bien conectarse con un softphone, es decir, un telefono por software: el Ekiga sin ir mas lejos. Con el tiempo veremos que la versatilidad del Asterisk es tal que se puede conectar de muchas formas, de hecho de las centralitas PBX es la que soporta mas protocolos y canales: desde lineas analogicas hasta clientes/servidores SIP, H323.b, IAX2, adaptadores ATA, placas FXS/FXO, e incluso hay un proyecto para que pueda anunciarse como un BTS (antena GSM --- moviles!!).
Para la instalación de las cabinas que tenemos en el Patio hemos utilizado:
* Ordenador: AMD Duron a 900 Mhz con 386 Mb de RAM.
* Software: Asterisk 1.4 o 1.6
* Software cliente: Softphone. Puede ser Ekiga o Twinkle.
* Hardware: Adaptador ATA, Linksys SPA3102.
* Proveedor de telefonia SIP: VoIPBuster.
* Cable telefonico RJ11
* Telefono
¿Que es Asterisk?
Asterisk es una aplicación de software libre (bajo licencia GPL) que proporciona funcionalidades de una central telefónica (PBX). Como cualquier PBX, se puede conectar un número determinado de teléfonos para hacer llamadas entre sí e incluso conectar a un proveedor de VoIP o bien a una RDSI tanto básicos como primarios. Fuente: Wikipedia
¿Como se instala?
Lo instalaremos en Debian, una distribucion GNU/Linux. Para empezar
actualizaremos los repositorios al listado mas reciente de paquetes e
instalaremos las actualizaciones pendientes.
# apt-get update
# apt-get dist-upgrade
Podremos ver mas informacion de la instalacion de Asterisk sobre Debian en el siguiente link.
A traves de los repositorios:
La forma mas facil y rapida de instalarlo, es con el siguiente comando:
# sudo aptitude install asterisk
Con el codigo fuente:
Ahora instalaremos las dependencias, junto con las herramientas necesarias para compilar y las fuentes del kernel.
# apt-get -y install build-essential libncurses5-dev libcurl3-dev
libvorbis-dev libspeex-dev unixodbc unixodbc-dev libiksemel-dev
linux-headers-`uname -r
Vamos al directorio de las fuentes.
# cd /usr/src
Descargamos y descomprimimos las fuentes del Asterisk junto con el modulo Zaptel necesario para que funcione:
# wget http://downloads.digium.com/pub/asterisk/asterisk-1.45.1.tar.gz
# wget http://downloads.digium.com/pub/zaptel/zaptel-1.45.1.tar.gz
# tar xvzf asterisk-1.4.5.1.tar.gz
# tar xvzf zaptel-1.4.5.1.tar
Vamos al directorio de zaptel:
# cd zaptel-1.4.
Configuramos, compilamos e instalamos el modulo.
# ./configure && make && make inst
Por ultimo lo cargamos con el comando modprobe.
# modprobe ztdumm
Podemos comprobar que se cargo sin problemas con:
# lsmod | grep ztdumm
Si vemos que funciona hay que agregarlo al inicio del sistema poniendolo en el fichero /etc/modules.
# echo “ztdummy” >> /etc/module
Ahora vamos a compilar el Asterisk. Para esto vamos a su directorio y lanzamos los mismos comandos que antes:
# cd /usr/src/asterisk-1.4.5.1
# ./configure && make && make install
Es recomendable instalar los ejemplos para tener algo sobre lo que trabajar:
# make samples
# make config
Fuentes:
* ElCanibal.com: Mi nuevo proyecto; Asterisk en Debian Etch
* Blog de Pedro: Asterisk en Debian Etch
Iniciar / Parar Asterisk
Para inciar el Asterisk como demonio basta hacerlo con el siguiente comando:
# /etc/init.d/asterisk start
Luego para pararlo:
# /etc/init.d/asterisk stop
Por ultimo, para reiniciarlo:
# /etc/init.d/asterisk restart
En caso de que queramos iniciarlo solo por un tiempo determinado y no todo el tiempo, debemos iniciarlo con el comando:
# /usr/sbin/asterisk -vvvvc
Con esto iniciaremos la aplicacion e ingresaremos a la consola, [*CLI>]. Puedes ver como manejarte en ella en la seccion "Consola y Logs".
En caso de que lo hayamos iniciado como demonio, para conectarnos a la consola deberemos hacerlo con el mismo comando pero la opcion -r en vez de -c:
# /usr/sbin/asterisk -vvvvr
Si queremos que inicie cada vez que arranque el ordenador tendremos que modificar el siguiente fichero:
# nano /etc/default/asterisk
RUNASTERISK=yes
¿Y como se configura esto?
Una vez que tengamos todo instalado podremos ojear los ficheros de
configuracion de ejemplo que nos instalamos en los ultimos pasos.
# less /etc/asterisk/sip.conf
# less /etc/asterisk/extension.conf
Estos ficheros son los que mas veremos en este tutorial. En sip.conf
configuraremos los clientes, peers o amigos (en jerga asteriskiana) que
tendremos y en extensions.conf nuestro DialPlan. Este es nuestro plan
de llamadas: que hara cuando reciba una llamada a tal extension, o que
hara cuando un usuario intente llamar a alguna otra.
Los otros ficheros que hay en la carpeta /etc/asterisk son para todas
las otras funcionalidades que nos ofrece. Esta es la principal ventaja
de Asterisk frente a las otras centralitas (PBX), que desde el
principio y modificando solo alguna linea de los ficheros podremos
tener funcionalidades impresionantes, como salas de conferencias
(meetme.conf), buzon de voz (voicemail.conf) y conexion con diferentes
tipos de protocolos VoIP como SIP (en el sip.conf) e IAX2 (iax.conf) .
Vamos a ponernos a manos a la obra, para esto haremos una copia de seguridad de los ficheros que ya tenemos.
# mv /etc/asterisk/sip.conf /etc/asterisk/sip.conf.old
# mv /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf.old
SIP.CONF
Como ya dijimos, en este se
configuran los diferentes usuarios, clientes y peers. Aqui es donde
puede diferir mas nuestra configuracion. Todos los ficheros de
configuracion de Asterisk comienzan con la etiqueta [general], con las
opciones globales y luego cada etiqueta servira para cada uno de los
clientes. Estos pueden ser desde clientes SIP de software aka softphone
(como el Ekiga o el Twinkle para GNU/Linux), un
telefono SIP fisico, un adaptador ATA o un proveedor de telefonia SIP.
Si tenemos una tarjeta PCI FXS o FXO haremos las configuraciones en
zapata.conf.
En nuestro caso el hardware con el que contamos es un adaptador ATA
Linksys SPA302, Este se configura en la etiqueta [patio]. Tambien lo
conectamos a un proveedor de telefonia SIP llamado VoIPBuster, en la
etiqueta [voipbuster] (si conoces uno con mejores precios dimelo a
isaac.hacksimov@patiomaravillas.net ;D) y creamos un usuario preparado
para conectarlo por softphone (tanto con twinkle como con ekiga) en la
etiqueta [isaac].
[general]
context=default
useragent=
disallow=all
allow=gsm
allow=alaw
allow=ulaw
language=es
srvlookup=yes
tos_sip = cs3
tos_audio = ef
tos_video = af41
allowguest = yes
register => isaac.hacksimov:CONTRASENA@sip1.voipbuster.com:5060
[patio]
type=friend
host=dynamic
username=patio
secret=CONTRASENA
callerid="Patio Maravillas"
context=patio
qualify=yes
[voipbuster]
type=peer
host=sip1.voipbuster.com
username=isaac.hacksimov
fromuser=isaac.hacksimov
secret=CONTRASENA
context=voipbuster
insecure=port,invite
qualify=yes
canreinvite=no
[isaac]
type=friend
host=dynamic
username=isaac
secret=CONTRASENA
callerid="Dr. Isaac Hacksimov"
context=patio
mailbox=3000@default
qualify=yes
Vamos paso por paso:
[general]
context=default
useragent=
disallow=all
allow=gsm
allow=alaw
allow=ulaw
language=es
srvlookup=yes
tos_sip = cs3
tos_audio = ef
tos_video = af41
allowguest = yes
register => isaac.hacksimov:CONTRASENA@sip1.voipbuster.com:5060
Aqui le estamos diciendo el contexto en el que se encuentra esta
etiqueta (esto lo volveremos a ver en el extensions.conf), tambien que
tipo de codecs estamos permitiendo (gsm, alaw, ulaw) y el idioma
(espaniol, mas tarde instalaremos los sonidos),
La linea de register tiene los mismos datos que en la etiqueta [voipbuster]. Es necesario en algunos proveedores.
El adaptador ATA:
[patio]
type=friend
host=IPDELCACHARRO
username=patio
secret=CONTRASENA
callerid="Patio Maravillas"
context=patio
qualify=yes
Aqui le tendremos que poner la IP del adaptador, junto con el nombre y
la contraseña. Otro dato importante es el contexto, en este caso es
"patio".
[voipbuster]
type=peer
host=sip1.voipbuster.com
username=isaac.hacksimov
fromuser=isaac.hacksimov
secret=CONTRASENA
context=voipbuster
insecure=port,invite
qualify=yes
canreinvite=no
En esta etiqueta lo importante es el host, que es la URL que nos da nuestro proveedor cuando nos registramos. Elegimos VoIPBuster por permitirnos hacer llamadas gratuitas a los siguientes paises por un plazo de 120 dias pagando 10 euros:
Andorra
Australia
Austria
Bélgica
Canadá
Checa, República
Chile
Chipre
Dinamarka
España
Estonia
Eu Estados Unidos (+mobile)
Finlandia
Francia
Guam
Hong - Kong (+mobile)
Hungria
Irlanda
Islandia
Israel
Italia
Japón
Luxemburgo
Malasia
Mónaco
Noruega
Nueva Zelanda
Países Bajos
Panamá
Portugal
Puerto Rico (+mobile)
Rusia [moscow]
Rusia [st Petersburg]
Singapur
Sudcorea
Suiza
Taiwan
Cual es el problema con VoIPBuster? Van cambiando el listado de paises sin avisar, por lo que es posible que nos quiten algo de credito
Si conoces uno mejor, dimelo a isaac.hacksimov@patiomaravillas.net.
Por ultimo configuramos otro usuario mas. Lo unico que difiere con
los anteriores es el host, que es dinamico, esto es decir que puede
tener cualquier IP:
[isaac]
type=friend
host=dynamic
username=isaac
secret=CONTRASENA
callerid="Dr. Isaac Hacksimov"
context=patio
qualify=yes
EXTENSIONS.CONF
[general]
static=yes
writeprotect=yes
[globals]
CABINA=SIP/patio
VOIPBUSTER=SIP/voipbuster
ISAAC=SIP/isaac
[default]
[patio]
include => default
include => nacionales
include => echo
include => monkeys
[isaac]
include => default
include => nacionales
include => echo
include => monkeys
[nacionales]
exten => _9ZXXXXXXX,1,Dial(${voipbuster}/0034${EXTEN},60,r)
exten => _9ZXXXXXXX,n,Hangup
[echo]
exten => 600,1,Playback(demo-echotest)
exten => 600,n,Echo
exten => 600,n,Playback(demo-echodone)
exten => 600,n,Hangup
[monkeys]
exten => 666,1,Answer()
exten => 666,n,Wait(2)
exten => 666,n,Playback(tt-monkeysintro)
exten => 666,n,Playback(tt-somethingwrong)
exten => 666,n,Wait(2)
exten => 666,n,Playback(tt-monkeys)
exten => 666,n,Hangup
Como decia Jack el Destripador, vamos por partes:
[general]
static=yes
writeprotect=yes
[globals]
CABINA=SIP/patio
VOIPBUSTER=SIP/voipbuster
ISAAC=SIP/isaac
El contexto general, donde pondremos las opciones que valen para todo
el fichero. En general lo protegemos y en globals ponemos las
variables. Se escribe teniendo en cuenta los usuarios que creamos en el
fichero sip.conf. Creamos 3 variables: una para el adaptador ATA
(usuario y contexto patio en el fichero sip.conf, variable CABINA),
otra para voipbuster y la ultima para el usuario que se conectara por
softphones, isaac.
[default]
[patio]
include => default
include => nacionales
include => echo
include => monkeys
[isaac]
include => default
include => nacionales
include => echo
include => monkeys
Estos son los contextos de los usuarios que realizaran las llamadas,
patio e isaac. El proveedor SIP, obviamente, no realizara llamadas,
sino que enrutaremos las llamadas hacia el. El include sencillamente
significa que estamos incluyendo esos contextos (default, nacionales,
echo y monkeys),
[nacionales]
exten => _9ZXXXXXXX,1,Dial(${VOIPBUSTER}/0034${EXTEN},60,tr)
exten => _9ZXXXXXXX,n,Hangup
Esta es la sintaxis que utilizaremos para definir que hacer cuando se
realiza un llamado. Por ejemplo, aqui estamos definiendo que cuando se
marque un telefono que comienza con 9 y el siguiente numero sea mayor a
0 (Z) y los siguientes 7 numeros sean mayores o iguales a 0 (XXXXXXX),
primero (1) marque al numero que configuramos anteriormente como
perteneciente a voipbuster el numero que se ha marcado ($EXTEN)
añadiendole el codigo internacional del pais, España en este caso
(0034). Tambien le decimos que llame durante 60 segundos y que permita
la transferencia y no escuche el tono de marcado (tr). Luego le decimos
que cuando termine con esto, cuelgue. Y todo esto en 2 lineas!!
Como vemos, en principio puede parecer complicado, pero cuando hagamos
mas extensiones podremos ver que a traves de el DialPlan se puede sacar
mucho jugo al Asterisk, permitiendonos hacer muchisimas cosas y
divertirnos un monton ;), por ejemplo:
[echo]
exten => 600,1,Playback(demo-echotest)
exten => 600,n,Echo
exten => 600,n,Playback(demo-echodone)
exten => 600,n,Hangup
Aqui le decimos que para el contexto [echo], es la extension 600.
Primero reproducira (Playback) un sonido que dice que hara una prueba
de eco con demo-echotest, que se encuentra en /var/lib/asterisk/sounds/
o donde lo hayamos instalado. Importante, no es necesario poner el
formato del audio, Asterisk decidira cual es el mejor en cada caso.
Luego llama al programa que hace la prueba de eco en si, y manda a
reproducir otro sonido diciendo que termino la prueba de eco. Por
ultimo cuelga. Con respecto a la sintaxis, esto mismo podriamos haberlo
escrito asi:
[echo]
exten => 600,1,Playback(demo-echotest)
exten => 600,2,Echo
exten => 600,3,Playback(demo-echodone)
exten => 600,4,Hangup
Pero en este caso cuando querramos cambiarlo habra que renumerar todo,
por lo que es preferible usar la "n" para llamar a la siguiente accion.
[monkeys]
exten => 666,1,Answer()
exten => 666,n,Wait(2)
exten => 666,n,Playback(tt-monkeysintro)
exten => 666,n,Playback(tt-somethingwrong)
exten => 666,n,Wait(2)
exten => 666,n,Playback(tt-monkeys)
exten => 666,n,Hangup
Este es nuestro pequeño huevo de pascua. Aqui le decimos que atienda,
que espere por 2 segundos, que reproduzca unos sonidos (la
"introduccion a los monos" y "algo va muy mal"), espere 2 segundos mas,
reproduzca otro sonido ("monos" !!!!) y por ultimo cuelgue.
El unico contexto que falta poner en esta configuracion es
[internacionales]. Al ser una configuracion tan larga y que tanta gente
le puede dar uso decidimos liberarlo en una wiki dedicada al mundo
VoIP: voip-info.org. El link donde pueden ver las extensiones
actualizadas para hacer llamadas a telefonos fijos (landlines/fixed
lines) esta aqui: LINKVOIPINFOINTERNACIONALES
Todo eso se agregaria en el extensions.conf y tambien como includes del
usuario al que queremos habilitar las llamadas internacionales.
Configuracion del cliente Softphone
Veremos como conectarnos con dos clientes de software: Ekiga y Twinkle.
EKIGA
Por defecto muchas distribuciones GNU/Linux ya vienen instaladas con un cliente SIP, el Ekiga. En Ubuntu, este se encuentra en Aplicaciones -> Internet -> Softphone Ekiga,
[img_assist|nid=1069|title=Ekiga|desc=|link=node|align=right|width=100|height=75]Crearemos una cuenta con lo que hemos puesto en sip.conf, junto con la IP del servidor. En caso de tener que conectarse desde internet deberan abrirse los
puertos necesarios y poner la IP publica o el dominio que tengamos
asociado a esta.
Nombre de la cuenta: isaac
Protocolo: SIP
Registrador: 192.168.10.1
Usuario: isaac
Contraseña: CONTRASENA
TWINKLE
Conectarse a traves de Twinkle es muy sencillo, solo hace falta instalarlo. Para Ubuntu/Debian basta con
# sudo aptitude install twinkle
Aparecera en Aplicaciones -> Internet -> Twinkle. Lo abriremos y crearemos un perfil nuevo utilizando la configuracion que hemos puesto en el fichero sip.conf. El Domain debe ser la IP donde esta nuestro servidor.
Siguiendo el ejemplo asi seria nuestra configuracion: [img_assist|nid=1068|title=Twinkle|desc=|link=node|align=left|width=100|height=75]
Your name: isaac
User name: isaac
Domain: 192.168.10.1
Realm: isaac
Authentication name: isaac
Password: CONTRASENA
Luego deberemos ver lo siguiente en el log del Twinkle:
isaac, registration succeeded (expires = 3600 seconds)
Esto significa que ya estamos conectados :D
Configuracion del adaptador ATA
Para configurar el SPA-3102, con una linea de salida para hacer llamadas y otra de entrada/salida PSTN, es decir una linea telefonica normal, vamos a hacer lo siguiente:
1. En un navegador ingresamos la IP del adaptador.
2. Nos dira "spa user" y nos pedira usuario y contraseña. Pondremos usuario "user" y sin contraseña. Entraremos una pagina que nos muestra información de la configuración actual.
3. Vamos a la seccion de Administracion, en "Admin login". Nos pedira nuevamente usuario y contraseña ("admin user"). Esta vez ponemos como usuario "admin" y sin contraseña.
4. Ya aqui nos pondemos a configurarlo:
* En Voice -> System podremos cambiar la contraseña de acceso (User Password:). Dandole a "Advanced" podremos tambien cambiar la contraseña del usuario Admin (Admin Password:)
* En Router -> Wan Setup le pondremos una IP estatica dentro de nuestro rango de red. Aqui podremos tambien configurarlo como router ("PPPoE Settings")
* En Voice -> Line 1 configuraremos nuestra linea para hacer llamadas. Tendremos que poner como minimo los siguientes paramentros:
Line enable: yes
SIP Port: 5060
Proxy: IPDELASTERISK
Register: yes
Display name: patio[img_assist|nid=1142|title=Configurar adapatador ATA 3102 - 1|desc=|link=node|align=right|width=100|height=66]
Password: CONTRASENA
Auth ID: patio
User ID: patio
Use Auth ID: patio
Preferred Codec: G711a
Use Pref codec only: no
Esto en el Asterisk lo configuramos de la siguiente forma:
[patio]
type=friend
host=IPDELCACHARRO
username=patio
secret=CONTRASENA
callerid="Patio Maravillas"
context=patio
qualify=yes
* En Voice -> PSTN Line configuraremos nuestra linea PSTN para hacer y recibir llamadas.
Line Enable: yes
SIP Port: 5061
[img_assist|nid=1143|title=Configurar adapatador ATA 3102 - 2|desc=|link=node|align=left|width=100|height=77]
Proxy: IPDELASTERISK
Register: yes
Display Name: pstn
Password: CONTRASENA
Auth ID: pstn
User ID: pstn
Use Auth ID: no
Preferred Codec: G711a
Use Pref Codec Only: no
Esto en el Asterisk lo configuramos de la siguiente forma:
[pstn-spa3k]
type=peer
auth=md5
host=IPDELCACHARRO
port=5061
secret=CONTRASENA
username=pstn
fromuser=pstn
dtmfmode=rfc2833
context=incoming-pstn
insecure=very
Consola y Logs
Pronto veremos que la consola de Asterisk es completamente intuitiva y todo un aliado para resolver problemas.Para conectarnos a la consola depende de como hayamos iniciado Asterisk. Primero comprobamos si esta corriendo con el comando
# ps auxf | grep asterisk
En caso de que no lo veamos deberemos conectarnos con el siguiente comando:
# /usr/sbin/asterisk -vvvvc
Por otro lado, si lo iniciamos como demonio, para
conectarnos a la consola deberemos hacerlo con el mismo comando pero la
opcion -r en vez de -c:
# /usr/sbin/asterisk -vvvvr
Si hay alguna duda sobre este punto, puedes leer la seccion "Iniciar/Parar Asterisk"
Una vez dentro de la consola deberas ver lo siguiente: [Nota: CLI significa Command Line Interface, Interfaz de Linea de Comandos]
*CLI>
Para empezar, cuando un usuario se conecte o se realize una llamada lo veremos ahi, por ejemplo cuando el usuario Isaac se conecto a traves del Twinkle aparecio lo siguiente:
-- Registered SIP 'isaac' at 192.168.10.135 port 5060 expires 3600
-- Saved useragent "Twinkle/1.2" for peer isaac
[Apr 5 20:01:20] NOTICE[8449]: chan_sip.c:12669 handle_response_peerpoke: Peer 'isaac' is now Reachable. (25ms / 2000ms)
Y cuando se desconecto:
Unregistered SIP 'isaac'
Cuando se conecto con Ekiga:
-- Registered SIP 'isaac' at 192.168.10.135 port 5061 expires 3600
-- Saved useragent "Ekiga/2.0.12" for peer isaac
[Apr 5 20:10:27] NOTICE[8449]: chan_sip.c:12669 handle_response_peerpoke: Peer 'isaac' is now Reachable. (32ms / 2000ms)
Cuando realizo un llamado al 666 [monkeys], vemos el DialPlan ejecutandose en tiempo real:
-- Executing [666@patio:1] Answer("SIP/isaac-089832b8", "") in new stack
-- Executing [666@patio:2] Wait("SIP/isaac-089832b8", "2") in new stack
-- Executing [666@patio:3] Playback("SIP/isaac-089832b8", "tt-monkeysintro") in new stack
-- Playing 'tt-monkeysintro' (language 'es')
-- Executing [666@patio:4] Playback("SIP/isaac-089832b8", "tt-somethingwrong") in new stack
-- Playing 'tt-somethingwrong' (language 'es')
-- Executing [666@patio:5] Wait("SIP/isaac-089832b8", "2") in new stack
== Spawn extension (patio, 666, 5) exited non-zero on 'SIP/isaac-089832b8'
(No termino con todo porque el usuario colgo antes)
Tambien podemos ver en que estado se encuentra nuestro proveedor:
*CLI> [Apr 5 20:18:36] NOTICE[28025]: chan_sip.c:12669 handle_response_peerpoke: Peer 'voipbuster' is now Reachable. (90ms / 2000ms)
Aparte de mostrarnos la informacion en tiempo real, tambien podremos pedirle informacion y cambiar la configuracion. Para aprender a movernos en ella nuestro gran aliado sera la tecla TAB (tabulador). Con esta completaremos y veremos que opciones nos da cada comando, por ejemplo si escribimos "sip show" y pulsamos TAB, veremos:
*CLI> sip show
channel channels domains history inuse objects
peer peers registry settings subscriptions user
users
Lo que intuitivamente nos permite ver diferentes datos:
*CLI> sip show users
Username Secret Accountcode Def.Context ACL NAT
isaac CONTRASENA patio No RFC3581
patio CONTRASENA patio No RFC3581
CLI> sip show registry
Host Username Refresh State Reg.Time
sip1.voipbuster.com:5060 isaac.hacksi 105 Registered Sun, 05 Apr 2009 20:18:36
[img_assist|nid=1072|title=|desc=|link=node|align=undefined|width=193|height=145]
*CLI> sip show peers
Name/username Host Dyn Nat ACL Port Status
isaac/isaac 192.168.10.135 D 5061 OK (4 ms)
voipbuster/isaac.hacksimo 194.221.62.198 5060 OK (90 ms)
patio/patio (Unspecified) D 0 UNKNOWN
3 sip peers [Monitored: 2 online, 1 offline Unmonitored: 0 online, 0 offline]
Tambien podemos probar el DialPlan, por ejemplo con el comando "console dial 666".
*CLI> console dial 666
No such extension '666' in context 'default'
En este caso no funcionara porque no tenemos ninguna extension
configurada en el contexto default, pero para hacer pruebas es
recomendable ponerlas ahi (basta con ponerlas como include). Lo bueno
de esto es que si el servidor tiene altavoces y microfono podremos
probarlo sin necesidad de nada mas.
Hacia el infinito y mas alla:
Algo que queda por ver y resulta muy entretenido es configurar el fichero voicemail.conf y el meetme.conf, y poner los sonidos en Español.
Puedes ver mas informacion del Asterisk en las siguientes paginas:
* Sitio oficial de Asterisk
* Comunidad Asterisk-ES
* VoIP Foro
Una de las mejores paginas para leer documentacion es la wiki VoIP-Info.
Aqui encontraremos documentacion detallada de muchos ficheros de
configuracion y proveedores, asi como tambien conectar distintos
dispositivos y aplicaciones al Asterisk.
Por supuesto, si te interesa ampliar tus conocimientos en este mundo de la telefonia IP libre, lo recomendable es leer el libro Asterisk: The Future of Telephony con licencia CC-by-sa.
Info:http://fixidixi.com/oldt/node/1
Links: Hamlab - Patio Maravillas
Nota en Sindinero.org
Queman la cabina del Patio Marvillas
Todo lo que utilizamos es facil de conseguir, excepto el adaptador ATA, aunque para utilizar Asterisk no lo necesitamos, solo se requiere si se quiere conectar a telefonos analogicos. Tambien podremos configurarlo con un telefono IP si tenemos, o bien conectarse con un softphone, es decir, un telefono por software: el Ekiga sin ir mas lejos. Con el tiempo veremos que la versatilidad del Asterisk es tal que se puede conectar de muchas formas, de hecho de las centralitas PBX es la que soporta mas protocolos y canales: desde lineas analogicas hasta clientes/servidores SIP, H323.b, IAX2, adaptadores ATA, placas FXS/FXO, e incluso hay un proyecto para que pueda anunciarse como un BTS (antena GSM --- moviles!!).
Para la instalación de las cabinas que tenemos en el Patio hemos utilizado:
* Ordenador: AMD Duron a 900 Mhz con 386 Mb de RAM.
* Software: Asterisk 1.4 o 1.6
* Software cliente: Softphone. Puede ser Ekiga o Twinkle.
* Hardware: Adaptador ATA, Linksys SPA3102.
* Proveedor de telefonia SIP: VoIPBuster.
* Cable telefonico RJ11
* Telefono
¿Que es Asterisk?
Asterisk es una aplicación de software libre (bajo licencia GPL) que proporciona funcionalidades de una central telefónica (PBX). Como cualquier PBX, se puede conectar un número determinado de teléfonos para hacer llamadas entre sí e incluso conectar a un proveedor de VoIP o bien a una RDSI tanto básicos como primarios. Fuente: Wikipedia
¿Como se instala?
Lo instalaremos en Debian, una distribucion GNU/Linux. Para empezar
actualizaremos los repositorios al listado mas reciente de paquetes e
instalaremos las actualizaciones pendientes.
# apt-get update
# apt-get dist-upgrade
Podremos ver mas informacion de la instalacion de Asterisk sobre Debian en el siguiente link.
A traves de los repositorios:
La forma mas facil y rapida de instalarlo, es con el siguiente comando:
# sudo aptitude install asterisk
Con el codigo fuente:
Ahora instalaremos las dependencias, junto con las herramientas necesarias para compilar y las fuentes del kernel.
# apt-get -y install build-essential libncurses5-dev libcurl3-dev
libvorbis-dev libspeex-dev unixodbc unixodbc-dev libiksemel-dev
linux-headers-`uname -r
Vamos al directorio de las fuentes.
# cd /usr/src
Descargamos y descomprimimos las fuentes del Asterisk junto con el modulo Zaptel necesario para que funcione:
# wget http://downloads.digium.com/pub/asterisk/asterisk-1.45.1.tar.gz
# wget http://downloads.digium.com/pub/zaptel/zaptel-1.45.1.tar.gz
# tar xvzf asterisk-1.4.5.1.tar.gz
# tar xvzf zaptel-1.4.5.1.tar
Vamos al directorio de zaptel:
# cd zaptel-1.4.
Configuramos, compilamos e instalamos el modulo.
# ./configure && make && make inst
Por ultimo lo cargamos con el comando modprobe.
# modprobe ztdumm
Podemos comprobar que se cargo sin problemas con:
# lsmod | grep ztdumm
Si vemos que funciona hay que agregarlo al inicio del sistema poniendolo en el fichero /etc/modules.
# echo “ztdummy” >> /etc/module
Ahora vamos a compilar el Asterisk. Para esto vamos a su directorio y lanzamos los mismos comandos que antes:
# cd /usr/src/asterisk-1.4.5.1
# ./configure && make && make install
Es recomendable instalar los ejemplos para tener algo sobre lo que trabajar:
# make samples
# make config
Fuentes:
* ElCanibal.com: Mi nuevo proyecto; Asterisk en Debian Etch
* Blog de Pedro: Asterisk en Debian Etch
Iniciar / Parar Asterisk
Para inciar el Asterisk como demonio basta hacerlo con el siguiente comando:
# /etc/init.d/asterisk start
Luego para pararlo:
# /etc/init.d/asterisk stop
Por ultimo, para reiniciarlo:
# /etc/init.d/asterisk restart
En caso de que queramos iniciarlo solo por un tiempo determinado y no todo el tiempo, debemos iniciarlo con el comando:
# /usr/sbin/asterisk -vvvvc
Con esto iniciaremos la aplicacion e ingresaremos a la consola, [*CLI>]. Puedes ver como manejarte en ella en la seccion "Consola y Logs".
En caso de que lo hayamos iniciado como demonio, para conectarnos a la consola deberemos hacerlo con el mismo comando pero la opcion -r en vez de -c:
# /usr/sbin/asterisk -vvvvr
Si queremos que inicie cada vez que arranque el ordenador tendremos que modificar el siguiente fichero:
# nano /etc/default/asterisk
RUNASTERISK=yes
¿Y como se configura esto?
Una vez que tengamos todo instalado podremos ojear los ficheros de
configuracion de ejemplo que nos instalamos en los ultimos pasos.
# less /etc/asterisk/sip.conf
# less /etc/asterisk/extension.conf
Estos ficheros son los que mas veremos en este tutorial. En sip.conf
configuraremos los clientes, peers o amigos (en jerga asteriskiana) que
tendremos y en extensions.conf nuestro DialPlan. Este es nuestro plan
de llamadas: que hara cuando reciba una llamada a tal extension, o que
hara cuando un usuario intente llamar a alguna otra.
Los otros ficheros que hay en la carpeta /etc/asterisk son para todas
las otras funcionalidades que nos ofrece. Esta es la principal ventaja
de Asterisk frente a las otras centralitas (PBX), que desde el
principio y modificando solo alguna linea de los ficheros podremos
tener funcionalidades impresionantes, como salas de conferencias
(meetme.conf), buzon de voz (voicemail.conf) y conexion con diferentes
tipos de protocolos VoIP como SIP (en el sip.conf) e IAX2 (iax.conf) .
Vamos a ponernos a manos a la obra, para esto haremos una copia de seguridad de los ficheros que ya tenemos.
# mv /etc/asterisk/sip.conf /etc/asterisk/sip.conf.old
# mv /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf.old
SIP.CONF
Como ya dijimos, en este se
configuran los diferentes usuarios, clientes y peers. Aqui es donde
puede diferir mas nuestra configuracion. Todos los ficheros de
configuracion de Asterisk comienzan con la etiqueta [general], con las
opciones globales y luego cada etiqueta servira para cada uno de los
clientes. Estos pueden ser desde clientes SIP de software aka softphone
(como el Ekiga o el Twinkle para GNU/Linux), un
telefono SIP fisico, un adaptador ATA o un proveedor de telefonia SIP.
Si tenemos una tarjeta PCI FXS o FXO haremos las configuraciones en
zapata.conf.
En nuestro caso el hardware con el que contamos es un adaptador ATA
Linksys SPA302, Este se configura en la etiqueta [patio]. Tambien lo
conectamos a un proveedor de telefonia SIP llamado VoIPBuster, en la
etiqueta [voipbuster] (si conoces uno con mejores precios dimelo a
isaac.hacksimov@patiomaravillas.net ;D) y creamos un usuario preparado
para conectarlo por softphone (tanto con twinkle como con ekiga) en la
etiqueta [isaac].
[general]
context=default
useragent=
disallow=all
allow=gsm
allow=alaw
allow=ulaw
language=es
srvlookup=yes
tos_sip = cs3
tos_audio = ef
tos_video = af41
allowguest = yes
register => isaac.hacksimov:CONTRASENA@sip1.voipbuster.com:5060
[patio]
type=friend
host=dynamic
username=patio
secret=CONTRASENA
callerid="Patio Maravillas"
context=patio
qualify=yes
[voipbuster]
type=peer
host=sip1.voipbuster.com
username=isaac.hacksimov
fromuser=isaac.hacksimov
secret=CONTRASENA
context=voipbuster
insecure=port,invite
qualify=yes
canreinvite=no
[isaac]
type=friend
host=dynamic
username=isaac
secret=CONTRASENA
callerid="Dr. Isaac Hacksimov"
context=patio
mailbox=3000@default
qualify=yes
Vamos paso por paso:
[general]
context=default
useragent=
disallow=all
allow=gsm
allow=alaw
allow=ulaw
language=es
srvlookup=yes
tos_sip = cs3
tos_audio = ef
tos_video = af41
allowguest = yes
register => isaac.hacksimov:CONTRASENA@sip1.voipbuster.com:5060
Aqui le estamos diciendo el contexto en el que se encuentra esta
etiqueta (esto lo volveremos a ver en el extensions.conf), tambien que
tipo de codecs estamos permitiendo (gsm, alaw, ulaw) y el idioma
(espaniol, mas tarde instalaremos los sonidos),
La linea de register tiene los mismos datos que en la etiqueta [voipbuster]. Es necesario en algunos proveedores.
El adaptador ATA:
[patio]
type=friend
host=IPDELCACHARRO
username=patio
secret=CONTRASENA
callerid="Patio Maravillas"
context=patio
qualify=yes
Aqui le tendremos que poner la IP del adaptador, junto con el nombre y
la contraseña. Otro dato importante es el contexto, en este caso es
"patio".
[voipbuster]
type=peer
host=sip1.voipbuster.com
username=isaac.hacksimov
fromuser=isaac.hacksimov
secret=CONTRASENA
context=voipbuster
insecure=port,invite
qualify=yes
canreinvite=no
En esta etiqueta lo importante es el host, que es la URL que nos da nuestro proveedor cuando nos registramos. Elegimos VoIPBuster por permitirnos hacer llamadas gratuitas a los siguientes paises por un plazo de 120 dias pagando 10 euros:
Andorra
Australia
Austria
Bélgica
Canadá
Checa, República
Chile
Chipre
Dinamarka
España
Estonia
Eu Estados Unidos (+mobile)
Finlandia
Francia
Guam
Hong - Kong (+mobile)
Hungria
Irlanda
Islandia
Israel
Italia
Japón
Luxemburgo
Malasia
Mónaco
Noruega
Nueva Zelanda
Países Bajos
Panamá
Portugal
Puerto Rico (+mobile)
Rusia [moscow]
Rusia [st Petersburg]
Singapur
Sudcorea
Suiza
Taiwan
Cual es el problema con VoIPBuster? Van cambiando el listado de paises sin avisar, por lo que es posible que nos quiten algo de credito
Si conoces uno mejor, dimelo a isaac.hacksimov@patiomaravillas.net.
Por ultimo configuramos otro usuario mas. Lo unico que difiere con
los anteriores es el host, que es dinamico, esto es decir que puede
tener cualquier IP:
[isaac]
type=friend
host=dynamic
username=isaac
secret=CONTRASENA
callerid="Dr. Isaac Hacksimov"
context=patio
qualify=yes
EXTENSIONS.CONF
[general]
static=yes
writeprotect=yes
[globals]
CABINA=SIP/patio
VOIPBUSTER=SIP/voipbuster
ISAAC=SIP/isaac
[default]
[patio]
include => default
include => nacionales
include => echo
include => monkeys
[isaac]
include => default
include => nacionales
include => echo
include => monkeys
[nacionales]
exten => _9ZXXXXXXX,1,Dial(${voipbuster}/0034${EXTEN},60,r)
exten => _9ZXXXXXXX,n,Hangup
[echo]
exten => 600,1,Playback(demo-echotest)
exten => 600,n,Echo
exten => 600,n,Playback(demo-echodone)
exten => 600,n,Hangup
[monkeys]
exten => 666,1,Answer()
exten => 666,n,Wait(2)
exten => 666,n,Playback(tt-monkeysintro)
exten => 666,n,Playback(tt-somethingwrong)
exten => 666,n,Wait(2)
exten => 666,n,Playback(tt-monkeys)
exten => 666,n,Hangup
Como decia Jack el Destripador, vamos por partes:
[general]
static=yes
writeprotect=yes
[globals]
CABINA=SIP/patio
VOIPBUSTER=SIP/voipbuster
ISAAC=SIP/isaac
El contexto general, donde pondremos las opciones que valen para todo
el fichero. En general lo protegemos y en globals ponemos las
variables. Se escribe teniendo en cuenta los usuarios que creamos en el
fichero sip.conf. Creamos 3 variables: una para el adaptador ATA
(usuario y contexto patio en el fichero sip.conf, variable CABINA),
otra para voipbuster y la ultima para el usuario que se conectara por
softphones, isaac.
[default]
[patio]
include => default
include => nacionales
include => echo
include => monkeys
[isaac]
include => default
include => nacionales
include => echo
include => monkeys
Estos son los contextos de los usuarios que realizaran las llamadas,
patio e isaac. El proveedor SIP, obviamente, no realizara llamadas,
sino que enrutaremos las llamadas hacia el. El include sencillamente
significa que estamos incluyendo esos contextos (default, nacionales,
echo y monkeys),
[nacionales]
exten => _9ZXXXXXXX,1,Dial(${VOIPBUSTER}/0034${EXTEN},60,tr)
exten => _9ZXXXXXXX,n,Hangup
Esta es la sintaxis que utilizaremos para definir que hacer cuando se
realiza un llamado. Por ejemplo, aqui estamos definiendo que cuando se
marque un telefono que comienza con 9 y el siguiente numero sea mayor a
0 (Z) y los siguientes 7 numeros sean mayores o iguales a 0 (XXXXXXX),
primero (1) marque al numero que configuramos anteriormente como
perteneciente a voipbuster el numero que se ha marcado ($EXTEN)
añadiendole el codigo internacional del pais, España en este caso
(0034). Tambien le decimos que llame durante 60 segundos y que permita
la transferencia y no escuche el tono de marcado (tr). Luego le decimos
que cuando termine con esto, cuelgue. Y todo esto en 2 lineas!!
Como vemos, en principio puede parecer complicado, pero cuando hagamos
mas extensiones podremos ver que a traves de el DialPlan se puede sacar
mucho jugo al Asterisk, permitiendonos hacer muchisimas cosas y
divertirnos un monton ;), por ejemplo:
[echo]
exten => 600,1,Playback(demo-echotest)
exten => 600,n,Echo
exten => 600,n,Playback(demo-echodone)
exten => 600,n,Hangup
Aqui le decimos que para el contexto [echo], es la extension 600.
Primero reproducira (Playback) un sonido que dice que hara una prueba
de eco con demo-echotest, que se encuentra en /var/lib/asterisk/sounds/
o donde lo hayamos instalado. Importante, no es necesario poner el
formato del audio, Asterisk decidira cual es el mejor en cada caso.
Luego llama al programa que hace la prueba de eco en si, y manda a
reproducir otro sonido diciendo que termino la prueba de eco. Por
ultimo cuelga. Con respecto a la sintaxis, esto mismo podriamos haberlo
escrito asi:
[echo]
exten => 600,1,Playback(demo-echotest)
exten => 600,2,Echo
exten => 600,3,Playback(demo-echodone)
exten => 600,4,Hangup
Pero en este caso cuando querramos cambiarlo habra que renumerar todo,
por lo que es preferible usar la "n" para llamar a la siguiente accion.
[monkeys]
exten => 666,1,Answer()
exten => 666,n,Wait(2)
exten => 666,n,Playback(tt-monkeysintro)
exten => 666,n,Playback(tt-somethingwrong)
exten => 666,n,Wait(2)
exten => 666,n,Playback(tt-monkeys)
exten => 666,n,Hangup
Este es nuestro pequeño huevo de pascua. Aqui le decimos que atienda,
que espere por 2 segundos, que reproduzca unos sonidos (la
"introduccion a los monos" y "algo va muy mal"), espere 2 segundos mas,
reproduzca otro sonido ("monos" !!!!) y por ultimo cuelgue.
El unico contexto que falta poner en esta configuracion es
[internacionales]. Al ser una configuracion tan larga y que tanta gente
le puede dar uso decidimos liberarlo en una wiki dedicada al mundo
VoIP: voip-info.org. El link donde pueden ver las extensiones
actualizadas para hacer llamadas a telefonos fijos (landlines/fixed
lines) esta aqui: LINKVOIPINFOINTERNACIONALES
Todo eso se agregaria en el extensions.conf y tambien como includes del
usuario al que queremos habilitar las llamadas internacionales.
Configuracion del cliente Softphone
Veremos como conectarnos con dos clientes de software: Ekiga y Twinkle.
EKIGA
Por defecto muchas distribuciones GNU/Linux ya vienen instaladas con un cliente SIP, el Ekiga. En Ubuntu, este se encuentra en Aplicaciones -> Internet -> Softphone Ekiga,
[img_assist|nid=1069|title=Ekiga|desc=|link=node|align=right|width=100|height=75]Crearemos una cuenta con lo que hemos puesto en sip.conf, junto con la IP del servidor. En caso de tener que conectarse desde internet deberan abrirse los
puertos necesarios y poner la IP publica o el dominio que tengamos
asociado a esta.
Nombre de la cuenta: isaac
Protocolo: SIP
Registrador: 192.168.10.1
Usuario: isaac
Contraseña: CONTRASENA
TWINKLE
Conectarse a traves de Twinkle es muy sencillo, solo hace falta instalarlo. Para Ubuntu/Debian basta con
# sudo aptitude install twinkle
Aparecera en Aplicaciones -> Internet -> Twinkle. Lo abriremos y crearemos un perfil nuevo utilizando la configuracion que hemos puesto en el fichero sip.conf. El Domain debe ser la IP donde esta nuestro servidor.
Siguiendo el ejemplo asi seria nuestra configuracion: [img_assist|nid=1068|title=Twinkle|desc=|link=node|align=left|width=100|height=75]
Your name: isaac
User name: isaac
Domain: 192.168.10.1
Realm: isaac
Authentication name: isaac
Password: CONTRASENA
Luego deberemos ver lo siguiente en el log del Twinkle:
isaac, registration succeeded (expires = 3600 seconds)
Esto significa que ya estamos conectados :D
Configuracion del adaptador ATA
Para configurar el SPA-3102, con una linea de salida para hacer llamadas y otra de entrada/salida PSTN, es decir una linea telefonica normal, vamos a hacer lo siguiente:
1. En un navegador ingresamos la IP del adaptador.
2. Nos dira "spa user" y nos pedira usuario y contraseña. Pondremos usuario "user" y sin contraseña. Entraremos una pagina que nos muestra información de la configuración actual.
3. Vamos a la seccion de Administracion, en "Admin login". Nos pedira nuevamente usuario y contraseña ("admin user"). Esta vez ponemos como usuario "admin" y sin contraseña.
4. Ya aqui nos pondemos a configurarlo:
* En Voice -> System podremos cambiar la contraseña de acceso (User Password:). Dandole a "Advanced" podremos tambien cambiar la contraseña del usuario Admin (Admin Password:)
* En Router -> Wan Setup le pondremos una IP estatica dentro de nuestro rango de red. Aqui podremos tambien configurarlo como router ("PPPoE Settings")
* En Voice -> Line 1 configuraremos nuestra linea para hacer llamadas. Tendremos que poner como minimo los siguientes paramentros:
Line enable: yes
SIP Port: 5060
Proxy: IPDELASTERISK
Register: yes
Display name: patio[img_assist|nid=1142|title=Configurar adapatador ATA 3102 - 1|desc=|link=node|align=right|width=100|height=66]
Password: CONTRASENA
Auth ID: patio
User ID: patio
Use Auth ID: patio
Preferred Codec: G711a
Use Pref codec only: no
Esto en el Asterisk lo configuramos de la siguiente forma:
[patio]
type=friend
host=IPDELCACHARRO
username=patio
secret=CONTRASENA
callerid="Patio Maravillas"
context=patio
qualify=yes
* En Voice -> PSTN Line configuraremos nuestra linea PSTN para hacer y recibir llamadas.
Line Enable: yes
SIP Port: 5061
[img_assist|nid=1143|title=Configurar adapatador ATA 3102 - 2|desc=|link=node|align=left|width=100|height=77]
Proxy: IPDELASTERISK
Register: yes
Display Name: pstn
Password: CONTRASENA
Auth ID: pstn
User ID: pstn
Use Auth ID: no
Preferred Codec: G711a
Use Pref Codec Only: no
Esto en el Asterisk lo configuramos de la siguiente forma:
[pstn-spa3k]
type=peer
auth=md5
host=IPDELCACHARRO
port=5061
secret=CONTRASENA
username=pstn
fromuser=pstn
dtmfmode=rfc2833
context=incoming-pstn
insecure=very
Consola y Logs
Pronto veremos que la consola de Asterisk es completamente intuitiva y todo un aliado para resolver problemas.Para conectarnos a la consola depende de como hayamos iniciado Asterisk. Primero comprobamos si esta corriendo con el comando
# ps auxf | grep asterisk
En caso de que no lo veamos deberemos conectarnos con el siguiente comando:
# /usr/sbin/asterisk -vvvvc
Por otro lado, si lo iniciamos como demonio, para
conectarnos a la consola deberemos hacerlo con el mismo comando pero la
opcion -r en vez de -c:
# /usr/sbin/asterisk -vvvvr
Si hay alguna duda sobre este punto, puedes leer la seccion "Iniciar/Parar Asterisk"
Una vez dentro de la consola deberas ver lo siguiente: [Nota: CLI significa Command Line Interface, Interfaz de Linea de Comandos]
*CLI>
Para empezar, cuando un usuario se conecte o se realize una llamada lo veremos ahi, por ejemplo cuando el usuario Isaac se conecto a traves del Twinkle aparecio lo siguiente:
-- Registered SIP 'isaac' at 192.168.10.135 port 5060 expires 3600
-- Saved useragent "Twinkle/1.2" for peer isaac
[Apr 5 20:01:20] NOTICE[8449]: chan_sip.c:12669 handle_response_peerpoke: Peer 'isaac' is now Reachable. (25ms / 2000ms)
Y cuando se desconecto:
Unregistered SIP 'isaac'
Cuando se conecto con Ekiga:
-- Registered SIP 'isaac' at 192.168.10.135 port 5061 expires 3600
-- Saved useragent "Ekiga/2.0.12" for peer isaac
[Apr 5 20:10:27] NOTICE[8449]: chan_sip.c:12669 handle_response_peerpoke: Peer 'isaac' is now Reachable. (32ms / 2000ms)
Cuando realizo un llamado al 666 [monkeys], vemos el DialPlan ejecutandose en tiempo real:
-- Executing [666@patio:1] Answer("SIP/isaac-089832b8", "") in new stack
-- Executing [666@patio:2] Wait("SIP/isaac-089832b8", "2") in new stack
-- Executing [666@patio:3] Playback("SIP/isaac-089832b8", "tt-monkeysintro") in new stack
--
-- Executing [666@patio:4] Playback("SIP/isaac-089832b8", "tt-somethingwrong") in new stack
--
-- Executing [666@patio:5] Wait("SIP/isaac-089832b8", "2") in new stack
== Spawn extension (patio, 666, 5) exited non-zero on 'SIP/isaac-089832b8'
(No termino con todo porque el usuario colgo antes)
Tambien podemos ver en que estado se encuentra nuestro proveedor:
*CLI> [Apr 5 20:18:36] NOTICE[28025]: chan_sip.c:12669 handle_response_peerpoke: Peer 'voipbuster' is now Reachable. (90ms / 2000ms)
Aparte de mostrarnos la informacion en tiempo real, tambien podremos pedirle informacion y cambiar la configuracion. Para aprender a movernos en ella nuestro gran aliado sera la tecla TAB (tabulador). Con esta completaremos y veremos que opciones nos da cada comando, por ejemplo si escribimos "sip show" y pulsamos TAB, veremos:
*CLI> sip show
channel channels domains history inuse objects
peer peers registry settings subscriptions user
users
Lo que intuitivamente nos permite ver diferentes datos:
*CLI> sip show users
Username Secret Accountcode Def.Context ACL NAT
isaac CONTRASENA patio No RFC3581
patio CONTRASENA patio No RFC3581
CLI> sip show registry
Host Username Refresh State Reg.Time
sip1.voipbuster.com:5060 isaac.hacksi 105 Registered Sun, 05 Apr 2009 20:18:36
[img_assist|nid=1072|title=|desc=|link=node|align=undefined|width=193|height=145]
*CLI> sip show peers
Name/username Host Dyn Nat ACL Port Status
isaac/isaac 192.168.10.135 D 5061 OK (4 ms)
voipbuster/isaac.hacksimo 194.221.62.198 5060 OK (90 ms)
patio/patio (Unspecified) D 0 UNKNOWN
3 sip peers [Monitored: 2 online, 1 offline Unmonitored: 0 online, 0 offline]
Tambien podemos probar el DialPlan, por ejemplo con el comando "console dial 666".
*CLI> console dial 666
No such extension '666' in context 'default'
En este caso no funcionara porque no tenemos ninguna extension
configurada en el contexto default, pero para hacer pruebas es
recomendable ponerlas ahi (basta con ponerlas como include). Lo bueno
de esto es que si el servidor tiene altavoces y microfono podremos
probarlo sin necesidad de nada mas.
Hacia el infinito y mas alla:
Algo que queda por ver y resulta muy entretenido es configurar el fichero voicemail.conf y el meetme.conf, y poner los sonidos en Español.
Puedes ver mas informacion del Asterisk en las siguientes paginas:
* Sitio oficial de Asterisk
* Comunidad Asterisk-ES
* VoIP Foro
Una de las mejores paginas para leer documentacion es la wiki VoIP-Info.
Aqui encontraremos documentacion detallada de muchos ficheros de
configuracion y proveedores, asi como tambien conectar distintos
dispositivos y aplicaciones al Asterisk.
Por supuesto, si te interesa ampliar tus conocimientos en este mundo de la telefonia IP libre, lo recomendable es leer el libro Asterisk: The Future of Telephony con licencia CC-by-sa.
Info:http://fixidixi.com/oldt/node/1
Publicado por
Art
en
11:47
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
linux
viernes, 31 de julio de 2009
Acelera tus descargas en GNU/Linux desde consola
Cuando estamos haciendo descargas de archivos en internet hacia servicio de FTP o HTTP, tenemos varias herramientas de este tipo pero ellos solamente realizan una conexión hacia al servicio para hacer la descarga.
Pero como podemos descargar esta información mas rápidamente, para esto tenemos la herramienta axel, esta herramienta lo que hace es realizar múltiples conexiones hacia los servicios FTP o HTTP permitiendo descargar el fichero en parte y luego uniendo, con esto nos permite acelerar las descargas.
Para poder tener esta herramienta tenemos que hacer lo siguiente.
----- Centos/Fedora/RHEL.
En el caso de Centos y RHEL tenemos que tener habilitado el repositorio de DAG Wieers.
yum install axel
----Debian/ubuntu y derivados
apt-get install axel
Ejemplos:
1) Descargando el kernel de linux con axel
lucifer@lucifer:~$ axel http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.30.bz2
2) Descargando fichero pero especificando la velocidad de descarga en bits por segundos. En esta desacarga la realiza en 5120 KB por segundos.
lucifer@lucifer:~$ axel -s 5242880 http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.30.bz2
3) Descargado fichero especificando el numero de conexiones.
lucifer@lucifer:~$ axel -n 5 -s 5242880 http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.30.bz2
Como podemos ver esta herramienta hace una descarga de archivos muy rapida.
Info:http://www.linuxparatodos.net/portal/article.php?story=herramienta-axel
Pero como podemos descargar esta información mas rápidamente, para esto tenemos la herramienta axel, esta herramienta lo que hace es realizar múltiples conexiones hacia los servicios FTP o HTTP permitiendo descargar el fichero en parte y luego uniendo, con esto nos permite acelerar las descargas.
Para poder tener esta herramienta tenemos que hacer lo siguiente.
----- Centos/Fedora/RHEL.
En el caso de Centos y RHEL tenemos que tener habilitado el repositorio de DAG Wieers.
yum install axel
----Debian/ubuntu y derivados
apt-get install axel
Ejemplos:
1) Descargando el kernel de linux con axel
lucifer@lucifer:~$ axel http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.30.bz2
2) Descargando fichero pero especificando la velocidad de descarga en bits por segundos. En esta desacarga la realiza en 5120 KB por segundos.
lucifer@lucifer:~$ axel -s 5242880 http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.30.bz2
3) Descargado fichero especificando el numero de conexiones.
lucifer@lucifer:~$ axel -n 5 -s 5242880 http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.30.bz2
Como podemos ver esta herramienta hace una descarga de archivos muy rapida.
Info:http://www.linuxparatodos.net/portal/article.php?story=herramienta-axel
Publicado por
Art
en
3:39
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
linux
10 herramientas para conectarte a redes Wi-Fi
http://www.muylinux.com/2009/07/16/10-herramientas-para-conectarte-a-redes-wi-fi/
Publicado por
Art
en
3:32
0
comentarios
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
linux
Suscribirse a:
Entradas (Atom)