Qual é a diferença entre o endereço IP de uma máquina e o host local

12

A dúvida surgiu da minha outra pergunta. Se eu der o host local ao meu caminho, ele funcionará. Mas não funciona se eu der o ip do meu sistema.

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

Eles não são iguais?

Gibbs
fonte

Respostas:

14

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

Um exemplo seria um banco de dados MySQL - você deseja que seu aplicativo PHP em execução no mesmo servidor se conecte a ele, mas não deseja que serviços externos ou mesmo hackers externos se conectem. Ao configurar o MySQL para aceitar apenas endereços de host local ( 127.0.0.1por exemplo) e não o endereço IP real do seu servidor ( 10.x.x.xpor exemplo), você reduz a chance de ser comprometido.

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

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

Seu endereço IP real (10.xxx, por exemplo) é alocado para um dispositivo de rede. Geralmente, é um dispositivo de rede físico (WiFi ou Ethernet), embora configurações avançadas usando tunou tapdispositivos também possam usá-los. Mais uma vez, a resolução de nomes (por exemplo, www.example.orgpara 10.0.1.1) pode ser configurada /etc/hostsou configurada para usar o DNS.

garethTheRed
fonte
4

127.0.0.1 ou seja localhost , é o endereço da máquina atual, acessada 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 o encontre. Bem, você também pode usar esse ip na mesma máquina, mas funciona de maneira diferente como antes: está saindo para o roteador e entrando novamente (estou simplificando aqui, mas essa é a ideia geral).

E se você estiver conectado à Internet, 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 se referem ao mesmo adaptador de rede ( eth0ou à placa sem fio ou o que seja). localhosté diferente.

O sistema operacional, os servidores e assim por diante ... podem se comportar de maneira diferente quando acessados localhost. Você geralmente não tem um firewall para isso, e muitos serviços locais têm uma localhostinterface que se destina simplesmente a se comunicar com um aplicativo. Muitas vezes, você deseja testar seu servidor da Web, conectando-o primeiro para ouvir localhostapenas, para poder verificar se funciona, mas outras pessoas não. Em seguida, você pode reconfigurar para ouvir seu endereço IP externo e começar a veicular o site (e testar novamente se tudo ainda funcionar).

orion
fonte
Obrigado pela longa explicação. Outra dúvida foi levantada: se eu disser meu serviço para o host local, ele não será encaminhado para o roteador. Mas se eu especificar ip, ele será redirecionado pelo roteador. Então, eu devo ter conexão com a internet no meu segundo caso. Não com o host local. Por favor, deixe-me saber
Gibbs
Você precisa de uma conexão com o roteador, caso contrário, obterá network is unreachablealgo semelhante. O truque é que (pelo menos com dhcp) é o roteador que fornece um IP da LAN em primeiro lugar. É possível que isso varie em alguns casos, se a rota persistir, mas, essencialmente, para LAN ip, você precisa de LAN e para ip externo, você precisa de uma conexão com o ISP.
orion
3

Quando você acessa localhost, o /etc/hostsarquivo informa ao computador para não procurar mais e o redireciona para o seu próprio computador. Quando você acessa o endereço IP local, seu computador solicita que o roteador busque os dados e o roteador aponte para o computador.

serenesat
fonte
3
@serenesat - Não. Quando você acessa o seu endereço IP 'real', não chega ao roteador - nem sai da máquina. Tentando ping o seu endereço IP local e olhar para os tempos de ida e volta ...
garethTheRed
Esta resposta está completamente errada.
Rui F Ribeiro