Adam, você não nos diz qual versão do Solaris você está usando.
Todas as pesquisas de host no Solaris passam pelo daemon do Solaris Naming Service. A única exceção é nslookup
, que faz uma consulta direta ao DNS em um servidor DNS. O daemon do Serviço de Nomeação basicamente atua como um cache de informações de nomenclatura. Outros sistemas operacionais possuem serviços semelhantes. O Serviço de Nomes Solaris está configurado no arquivo /etc/nsswitch.conf
.
Eu realmente espero que você esteja em uma versão mais antiga, como o Solaris 10 ou anterior. Caso contrário, você já editou manualmente um arquivo que não deveria mais editar: o arquivo /etc/nsswitch.conf
.
De qualquer forma, digamos que você esteja no 10 ou mais antigo:
Seu /etc/nsswitch.conf
deve ter uma entrada como esta:
hosts: files dns
Isso informa ao Solaris Naming Service que os hosts devem ser pesquisados primeiro no arquivo local (por exemplo, /etc/hosts
) e e no DNS. É claro que você também só tem "dns" aqui, mas as pessoas normalmente o querem para que /etc/hosts
possa anular o que está no DNS.
Agora você pode ter que reiniciar o daemon do serviço de nomes:
svcadm restart /system/name-service-cache
Você sempre pode verificar a configuração do serviço de nomes com o comando Solaris getent
:
getent hosts google.com
O comando getent
verifica se o Serviço de Nomes do Solaris funciona conforme o esperado. Você não pode usar nslookup
para verificar isso.
Se você está no 11 Solaris , então você pode usar a resposta do nolan600 para esta questão . O comando getent
também se aplica ao Solaris 11.
Espero que você possa usar um pouco disso.