VPSs y mas.

domingo, 24 de mayo de 2009

Recuperar clave. Linksys WRT-54G

Buenas,
Hoy tuve la necesidad de recuperar el password de un router (access point) Linksys modelo WRT54G y luego de revisar varias páginas les indico el procedimiento:

1) Apagar el router
2) Desconectar cualquier cable en los puertos 1-4 y WAN
3) Prende el router
4) Presiona el botón reset en la parte trasera por 30 segundos. Los leds de adelante titilaran (wlan led). Luego espera que el router se inicie por completo (max 2 minutos)
5) Apaga el router
6) Conecta un PC/Laptop al puerto 1 (NO al puerto WAN)
7) Coloca a tu PC/Laptop el IP: 192.168.1.2 Mask: 255.255.255.0
7) Prende el router. Espera 2 Minutos
8) Listo!.., realiza un ping al IP: 192.168.1.1 y debe funcionar.
9) Abre un navegador y apunta el mismo al IP: http://192.168.1.1 te va a pedir usuario y contraseña.

Por defecto el equipo no tiene usuario (dejalo en blanco) y la clave es admin

Como recomendación cambia el channel 6 con el cual viene por defecto la mayoría de los APs. En esta frecuencia seguramente existiran otros APs (sobre todo si vives en un edificio!!) y lamentablemente entre los mismos se crea algún tipo de interferencia. Del lado del cliente nunca es necesario cambiar nada. Realizar este cambio es sencillo y te trae varios beneficios. Por favor utiliza los channel 10 u 11 y con cifrado WPA (NUNCA WEP)

Si quieres ver en que frecuencia se encuentran trabajando los APs en tu zona, en linux puedes utilizar el siguiente comando:

#iwlist wlan0 scan
(donde wlan0 es la interfaz wireless)

o algo más sencillo y ves la "competencia":
#iwlist wlan0 scan | grep Channel


Suerte.

miércoles, 20 de mayo de 2009

Capturar más de 68 o 96 bytes con tcpdump

Varias veces he tenido la necesidad de capturar y luego analizar más de la información que guarda tcpdump por defecto (con la opción -w) luego de guardarla en un archivo.

TCPDUMP generalmente solo captura 96 bytes del paquete que viaja en el el cable, este valor por lo general es suficiente para analizar ethernet, ip, tcp/udp, icmp. Sin embargo, por ejemplo el contenido de un paquete grane HTTP imposible.

Por ello, en caso de tener la limitante antes mencionada la solución es el flag -s:

Ejemplo de captura por defecto:

tcpdump: WARNING: eth0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes


0 packets captured
0 packets received by filter
0 packets dropped by kernel

Ejemplo de captura de todo el paquete en el cable:



[root@localhost tmp]# tcpdump -s 0
tcpdump: WARNING: eth0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
^C

Notese el flag -s en el pase de parametros para tcpdump. Otros flags importantes:

* port
* host
* dst port
* src port
* dst host
* src host
* -w file

y es muy importante recordar que se puede contruir expresiones como las siguientes:

#tcpdump -s 0 dst port 23 and host 1.1.1.1 -w sniff.dump

Con el ejemplo anterior veremos que solo capturará paquetes donde el puerto destino sea 23 y contenga (origen o destino) el host 1.1.1.1

No voy a indicar más ejemplos porque la red se encuentra llena de ejemplos de tcpdump.

Suerte!

martes, 19 de mayo de 2009

Como recuperar el password de un AP TP-LINK

Hola,
El otro dia tuve la necesidad de recuperar el password de un equipo Access Point TP-LINK y dure muchisimo en buscar una pagina que tuviese un procedimiento efectivo para recuperar la clave del equipo.
En este sentido, les dejo un procedimiento que funciona perfecto en un TP-LINK en los modelos: TL-WR641G / TL-WR642G

a) Apagar el equipo
b) Presionar el boton reset
c) Prender el equipo con el boton reset presionado
d) Dejarlo por 10 segundos
e) admin/admin son los default login/password

Suerte,

martes, 12 de mayo de 2009

Calidad de servicio en Asterisk. VoIP

Buenas,
En estos dias necesitaba implementar Calidad de Servicio en una red de VoIP y quería asegurar que la misma fuese óptima.
En este sentido, primero voy a mencionar unos pocos detalles que hay que considerar:

* Tener SIEMPRE redes separadas de Voz y de Datos. Es decir, colocar datos en una VLAN y Voz en otra VLAN. Para ello se recomienda tener LAN Switchs administrables. La experiencia me indica que enseguida se mezclan los paquetes de Voz y Datos, la voz se deteriora inmediatamente.

* Tener teléfonos de calidad. Yo siempre utilizo Polycom y Cisco, sin embargo, SNOM y Linksys son muy buenos. No recomiendo Grandstream

* En enlaces WAN manejar siempre QoS. Cisco tiene muchas maneras de realizar esto. Posteriormente en otro post colocaré una configuración ejemplo de QoS con Cisco sobre Frame Relay.

Ahora bien, en el Asterisk te recomiendo el siguiente extracto de código en /etc/sip.conf:

tos_sip=cs3 ; Sets TOS for SIP packets.
tos_audio=ef ; Sets TOS for RTP audio packets.

y en el teléfono Polycom (en el archivo sip.conf) colocar el siguiente extracto de código



Luego de ello pudieses utilizar wireshark o tcpdump y ver como quedan marcados los paquetes salientes del Asterisk y del Polycom. Revisa el campo DSCP en el datagrama IP.

Suerte!

Traido gracias a http://www.fenixone.com

viernes, 8 de mayo de 2009

Upgrade de Screen OS en Netscreen/Juniper

El siguiente comentario fue algo que me ha sucedido dos veces con diferentes firewalls Juniper 5GT que necesitaba realizar el upgrade del sistema operativo (ScreenOS).

Tenía que realizar un upgrade de 5.2.0r1.0 a 5.4 y sencillamente el firewall a través de la interfaz Web no me dejaba subirla siempre devolviendo un error en la imagen.

La solución para lo anterior fue primero realizar un upgrade de 5.2 a 5.3 y luego a screenos 5.4. Voila!.., funcionó perfecto.

Luego, tuve la misma situación pero necesitaba hacer el upgrade de una versión 4.x a 5.x..., nuevamente hice un upgrade "poco a poco" y funcionó.

La moraleja es que no se puede cambiar de imagen a otra imagen de manera muy radical, es recomendable realizar el upgrade prudencialmente

Espero te ayude.

jueves, 7 de mayo de 2009

Integrar Blogspot con Google Analytics

Debido al crecimiento moderado que ha tenido el presente blog se me ocurrió añadir/integrar las estadisticas de google analytics a mi blog.
Cual fue mi sorpresa cuando al momento de la integración Google Analytics te solicita la inserción de cierto código sobre la directiva body del la página html.
Luego de buscar dentro de mi cuenta de blogspot no conseguí como hacer eso :-(

Finalmente, después de navegar en la red conseguí esta solución y funciona perfecto. Este es el procedimiento:

a) Entra en google analytics con tu cuenta
b) Obten el código html a ser insertado en la(s) páginas Web
c) Luego entra en tu cuenta de blogspot
d) Click en Diseño
e) Seleccionar "Edición de HTML"
f) Copiar y pegar el código de google analytics exactamente entre los tags final de body y del final de html

Por último, para probar si esta funcionando entra en: http://google.com/analytics/ y revisa si se encuentra recogiendo información. Recomiendo que esperes al menos un día para ver si efectivamente se encuentra funcionando.

Por el momento me encuentro averiguando una manera sencilla de redactar copy/paste código html/xml y que luego se muestre correctamente en el blog.

Suerte,

lunes, 4 de mayo de 2009

Listado de directorio en Apache

El día de hoy tuve la necesidad de que mi servidor Apache listara el contenido de los archivos y carpetas de un directorio. Es decir, por ejemplo, que al entrar a:
http://miservidor.com/mi/directorio/quedeseo/listar/ apareciera el listado del contenido.

Hay muchas maneras de lograr lo anterior. Te voy a dar el siguiente ejemplo y luego tu puedes colocarlo como quieras (en un .htaccess, virtualhost, global, etc).


Options indexes


Luego reinicias el apache como service httpd restart o /etc/init.d

En el ejemplo anterior, cuando entren a http://miservidor.com/mi/directorio/quedeseo/listar/ veran el contenido de la carpeta. OJO, en dicho directorio no puede haber ningún archivo index.html o index.php.

Suponiendo que en algún momento deseas revertir el comportamiento, puedes hacerlo de la siguiente manera:



Options -Indexes


Con el ejemplo anterior NO será listo el contenido de la carpeta.

Por último, recomiendo que tengas en httpd.conf el ServerSignature Off como pequeña medida de seguridad. El ServerSignature es información del Apache que será incluida en páginas auto-generadas por el Apache (como el listado, errores, etc), esta información puede ser de utilidad para un hacker.

Att.

Alejandro

domingo, 3 de mayo de 2009

Windows XP como Access Point wireless

Hace un par de dias se dano el Access Point de mi casa y en realidad los dias fueron horribles. Tuve que regresar a estar atado a un punto fijo en la pared de mi casa!. Sentia que yo no era productivo, que perdia tiempo, etc. Y no hablar de los comentarios de mi esposa: "En casa de herrero cuchillo de palo", y cosas similares.

En mi afan de solucionar y gracias a que tenemos varios computadores en la casa, decidi probar en colocar mi Linux como AP y para mi sorpresa: SI se puede!.., wow, muy buena noticia. La mala noticia es que la tarjeta de red que tengo (Broadcom 43XX) no soporte colocarla en modo master (iwconfig wlan0 mode master).

En fin averiguando en Internet consegui una solucion poco elegante pero que al menos iba a funcionar momentaneamente. Colocar un Windows XP en modo ad-hoc y cableado hacia la red Banda Ancha. Voila!.., funciono.

El procedimiento es el siguiente:

1) Coloca como direccion IP de tu red Wireless el IP: 192.168.0.1 (no puedes utilizar otro IP)

2) Instala un DHCP server si quieres que los equipos Wireless se conecten facil a tu red. Recomiendo http://tftpd32.jounin.net/ (que tambien recomiendo como TFTP server). Asegurate que el DHCP se encuentre entregando IPs por la interfaz Wireless. Seria algo similar a:




3) Luego en la interfaz de redes Wireless, realiza lo siguiente:
* Crea una nueva red con el nombre que desees. Por ejemplo Acosta
* Asegura dejar la autenticacion Abierta y el cifrado Sin cifrar
* Finalmente, asegurate de marcar el check box que indica Ad-HOC al final de la panatalla.

Nota: En este momento ya puedes ir a otro PC y buscar redes Wireless y ver tu red listada.

4) Click en Inicio --> Conectar a --> Mostrar todas las conexiones

5) Click derecho sobre la conexion cableada --> Propiedades --> Avanzada --> Permitir otras computadoras a utilizar esta conexion. Quedaria algo asi:




6) Aceptar --> Aceptar



Y eso es todo. Busca el otro equipo con el que te quieres conectar Wireless y disfrute de tu nuevo AP.

sábado, 2 de mayo de 2009

Crear un tunel IPv6 in IPv4 entre Cisco y Linux

Tengo la fortuna de trabajar para un ISP con IPv6 implementado. Voy a explicar el procedimiento para levantar un tunel IPv4 para pasar paquetes IPv6 entre un router Cisco y un PC con Linux.

Topologia:

PC Linux (2820:26:11::/64) ------ RED IPv4 (ISP) ----- Cisco router (Ipv4 e IPv6) ---- RED IPv6

Comenzaremos configurando el Cisco:

Es necesario crear una interfaz tunnel similar a la siguiente:

interface Tunnel0
description Tunel hacia mi casa
no ip address
ipv6 address 2820:26:10::1/64
ipv6 enable
tunnel source 210.57.51.107
tunnel destination 211.28.235.85
tunnel mode ipv6ip
end

ipv6 route 2820:26:11::/64 Tunnel0

Explicacion:
En la configuracion anterior se aprecia que hay que indicarle la direccion IPv4 fuente, la direccion IPv6 destino y una direccion IPv6 al tunel. El modo del tunel es lo mas importante el cual indica que son paquetes ipv6 en ipv4. Recordemos que Cisco soporta muchos tipos de tunel y recomiendo ser explicito. Adicionalmente el modo del tunel concuerda con el tipo de tunel que vamos a utilizar en Linux (modo sit). Notese que la direccion IPv4 origen del tunel puede ser cualquier IPv4 configurado en el router (una loopback, otra interfaz, etc).
Por ultimo, el comando ipv6 route indica la red que va a manejarse del lado del linux. Muy importante para que exista conectividad y enrutamiento dentro del tunel.

A configurar el linux:

Del lado del Linux es mas facil de lo que uno esperaria. Estos son los comandos utilizados por mi persona:

ifconfig eth0 add 2820:26:11::1/64
ifconfig sit0 tunnel ::210.147.51.107
ifconfig sit1 up
route -A inet6 add ::0/ dev sit1
ping6 2820:26:10::1

Explicacion:
El primer comando le indica la red IPv6 a la interfaz eth0.
El segundo comando indica la interfaz sit (modo ipv6 en ipv4) y el IPv4 donde va a terminar el tunel. El comando route indica la ruta por defecto para que sea enviado por la interfaz sit 1.

Luego de esto, estamos listos para probar la conexion. Primero, vamos a ubicarnos del lado del Linux:

Lo primero es realizar un ping al IPv6 del tunel
[root@localhost ~]# ping6 2800:26:10::1 -c 4
PING 2800:26:10::1(2800:26:10::1) 56 data bytes
64 bytes from 2820:26:10::1: icmp_seq=1 ttl=64 time=153 ms
64 bytes from 2820:26:10::1: icmp_seq=2 ttl=64 time=154 ms
64 bytes from 2820:26:10::1: icmp_seq=3 ttl=64 time=153 ms
64 bytes from 2820:26:10::1: icmp_seq=4 ttl=64 time=152 ms

Luego un ping6 a ipv6.google.com:
[root@localhost ~]# ping6 ipv6.google.com -c 4
PING ipv6.google.com(qw-in-x68.google.com) 56 data bytes
64 bytes from qw-in-x68.google.com: icmp_seq=1 ttl=55 time=232 ms
64 bytes from qw-in-x68.google.com: icmp_seq=2 ttl=55 time=229 ms
64 bytes from qw-in-x68.google.com: icmp_seq=3 ttl=55 time=230 ms
64 bytes from qw-in-x68.google.com: icmp_seq=4 ttl=55 time=231 ms

Tambien recomiendo hacer traceroute y el primer salto que veras es el IPv6 del Cisco.

Ahora bien, del lado del Cisco podemos ver la cantidad de paquetes que han transitado por la interfaz tunel y comprobar el incrementos de paquetes:

#sh int tunne0
Linkstar_PBR#sh int tunnel 0
Tunnel0 is up, line protocol is up
Hardware is Tunnel
Description: Tunel a mi casa
MTU 1514 bytes, BW 9 Kbit, DLY 500000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation TUNNEL, loopback not set
Keepalive not set
Tunnel source 210.147.51.107, destination 211.28.235.85
Tunnel protocol/transport IPv6/IP
Tunnel TTL 255
Fast tunneling enabled
Tunnel transmit bandwidth 8000 (kbps)
Tunnel receive bandwidth 8000 (kbps)
Last input 00:00:07, output 00:00:06, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/0 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
19 packets input, 2736 bytes, 0 no buffer
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
51 packets output, 5540 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 output buffer failures, 0 output buffers swapped out

En otra oportunidad indicare como hacer que toda tu red navegue en IPv6 dentro del Tunel.

Suerte y exitos,

viernes, 1 de mayo de 2009

Instalar Mandriva sin unidad de CD

En esta oportunidad voy a explicar el procedimiento de instalacion de Linux Mandriva en un equipo sin utilizar unidad de CDROM. En dos oportunidades me ha ocurrido que necesidad de cambiar el Mandriva de mi Laptop sin embargo no tengo el CD de instalacion a la mano y no quiero ir a un sitio a comprar un CD en blanco y luego quemar el iso.

El procedimiento indicado aqui es un extracto, adaptacion y traduccion de una excelente referencia que consegui en: http://wiki.mandriva.com/en/Docs/Installing_Mandriva_Linux#Booting_the_installer_direct_from_a_hard_disk_-_Linux_method

Por ello la siguiente explicacion:

Primero, en el linux actual bajar el ISO de mandriva de cualquier repositorio en Internet. Por favor bajarlo en una particion que durante la instalacion no sea necesario formatear (por ejemplo NO bajarlo en /). Adicionalmente debes recordar el directorio donde lo bajaste y a que particion pertenece (sda3, hda2, etc)

Posteriormente es necesario extraer dos archivos del iso bajado, para ello es necesario montar el iso como loop. El comando es similar al siguiente:

mkdir /mnt/iso
mount -t iso9660 -o ro,loop /home/mandriva2009.iso /mnt/iso

Luego vamos a copiar al directorio /boot los siguientes archivos. Personalmente prefiero cambiar el nombre durante la copia:

cp /mnt/iso/x86_64/isolinux/alt0/allnew.rdz /boot/allnew.rdz
cp /mnt/iso/x86_64/isolinux/alt0/vmlinuz /boot/vmlinuznew

Es importante que identifiques correctamente tu arquitectura (i586 o x64).

Posteriormente es necesario indicarle a tu boot-loader (grub o lilo) la existencia de dichos archivos. En mi caso quedo de la siguiente manera utilizando grub:

title mandriva2009
kernel (hd0,0)/boot/vmlinuznew root=/dev/ram3 ramdisk_size=32000 vga=791
initrd (hd0,0)/boot/allnew.rdz

Para prevenir cualquier error recomiendo que utilicen una entrada ya existente y te bases en ella unicamente cambiando los nombre de kernel e initrd.

Voila!.., reinicia tu equipo y escoje mandriva2009 al momento del arranque y sigue el procedimiento de instalacion.

Suerte!.