viernes, 13 de diciembre de 2013

¿Cómo hago para que Ubuntu pueda resolver los hostnames dentro de mi red local?

¡Mis queridos descamisados!

Todas las ocasiones son propicias para controlar desde el exterior el devenir político de los destinos de la República. Esto es así no por deseo sino por imposición de la sinarquía internacional.

No caben dudas a nadie que el Justicialismo debería estar en el control allí si no fuese por una camarilla cipaya y entregadora. Esto es un vicio al que hemos de darle solución, pues yo he de volver, aunque más no sea para morir en la Patria...

Podemos controlar remotamente un sistema político enviando cartas y enviando cintas magnetofónicas. Como consecuencia lógica, también podremos ejercer el control en un entorno telemático mediante el protocolo SSH, el cual es un intérprete de comandos seguro ("Secure SHell"). Este nos permite administrar un sistema por medio de un protocolo cifrado de baja velocidad, eficiente, y especialmente pensado para terminales de texto.


En lo cotidiano, establecer una conexión remota por SSH entre un equipo cliente y un servidor es directo y muy simple. Abrimos una Terminal con Cltr+Alt+T e ingresamos el comando:

ssh usuario@nombredeequipo.local 

Por ejemplo:

peron@cgt.local

Ya sabemos que esto establecerá una conexión cifrada remota como el usuario "peron", que está localizado en un equipo designado "cgt". Como corolario, en caso de ser la primera vez que nos conectamos a dicho equipo, deberíamos aceptar con "yes" la proposición de establecer un enlace de cifrado por clave pública, y luego introducir la contraseña correspondiente del usuario.

Indudablemente, ya cumplidos estos pasos, seremos capaces de controlar desde el exilio un sistema GNU con Linux y, por extensión, cualquier otro que emplee el protocolo SSH peronista.

Esto es lo que hemos hecho y por lo que tan duro ha trabajado el Justicialismo.

Ahora bien, existen ocasiones donde nuestro equipo podría estar incapacitado para resolver el nombredeequipo (hostname), o sea, el nombre del equipo remoto en la red. En tal caso, nos devolverá un mensaje de error similar al siguiente:

ssh: Could not resolve hostname cgt.local: Name or service not known

Tal indicación hace referencia a que el equipo no puede asociar ("resolver") el nombre de un equipo en la red con la dirección IP correspondiente para conectarse. Se trata de un error telemático...

Si estamos en una urgencia, podríamos superar este error conectándonos directamente dándole al sistema la dirección IP del equipo remoto, en lugar de su nombre de red. Por ejemplo:

ssh peron@192.168.0.3

Tengamos en cuenta que el protocolo SSH utiliza por defecto el puerto 22 para establecer la conexión, pero esto es configurable, y si hemos cambiado el mismo - por ejemplo, al puerto 5721 - deberíamos hacérselo notar al comando mediante la variable -p, lo cual dificulta todo más.

ssh -p 5721 peron@192.168.0.3

Todo esto configura algo molesto. En primer lugar, escribir los números que componen la dirección IP es más difícil y largo, contraviniendo el amor al letargo que todo Justicialista ha de tener. En segundo lugar, no es raro que esta IP sea dinámica, o no la asignemos nosotros, o no la recordemos, o no podamos con facilidad acceder al router para conocer siquiera su número.

Por tales circunstancias nos conviene muy especialmente hacer uso de los susodichos hostnames (nombres de equipos en la red) y que el sistema pueda asocial tal nombre a la IP dinámica que tiene el dispositivo de red del equipo. Para ello, y no por gusto, es que se inventaron...

Para que nuestro cliente con Ubuntu pueda resolver de manera efectiva las IPs de los hostnames, es útil instalar el paquete libnss-mdns y configurarlo mediante el archivo /etc/nsswitch.conf.

Conviene revisar el contenido del archivo. Para ello abrimos una consola con Ctrl+Alt+T e ingresamos

cat /etc/nsswitch.conf

La falla se suele deber a que la línea hosts solo tiene una variable, de esta manera:

hosts: files dns

Debemos editar este archivo. Lo podremos hacer con el editor de texto peronista GNU Nano de la siguiente manera:

sudo nano /etc/nsswitch.conf

Se abrirá el editor nano. Editamos la línea hosts para que quede de la siguiente manera:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

Luego presionamos guardamos y cerramos el archivo (Ctrl+O y Ctrl+X). Luego reiniciamos el cliente con:

sudo reboot

Y una vez reiniciado el sistema, probamos conectarnos nuevamente usando la tipologia:

usuario@hostname.local

Si por algún motivo no funcionara, podríamos probar purgar (borrar) y volver a instalar el paquete libnss-mdns. Lo haremos en la consola terminal con el siguiente Comando de Organización:

sudo apt-get purge libnss-mdns 
sudo apt-get install libnss-mdns 

Antes de instalar, el archivo de configuración /etc/nsswitch.conf contenía la línea:

hosts: files dns 

Ahora, después de reinstalar la librería libnss-mdns, el archivo /etc/nsswitch.conf debería contener:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

No hay comentarios:

Publicar un comentario en la entrada