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?
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?
Respuestas:
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.1
host local ( por ejemplo) y no la dirección IP real de su servidor ( 10.x.x.x
por ejemplo), está reduciendo la posibilidad de verse comprometido.
Entonces, para responder a su pregunta, sí, son diferentes.
localhost
se le da una dirección IP en la 127.0.0.0
red 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.0
dirección. El nombre localhost
es 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 tun
o tap
dispositivos también pueden usarlos. Nuevamente, la resolución de nombre (por ejemplo, www.example.org
a 10.0.1.1
) puede configurarse /etc/hosts
o configurarse para usar DNS.
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 ( eth0
o la tarjeta inalámbrica o lo que sea). localhost
es 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 localhost
interfaz destinada simplemente a comunicarse con una aplicación. Muchas veces, querrá probar su servidor web conectándolo primero para escuchar localhost
solo, 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).
network is unreachable
o 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.
Cuando acceda localhost
, su /etc/hosts
archivo 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.