Qual é a diferença entre o endereço IP de uma máquina e o localhost?

10

É uma pergunta estúpida para todos vocês. Mas até eu saber a resposta, é difícil para mim.

A dúvida aumentou de minha outra pergunta Onde se eu dou localhost para o meu caminho, funciona. Mas isso não funciona se eu der o ip do meu sistema.

127.0.0.1 é mapeado para localhost em meu / etc / hosts. Preciso mapear meu ip para localhost? Não muda?

Eles não são iguais?

Se alguma coisa está terrivelmente errada. Avise-se me. Eu vou deletar a pergunta

    
por Gops AB 12.02.2015 / 13:44

3 respostas

12

Alguns serviços são configurados para escutar apenas o endereço IP do host local.

Um exemplo seria um banco de dados MySQL - você quer que seu aplicativo PHP seja executado no mesmo servidor para se conectar a ele, mas não quer que nenhum serviço externo ou até mesmo hackers externos se conectem. Ao configurar o MySQL para aceitar apenas endereços de host local ( 127.0.0.1 , por exemplo) e não o endereço IP real de seu servidor ( 10.x.x.x , por exemplo), você está reduzindo a chance de ser comprometido.

Então, para responder à sua pergunta - sim, eles são diferentes.

localhost recebe um endereço IP na rede 127.0.0.0 e é atribuído a um dispositivo de rede de loopback virtual lo . Este dispositivo está presente em todos os sistemas, independentemente de terem um dispositivo de rede física instalado (WiFi ou Ethernet, por exemplo). Um sistema que não está conectado a nenhuma rede terá esse dispositivo de loopback e, portanto, um endereço 127.0.0.0 . O nome localhost é simplesmente um nome que resolve esse endereço IP e está configurado em /etc/hosts .

Seu endereço IP real (10.x.x.x por exemplo) é alocado para um dispositivo de rede. Geralmente, esse é um dispositivo de rede física (WiFi ou Ethernet), embora configurações avançadas que usam dispositivos tun ou tap possam usá-las também. Novamente, a resolução de nomes (por exemplo www.example.org to 10.0.1.1 ) pode ser configurada em /etc/hosts ou pode ser configurada para usar DNS.

    
por 12.02.2015 / 14:08
4

Quando você acessar localhost , seu arquivo /etc/hosts dirá ao seu computador para não procurar mais e redireciona você para seu próprio computador. Quando você acessa o endereço IP local, o seu computador pedirá ao roteador para buscar os dados, e o seu roteador apontará de volta para o seu computador.

    
por 12.02.2015 / 14:19
4

127.0.0.1 é localhost , é o endereço da máquina atual, acessado através de uma interface de loopback (não através do adaptador de rede - isso funciona mesmo se não houver chips de rede no sistema ).

O ip que você obtém do roteador é uma história diferente: é o endereço que permite que outro computador na rede encontre você. Bem, você pode usar esse ip na mesma máquina também, mas funciona de maneira diferente como antes: ele está indo para o roteador e novamente (estou simplificando aqui, mas essa é a idéia geral).

E se você estiver conectado à internet, você também receberá outro ip do seu ISP - o ip pelo qual outros computadores em todo o mundo o encontrarão. No entanto, esses dois pelo menos se referem ao mesmo adaptador de rede ( eth0 ou a placa sem fio ou qualquer outra coisa). localhost é diferente.

O sistema operacional, os servidores e assim por diante ... podem se comportar de maneira diferente quando acessados a partir de localhost . Você geralmente não tem um firewall para isso, e muitos serviços locais têm uma interface localhost que serve apenas para se comunicar com um aplicativo. Muitas vezes, você desejará testar seu servidor da Web ligando-o primeiro para ouvir localhost , para verificar se ele funciona, mas outras pessoas não podem. Então, você pode reconfigurar para ouvir em seu endereço IP externo e começar a servir o site (e testar novamente se tudo ainda funcionar).

    
por 12.02.2015 / 14:24

Tags