Putty nos permite conectarnos a máquinas a través de la suite de protocolos ssh, telnet o usar una conexión directa a serie. También nos permite usar túneles ssh para establecer conexiones seguras, permite el reenvío de sesiones X11, y muchas más cosas que me dejo en el tintero :)
martes, enero 30, 2007
Nueva versión de Putty
viernes, enero 26, 2007
El kernel de Windows Vista: Un artículo sobre la planificación de tareas e hilos. Enlaces simbólicos. Cambios de I/O
La modificación de Windows Vista es usar los contadores de ciclos que tienen actualmente la mayoría de los microprocesadores para poder de esa manera hacer la planificación de tareas y así ver cuanto tiempo ha usado un hilo determinado, y saber si se tiene que cambiar de hilo.
Otra modificación es un planificador para aplicaciones multimedia, denominado Multimedia Class Scheduler Service (MMCSS). Este planificador se encarga de cambiar la prioridad de los hilos registrados con el mismo, para que tengan la cantidad de CPU que han solicitado.
Otras novedad, por llamarla de alguna manera - lleva en Unix más de 20 años - son los enlaces simbólicos en NTFS.
Por último se ha añadido un planificador de entrada y salida para poder priorizar las peticiones de las aplicaciones de acuerdo con una política y modificaciones en el uso de los completion ports un objeto que se usa para sincronizar las entradas y salida asíncronas en Windows, con la idea de evitar cambios de contextos innecesarios.
Por supuesto, el artículo pone los dientes largos para el próximo libro que quieren publicar sobre las tripas de Windows, la revisión del Windows Internals, que será la 5º.
jueves, enero 25, 2007
Configuración avanzada de TCP/IP en Linux (IV): Gestión de las direcciones. Interpretando la información
Mostrando información
Si queremos ver las direcciones asociadas a una determinada interfaz es fácil de ver con la orden ip address ls o ip address show:Puede verse los tres interfaces que tiene la máquina: se ve las direcciones de nivel de enlace (tipo link/ether), las direcciones IPv4 (inet) y en caso de existir direcciones IPv6, vendrían precedidas por inet6. Como con la mayoría de comandos de la orden ip, podemos seleccionar lo que nos puede mostrar. Así podemos seleccionar por la interfaz que nos interesa, con el alcance que tenga la dirección, hacia donde donde va la ruta, o bien por una etiqueta. La sintaxis completa del comando para mostrar la información es la siguiente:terron@menzoberrazan:~$ ip addr ls 1: lo:mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo 2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000 link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff inet 192.168.2.1/24 brd 192.168.2.255 scope global eth0 3: ath0: mtu 1500 qdisc pfifo_fast qlen 200 link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff inet 192.168.1.201/24 brd 192.168.1.255 scope global ath0
ip addr show [ dev STRING ] [ scope SCOPE-ID ] [ to PREFIX
] [ FLAG-LIST ] [ label PATTERN ]
Sin embargo, vemos información muy interesante en la salida de este comando. En primer lugar, si nos fijamos en el ejemplo anterior tendremos en primer lugar la dirección y la máscara de red. Por ejemplo, en el caso de la interfaz eth0 del caso anterior, la dirección es 192.168.1.201 y la máscara de red es de 24 bits, es decir, 255.255.255.0. Vemos la dirección de difusión (broadcast) asociada a esa dirección en esa interfaz. Vemos el alcance donde es válida la dirección, en este caso es global. Si vemos el caso de la interfaz lo del ejemplo anterior tendremos que el alcance es host. Por último tenemos la etiqueta asociada a esa dirección, que en este caso coincide con el nombre del dispositivo.
Alcance de direcciones asociadas a direcciones IP
Una característica interesante de esta manera de configurar las direcciones es el alcance de las mismas. Así tenemos:- global:La dirección es válida de manera global, es decir, una dirección que puede usarse para alcanzar cualquier máquina.
- site: Se trata de un alcance sólo válido con direcciones IPv6. Una dirección con este alcance significa que es válida dentro de este sitio.
- link: La dirección es local y válida dentro del dispositivo de red. Por ejemplo, las direcciones del tipo 169.254.x.x de la RFC3927 son de este tipo.
- host: La dirección sólo es válida dentro del host. La más clásica es la asociada a la interfaz loopback, 127.0.0.1
Technorati Tags: linux, networking
lunes, enero 22, 2007
Configuración avanzada de TCP/IP en Linux (III): Configuración y manejo de las tablas arp y ndisc de las tablas arp a través de ip neigh
Las tablas de vecinos (o tablas arp)
La manera más sencilla de ver esta tabla es usar el comando ip neigh ls (puede sustituirse ls por show):
terron@menzoberrazan:~$ ip neigh ls 192.168.1.5 dev ath0 lladdr yy:yy:yy:yy:yy:yy nud reachable 192.168.1.1 dev ath0 lladdr xx:xx:xx:xx:xx:xx nud stale
El formato de la tabla es sencillo. En primer lugar está la dirección IP (192.168.1.5 o 192.168.1.1), el dispositivo a través del cual se ha resuelto (en este caso la eth0), la direción de MAC (lladdr significa link layer address), el estado de alcance (nud es neighbourd unrechability deteccion). En este caso la primera entrada está reachable y la segunda stale. Este estado de alcance da información sobre la validez de la entrada en la tabla. Puede ser cualquiera de estos valores:
- none: El estado de la entrada es vacío.
- incomplete: Se ha producido una petición y el sistema está intentando averiguar la dirección mac asociada.
- reachable: La entrada de la tabla es válida y alcanzable.
- stale: La entrada de la tabla es válida pero no se sabe si es alcanzable. En caso de usarse la entrada el núcleo intentará comprobar su validez.
- delay: Se ha lanzado un paquete usando una entrada de la tabla cuyo estado es delay. Se está esperando confirmación.
- probe: El contador de tiempo asociado al estado delay ha terminado. El kernel está usando pruebas ARP o NDISC para verificar si el vecino al cual hace referencia la tabla es alcanzable.
- failed: La resolución ha fallado.
- noarp: La entrada es válida sin necesidad de usar protocolos arp o ndisc.
- permanent: Entrada creada por el administrador. Es de tipo noarp.
- router: Se trata de una entrada asociada a NDISC - IPv6 - que indica que el vecino es un router.
Para facilitar la extración de información de la tabla siempre podemos especificar filtros que nos faciten la información que queremos obtener. La sintaxís en este caso es:
ip neigh show [ to PREFIX ] [ dev DEV ] [ nud STATE ]
Podemos elegir que direcciones queremos ver con to, donde PREFIX no es más que una combinación de red o un host, podemos ver las entradas asociadas a un dispositivo usando dev o las entradas según el estado usando nud. Por ejemplo para ver todas las entradas asociadas al dispositivo eth0 se usaría:
ip neigh show dev eth0
Estas tablas llevan asociados contadores que manejan su tiempo de vida. Una vez que expira alguno de los contadores se produciran las acciones que llevan asociadas (por ejemplo sacar de la tabla una entrada no usada durante cierto tiempo). Los contadores puede accederse con la opción -s del comando ip.
Si estamos realizando pruebas de red, y tenemos problemas, podemos usar este comando para poder en primer lugar, ver si existe resolucion ARP. Un simple ping a una máquina y que no responda, podemos verificar la tabla de vecinos, y si no la entrada correspondiente está en failed es que no tenemos resolución arp.
En los Unix tradicionales está el comando arp para obtener esta información. Por ejemplo arp -na nos mostraría toda la tabla de vecinos del kernel.
Podemos manejar administrativamente la tabla con las órdenes add,del,change o replace, o bien borrarla complega con flush. El estado de detección puede fijarse a permanent,noarp,stale o reachable.
La sintáxis completa del comando es:
ip neigh { add | del | change | replace } { ADDR [ lladdr LLADDR ]
[ nud { permanent | noarp | stale | reachable } ]
De esta manera podemos añadir entradas permanentes a la tablas de vecinos. Por ejemplo si quisieramos que en la interfaz eth0 la máquina 192.168.5.1 tuviese siempre la mac 11:22:33:44:55:66
Así se consigue que cualquier resolución MAC por eth0 hacía esa dirección utilice la dirección MAC que hemos configurado.ip neigh add 192.168.5.1 lladdr 11:22:33:44:55 dev eth0 nud permanent
Si queremos borrar toda la resolución usamos ip neigh del. En este caso debemos especificar la dirección IP que queramos borrar, así como la interfaz por donde se ha producido la resolución:
No deben de modificarse aquellas entradas NOARP añadidas por el kernel.ip neigh del 192.168.1.1 dev eth0
Para borrar toda la tabla, usamos un simple ip neigh flush. Por último comentar en la posibilidad de modificar un parámetro de una resolución con un ip neigh change
Proxy ARP
Existen circunstancias donde puede ser necesario el uso de un proxy ARP, es decir, que nuestra máquina responsa a peticiones ARP o NDISC en lugar del ordenador real (por ejemplo, por la existencia de un NAT). Para ello usamos la opción proxy que tiene el comando:De esta manera el sistema responderá con su dirección MAC a cualquier solicitud que busque la dirección MAC asociada con la dirección IP DIR. Si no se añade el nombre de la interfaz, responderá por todas las interfaces. En caso contrario,sólo con la señalada.ip neigh proxy DIR [dev NAME]
Technorati Tags: linux, networking
Playa de Cordoama
Playa de Cordoama
Playa de Castelejo