Entendendo endereços IP em máquinas Linux

0

Quando leio /etc/hosts na minha máquina Ubuntu, as duas primeiras linhas são as seguintes:

ipAddr1 localhost
ipAddr2 nameOfMachine

Esses endereços IP são característicos da minha máquina ou estão relacionados à rede à qual estou conectado? Além disso, é possível editá-las, mas o hardware do endereço IP não está escrito?

    
por bigTree 16.11.2014 / 19:25

3 respostas

2

O endereço IP da sua máquina não está conectado ao hardware e as duas primeiras linhas que você está mostrando estão relacionadas à maneira como sua máquina está conectada à sua rede. O único item relacionado à rede que está no hardware é o endereço MAC e isso é 100% diferente.

Em geral, um endereço IP é atribuído quando você conecta a interface de rede a uma rede com base nas configurações do seu sistema. Então, quando você diz isso:

ipAddr1 localhost
ipAddr2 nameOfMachine

Mas os endereços seriam algo assim; usando 123.456.789.1 como exemplo:

127.0.0.1   localhost
123.456.789.1 nameOfMachine

O endereço 127.0.0.1 é um padrão universalmente aceito para o endereço de loopback localhost . O 123.456.789.1 é o endereço de rede que foi atribuído à sua máquina quando recebeu uma conexão de rede. E em uma máquina Linux, a configuração é via /etc/network/interfaces , que você pode visualizar da seguinte forma:

cat /etc/network/interfaces

Uma configuração básica e básica para o arquivo interfaces é algo assim:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 123.456.789.1
netmask 255.255.255.0

Isso está diretamente relacionado ao que você vê no /etc/hosts . O face lo inet loopback se conecta ao que você vê na linha 127.0.0.1 localhost e o face eth0 inet static se conecta à linha 123.456.789.1 nameOfMachine .

Em geral, você não mexa no arquivo /etc/hosts . E você definitivamente não muda 127.0.0.1 localhost . O 123.456.789.1 nameOfMachine é algo que pode ser auto-atribuído quando um Linux é instalado pela primeira vez em uma máquina e deve ficar lá. Isso permite que você esteja no host nameOfMachine e seja capaz de fazer algo como ping nameOfMachine sem falha.

    
por 16.11.2014 / 19:34
2

Eles são colocados lá pelo instalador do Ubuntu em resposta ao que você digita para o nome do host do sistema.

O arquivo /etc/hosts é possivelmente (e por padrão) usado pelo resolvedor de DNS do seu sistema sempre que um aplicativo quiser fazer uma pesquisa de DNS.

Antes da existência do DNS, cada máquina tinha um arquivo de hosts locais e o consultava para converter nomes de domínio em endereços IP.

Agora, normalmente é executada uma solicitação para um servidor DNS, mas o arquivo hosts ainda existe e, se o sistema estiver configurado para usá-lo, ele procurará nomes nesse arquivo antes de fazer uma consulta DNS externa.

O nome do host da sua máquina aparece para 127.0.0.1 neste arquivo porque um servidor DNS externo não saberá seu nome de host local, a menos que ele coopere com o DHCP de alguma forma (os servidores Microsoft AD / DHCP / DNS fazem isso). Portanto, isso é feito para que uma pesquisa de DNS para "localhost", ou o nome do host do computador, retorne um resultado correto.

@ A resposta de JakeGould me inspirou a adicionar isto: não remova ou mude as entradas de localhost - A MENOS que você mude seu hostname! Existem alguns programas por aí que exigem que seu nome de host local seja resolvido corretamente ( exim4 sendo um deles).

E o @Hennes está certo, o endereço IP não existe no hardware, apenas o MAC faz.

    
por 16.11.2014 / 19:38
1

Em primeiro lugar, não o endereço IP não está escrito em hardware. O endereço MAC é.

E sim, você pode editá-los. Você censurou os IPs reais, mas suspeito que pelo menos um deles seja 127.0.0.1 , o que você não deve alterar. Muitas coisas dependem de poder alcançar o próprio computador "via rede".

Estas chamadas para um computador podem ser para outros computadores reais ou podem voltar ao computador em si. Por uma questão de eficiência, é muito bom se você não precisa realmente enviá-los através da rede quando eles são destinados a você, então usamos uma interface de loopback. Para essa interface de loopback, atribuímos o intervalo 127.0.0.0/8 , normalmente implementado como 127.0.0.1 .

Para recapitular:

  • Sim, você pode editá-las.
  • Não, você não deve editar alguns deles.
por 16.11.2014 / 19:34

Tags