¿Cuál es la diferencia entre la dirección IP de una máquina y el host local?

12

La duda ha surgido de mi otra pregunta Donde si doy localhost a mi camino, funciona. Pero no funciona si doy mi ip del sistema.

127.0.0.1 se asigna a localhost en mi / etc / hosts. ¿Necesito asignar mi ip a localhost? No cambia?

¿No son iguales?

Gibbs
fuente

Respuestas:

14

Algunos servicios están configurados para escuchar solo en la dirección IP localhost.

Un ejemplo sería una base de datos MySQL: desea que su aplicación PHP que se ejecuta en el mismo servidor se conecte a ella, pero no desea que se conecten servicios externos o incluso piratas informáticos del exterior. Al configurar MySQL para que solo acepte direcciones de 127.0.0.1host local ( por ejemplo) y no la dirección IP real de su servidor ( 10.x.x.xpor ejemplo), está reduciendo la posibilidad de verse comprometido.

Entonces, para responder a su pregunta, sí, son diferentes.

localhostse le da una dirección IP en la 127.0.0.0red y se le da a un dispositivo de red de bucle virtual lo. Este dispositivo está presente en todos los sistemas, independientemente de si tienen un dispositivo de red física instalado (WiFi o Ethernet, por ejemplo). Un sistema que no está conectado a ninguna red tendrá este dispositivo de bucle invertido y, por lo tanto, una 127.0.0.0dirección. El nombre localhostes simplemente un nombre que se resuelve en esta dirección IP y está configurado en /etc/hosts.

Su dirección IP real (10.xxx, por ejemplo) se asigna a un dispositivo de red. Este suele ser un dispositivo de red física (WiFi o Ethernet), aunque las configuraciones avanzadas que usan tuno tapdispositivos también pueden usarlos. Nuevamente, la resolución de nombre (por ejemplo, www.example.orga 10.0.1.1) puede configurarse /etc/hostso configurarse para usar DNS.

garethTheRed
fuente
4

127.0.0.1 es decir localhost , es la dirección de la máquina actual, a la que se accede a través de una interfaz de bucle invertido (no a través del adaptador de red; esto funciona incluso si no hay chips de red en el sistema).

La dirección IP que obtiene del enrutador es una historia diferente: es la dirección que permite que otra computadora en la red lo encuentre. Bueno, también puede usar esa ip en la misma máquina, pero funciona de manera diferente que antes: sale al enrutador y vuelve a entrar (estoy simplificando aquí, pero esa es la idea general).

Y si está conectado a Internet, también obtiene otra ip de su ISP, la ip por la cual otra computadora en todo el mundo lo encuentra. Sin embargo, estos dos al menos se refieren al mismo adaptador de red ( eth0o la tarjeta inalámbrica o lo que sea). localhostes diferente.

El sistema operativo, los servidores, etc. pueden comportarse de manera diferente cuando se accede desde localhost. Por lo general, no tiene un firewall para eso, y muchos servicios locales tienen una localhostinterfaz destinada simplemente a comunicarse con una aplicación. Muchas veces, querrá probar su servidor web conectándolo primero para escuchar localhostsolo, para que pueda verificar si funciona, pero otras personas no pueden. Luego, puede reconfigurar para escuchar en su dirección IP externa y comenzar a servir el sitio web (y probar nuevamente si todo sigue funcionando).

Orión
fuente
Gracias por la larga explicación. Otra duda planteada: si digo mi servicio a localhost, no irá al enrutador. Pero si especifico ip, será redirigido por enrutador. Entonces debo tener conexión a internet en mi segundo caso. No con el localhost. Por favor, hágamelo saber
Gibbs
Necesita una conexión al enrutador, de lo contrario obtendrá network is unreachableo algo similar. El truco es que (al menos con dhcp) es el enrutador el que le da una IP LAN en primer lugar. Es posible que esto varíe en algunos casos si la ruta persiste, pero en esencia, para la LAN IP, necesita LAN, y para una IP externa, necesita una conexión a ISP.
orion
3

Cuando acceda localhost, su /etc/hostsarchivo le indicará a su computadora que no busque más y lo redirigirá a su propia computadora. Cuando accede a la dirección IP local, su computadora le pedirá al enrutador que busque los datos, y su enrutador luego volverá a apuntar a su computadora.

serenesat
fuente
3
@serenesat - No. Cuando accede a su dirección IP 'real', no irá tan lejos como el enrutador, ni siquiera saldrá de esa máquina. Intentando hacer ping a tu dirección IP local y ver los tiempos de ida y vuelta ...
garethTheRed
Esta respuesta es completamente incorrecta.
Rui F Ribeiro