DSL-504T y Linux

30 Octubre, 2007 at 10:32 am (técnicos)

Como mucha gente hoy en día yo tengo ADSL, mas concrétamente el de Ya.com y el router que estos proporcionaban, el DLink 504T. Recientemente se nos ha hecho llegar a los usuarios un CD con una actualización del firmware del router a la versión 2.xxx. Los pasos para la realización de esta actualización son muy simples y fácilmente realizables. Más o menos viene a ser algo así: Te llega el CD, te cortan la conexión, te mandan un sms, instalas el contenido del CD y ya esta. Si todo ha ido bien tenemos de nuevo conexión. Por supuesto todo esto es es Windows claro.

Después de haber realizado la actualización uno se vuelve a su querido sistema Linux, en mi caso Kubuntu, como he comentado alguna vez, y al llegar ahí te das cuenta de que no tienes conexión. Esta claro, no podía ser todo tan bonito. Tras un rato de trastear, comprobar el acceso al router, la dirección IP y varias cosillas más, uno se da cuenta que puede navegar con el Konqueror pero no con el Firefox, y que puede hacer ping’s. Vale expediente X.

Tras unos cuantos guantazos más, buscar un poco por Internet, buscar diferencias, además de las evidentes, entre Firefox y Konqueror, si andamos algo lucidos ese día, nos damos cuenta de que el fallo lo provoca el soporte para IPv6. Así que a continuación voy a poner como desactivar este soporte para volver a tener conexión.

Deshabilitar IPv6 en Firefox

Escribir en la barra de navegación:

about:config

A continuación, buscamos y modificamos el valor:

network.dns.disableIPv6 false

por:

network.dns.disableIPv6 true

Bien por fin podemos navegar con Firefox. Pero claro, ¿qué pasa con el aptitude y similares?. ¿y con el resto de aplicaciones? Pues nada, habrá que deshabilitar algo más. Pasemos al Sistema Operativo.

Deshabilitar IPv6 en el Sistema Operativo

Editar el fichero /etc/modprobe.d/aliases:

sudo vim /etc/modprobe.d/aliases

Buscamos la linea, y después de ella:

alias net-pf-9 x25

y antes de:

alias net-pf-11 rose

introducimos el siguiente texto:

# Deshabilitado de IPv6
alias net-pf-10 ipv6 off
alias net-pf-10 off
alias ipv6 off
#alias net-pf-10 ipv6
# Fin del deshabilitado de IPv6

probablemente exista la linea:

alias net-pf-10 ipv6

si es el caso la borraremos o sobrescribiremos o comentaremos #

Esta información esta sacada de la guia-ubuntu, así que para más información acudid allí. En muchas otras página he visto que después de estas modificaciones ejecutaban:

depmod -a

Pero yo no lo he necesitado. Tras esto reiniciamos y ya podremos navegar con todas las aplicaciones del sistema tranquilamente.

Espero, que al que tenga los mismos problemas que yo le sirva de algo. Obviamente, si alguien encuentra otra solución o razón del fallo que lo diga, aquí siempre estamos abiertos a sugerencias.

Como puntualización, ahorraros llamar al 902902902 de Servicio Técnico, os van a poner tipo leyendo un folio con posibles problemas de Windows.

Permalink Dejar un comentario

Black Hole Router

9 Octubre, 2007 at 10:02 am (artículos, seguridad)

Repasando el otro día el listado de RSS, en la página “The Inquirer” he visto un artículo sobre el nuevo SP3 de Windows XP. El motivo del post no es este, si no que en él ha visto algo desconocido, el termino es “Black Hole Router“. Como ha despertado mi curiosidad me he puesto a investigar un poquito para averiguar lo que es.

La verdad es que ya la simple traducción al español nos da alguna pequeña pista de por donde puede ir, “Router agujero negro“, así y sin mirar nada, parece un router que en vez de encaminar los paquetes que llegan a él simplemente los elimina, y supongo manda algún mensaje de “destino inalcanzable” o algo de ese estilo. Obviamente esto suena muy catastrófico, así que vamos a dar una información más real y ver cuanto dista de la sugerida.

Para explicar esto, voy a tener que nombrar un par de cosillas un poco técnicas, pero espero hacerlo de tal forma, que todos vosotros podáis entenderlo, aunque no sepáis demasiado de informática.

Para empezar, algo que supongo que todos sabréis es que las conexiones de red que unen los ordenadores van sobre un protocolo conocido como TCP/IP y que los dispositivos encargados de dirigir los paquetes a sus destinos correspondientes son los router’s, como esos que tenéis en casa pero algo más grandes. La información intercambiada entre ordenadores, se divide en paquetes de un cierto tamaño de información para poder ser distribuida por la red. Ahora bien, cada uno de los router’s tiene definido un tamaño de unidad de transmisión máxima (MTU), osea un tamaño máximo del paquete. Ahora bien, el protocolo está bien diseñado y si el tamaño del paquete es superior al MTU, el paquete se divide para poder procesarlo y que siga su camino.

Hasta aquí todo bien y espero que inteligible. Vamos con las particularidades; La primera respecto a los paquetes, estos tienen un bit (marcador) que indica si el paquete puede o no ser fragmentado, según necesidades. Aquí el primer problema, ¿qué pasa si el tamaño del paquete es mayor que el MTU del router y tiene el bit de no fragmentación activado? Pues lo evidente, que no cabe. A que es fácil esto de la informática, luego veremos como se soluciona este problema. La segunda, no todos los router’s tiene definido el mismo tamaño de MTU, con lo cual lo paquetes que cabían por uno a lo mejor no caben por el otro.

Realmente ambas cosas están relacionadas y desembocan en la misma solución. Cuando sucede que un paquete no cabe por un router (su tamaño es mayor que el MTU) el router devuelve al origen un paquete especial conocido como ICMP indicando que el destino es inalcanzable y que es necesaria la fragmentación (no cabe el paquete, no continua su camino, necesito fragmentar). Esto desencadena un conjunto de acciones destinadas a superar esta dificultad, pero para no liaros y como no son necesarias para el objetivo del post, no las voy a nombrar. Si alguien tiene interés que lo diga y lo contaré más adelante. Bien, pero ¿y que pasa si el router no envía el mensaje ICMP de error? Pues bien aquí tenemos un “black hole router”. Es un router que se dedica a eliminar paquetes por no poder encaminarlos y que no avisa de que se esta produciendo el error.

En una red local, podríamos acceder fácilmente a los router’s y averiguar sus tamaños de MTU y adaptar la red y los sistemas para eliminar este problema. Pero en Internet, no podemos acceder a los router’s así que, ¿como averiguamos el MTU si sospechamos que esta pasando algo así? Pues con la ayuda de del comando “ping” con las opciones de no fragmentar y definiendo el tamaño de los paquetes (mirar manual según sistema operativo). De esta forma, mediante el sistema de prueba y error podemos averiguar el tamaño máximo de paquete que podemos enviar y adaptar nuestro sistema a estas características.

Bueno esperemos que os sirva de algo y que lo hayáis entendido todos, si alguno tiene algún problema con algo que pregunte y tratare de explicarlo mejor.

Permalink Dejar un comentario

HardInfo

3 Octubre, 2007 at 10:25 am (técnicos)

Hola de nuevo. Seguro que muchos de vosotros conocéis el programa Everest para Windows, creo que su nombre anterior era Aida32. Es un programita que te da multitud de información de tu sistema y además, te da la posibilidad de lanzar unos cuantos Benchmarks para comprobar el rendimiento de tu PC.

Ahora bien, aquellos que usamos Linux, esta claro que podemos obtener este tipo de información con los diversos comandos destinados a estas tareas, o incluso usando el comando “lshw”, pero la verdad es que manejar la gran cantidad de información que vuelca el comando en la consola no es muy intuitivo. Otra solución es volcar el resultado en un fichero y leerlo poco a poco, pero tampoco es muy eficiente.

Ahora bien, trasteando por ahí, es lo que tienen los días libres, he encontrado un paquete llamado “hardinfo” disponible en Ubuntu y supongo que en otras distribuciones, el cual facilita toda la información sobre el PC en un interfaz gráfico bastante intuitivo, facilitando de este modo la consulta que deseemos realizar.

Como se puede ve a la izquierda hay un menú en el que seleccionar aquello que queremos consultar, y se nos mostrará en la zona derecha ordenado y fácilmente visible.

Ademas de consultar datos sobre nuestro hardware, kernel, modulos intalados, etc… también hay diversos benchmarks para probar nuestra CPU. Y se pueden generar reportes en HTML para llevarnos por ahí.

Bueno como curiosidad, espero que os sirva. Se que algún purista de la consola seguro que me dice algo, pero yo opino que siempre esta bien saber hacer las cosas de varias maneras.

Permalink Dejar un comentario

TryParse

2 Octubre, 2007 at 7:22 pm (programación)

Acabo de descubrir paseando por ahí y leyendo cosillas, una nueva incorporación a C# de .NET a partir de la aparición de “.NET Framework 2.0“.
Seguro que a más de uno se sonará haber escrito más de una vez algo así para convertir un string en algún tipo de valor:

string numero = “1″;
int resultado = 0;

try
{
resultado = int.Parse(numero);
}
catch (Exception e)
{
//Aquí el error
}

Bien pues esto se va a terminar con la llegada del “TryParse“. Este método devuelve true si se ha podido realizar la conversión y false en caso contrario. además de conseguir en valor de la conversión realizada.

string numero = “1″;
int resultado = 0;

if(!int.TryParse(numero, out resultado)
//Aquí el error

Como se puede ver se recorta considerablemente el número de lineas necesarias además de clarificar, en mi opinión el código. Por supuesto, aunque el ejemplo esta hecho sobre un dato de tipo entero, se puede relalizar con todos o casi todos los tipos de datos; Boolean, Byte, DateTime, Char, Decimal, Double, Int16, Int32, Int64, SByte, Single, UInt16, UInt32, UInt64.

Para mas información os recomiendo pasar por las páginas de MSDN Library.

Bueno, hoy espero haber contribuido a que el dicho ese de “nunca te acostarás sin aprender nada nuevo” se haya hecho realidad.

Permalink Dejar un comentario