sábado, 24 de enero de 2015

¿como resolver nombres en LAN?

Estando configurando mi Raspberry Pi, me resultaba bastante irritante tener que estar siempre metiendo la IP de mi raspi para conectarme por ssh, por lo que dije... ¿Por qué no voy a poder meterme por el nombre del host?

Veamos, el nombre del host es el nombre que identifica a un equipo en la red local, es decir, si te conectas a un router, ese router va a registrar en su tabla de rutas ARP tu ordenador con tu MAC y tu nombre de ordenador, es decir, algo como esto:


Entonces, ¿Para qué voy a teclear el 192.168.2.111 cuando puedo poner rpi?

Supongamos que estamos en la misma subred (La puerta de enlace y la máscara de red son la misma) y queremos conectar un ordenador a nuestro servidor por ssh. Haríamos en la terminal/putty el

siguiente comando:
MBAir:~ jorge$ ssh TU_USUARIO@192.168.2.111
Pues bien, si en vez de poner eso queremos poner:

MBAir:~ jorge$ ssh TU_USUARIO@rpi
Quizás nos salte un error indicando que no se puede encontrar:
MBAir:~ jorge$ ssh TU_USUARIO@rpi
ssh: Could not resolve hostname rpi: nodename nor servname provided, or not known

¿Cómo solucionamos éste error? 

En Mac OSX:


  • Deberemos editar el archivo /etc/hosts:

MBAir:~ jorge$ sudo nano /etc/hostsPassword: (Nuestra contraseña de OSX)

  • Y ahora añadiremos al final del archivo la siguiente línea: 
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
192.168.2.111   rpi

  •  Deberemos cambiar la linea en rojo por la IP de nuestro servidor y pulsando tabulador, el nombre asociado. 

En Debian/Ubuntu:


  • Deberemos editar el archivo /etc/hosts:

Ubuntu-jorge$ sudo nano /etc/hostsPassword: (Nuestra contraseña de Debian/Ubuntu)

  • Y ahora añadiremos al final del archivo la siguiente línea: 
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
192.168.2.111   rpi

  •  Deberemos cambiar la linea en rojo por la IP de nuestro servidor y pulsando tabulador, el nombre asociado. 

En Windows:

  • Deberemos editar el archivo hosts, que se encuentra en la carpeta:
C:\WINDOWS\system32\drivers\etc\hosts

  • Para ello iremos a:
    • Windows XP:
      • Inico --> Ejecutar --> cmd (escrito en el cuadro que aparece)
      • Inicio, todos los  programas --> Accesorios --> Símbolo de sistema
    • Windows Vista, 7, 8:
      • Inicio --> Escribir directamente "Simbolo de Sistema" y pulsar "Enter"
  • Y escribiremos en la pestaña que nos aparece:


edit  C:\WINDOWS\system32\drivers\etc\hosts


  • Y ahora añadiremos al final del archivo la siguiente línea: 
#Copyright (c) 1993-1999 Microsoft Corp.
#
#Éste es un ejemplo de archivo HOSTS usado por Microsoft TCP/IP para #Windows.
#Este archivo contiene las asignaciones de las direcciones IP a los #nombres de host. Cada entrada debe permanecer en una línea individual. #La dirección IP debe ponerse en la primera columna, seguida del nombre #de host correspondiente. La dirección IP y el nombre de host deben #separarse con al menos un espacio. También pueden insertarse comentarios #(como éste) en líneas individuales o a continuación del nombre de equipo #indicándolos con el símbolo "#"
#
# Por ejemplo:
#
#      102.54.94.97     rhino.acme.com          # servidor origen
#       38.25.63.10     x.acme.com              # host cliente x

127.0.0.1       localhost
192.168.2.111   rpi

  •  Deberemos cambiar la linea en rojo por la IP de nuestro servidor y pulsando tabulador, el nombre asociado. 
Ya tendremos configurado nuestro fichero hosts. Ahora sólo tendremos que poner lo siguiente para entrar directamente al servidor:
  • ssh TU_USUARIO@rpi 
Espero que os haya servido para facilitar la conexión y la rapidez en el trabajo.