hostname -i retorna um resultado estranho no linux

0

Se eu correr abaixo do comando, estou recebendo alguns endereços IP estranhos.

hostname -i
198.105.244.11 198.105.254.11

A entrada do meu arquivo host está na configuração padrão, abaixo estão os conteúdos da minha entrada do arquivo / etc / hosts

 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

O IP real desta máquina é 192.168.2.31

Espero que, depois que eu adicionei a entrada abaixo no arquivo /etc/hosts ,

 192.168.2.31   myhost

Eu poderia obter a saída esperada,

 hostname -i
 192.168.2.31

Mas, por que está mostrando um intervalo diferente de IPs durante a execução de hostname -i ?

Atualização:

ip r

192.168.2.0/24 dev eth0  proto kernel  scope link  src 192.168.2.31 
169.254.0.0/16 dev eth0  scope link  metric 1002 
default via 192.168.2.1 dev eth0

ifconfig eth0

eth0      Link encap:Ethernet  HWaddr ##removed##  
          inet addr:192.168.2.31  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feca:24c2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2153703 errors:0 dropped:0 overruns:0 frame:0
          TX packets:612859 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:189727756 (180.9 MiB)  TX bytes:761146814 (725.8 MiB)

(usando o Cent 6.4)

    
por Spike 29.08.2016 / 10:32

2 respostas

1

Você provavelmente tem registros DNS anteriores no servidor DNS que você está usando para esse nome de host. Você pode verificar isso com dig:

dig <your.host.name>
    
por 29.08.2016 / 10:47
1

Parece um truque do seu servidor DNS. Consultar qualquer hostname / fqdn desconhecido retornará precisamente os dois endereços IP que você obtém:

$ nslookup whatever-unknown-name 4.2.2.2
Server:     4.2.2.2
Address:    4.2.2.2#53

Non-authoritative answer:
Name:   whatever-unknown-name
Address: 198.105.244.11
Name:   whatever-unknown-name
Address: 198.105.254.11

Seu servidor está configurado para consultar primeiro o DNS e, em seguida, verificar os arquivos / etc / hosts. Assim, o que você colocar no último será ignorado se o seu servidor DNS estiver resolvendo seu nome de host. A questão é que está enganando você "resolvendo" qualquer nome desconhecido para os endereços IP fixos que você conseguiu.

Para corrigir o problema, edite seu arquivo /etc/nsswitch.conf e coloque files antes de dns na linha hosts .

    
por 29.08.2016 / 10:47