Eu tenho um problema em entender como a resolução de IP funciona nos sistemas Linux. Para demonstrar meu problema, mostrarei um exemplo no Windows e depois no Linux.
Windows:
O arquivo hosts
do Windows está vazio. Apenas contém comentários.
Executando o seguinte comando em um shell Python:
socket.gethostbyname(socket.gethostname())
Eu recebo 192.168.10.105
, que é o meu IP atual na rede em que estou. Como eu esperava que fosse.
Linux :
No Linux, meu /etc/hosts
é o seguinte:
127.0.0.1 localhost.localdomain localhost
O mesmo comando do Python me daria erros de que o recurso está temporariamente indisponível. Eu estou supondo que isso tem a ver com a ausência do meu Hostname atual de /etc/hosts
. Se eu adicioná-lo manualmente
127.0.0.1 localhost.localdomain localhost MyHostName
o comando python retorna 127.0.0.1
. Que ainda não é o que eu esperava que fosse. No entanto, posso adicionar o IP e meu nome de host ao arquivo
127.0.0.1 localhost.localdomain localhost
192.168.10.115 MyHostName
mas este não é certamente o caminho certo a seguir. Se o DHCP for usado, esse IP mudará.
Como posso obter o mesmo resultado no Linux e no Windows? Onde está minha configuração (ou meu pensamento?) Errada?