O problema descrito aqui pode não estar relacionado ao DNS.
Você precisa saber que o Windows pode resolver o nome do host do Windows para seu IP por meio de outros mecanismos além do DNS padrão: pesquisa de NetBIOS, WINS, ...
Como você disse que tem o Samba instalado no seu Ubuntu, isso é provavelmente o que está acontecendo. Em toda a sua máquina Windows, é possível, fora da caixa, ter o nome do Windows resolvido para o seu endereço IP. Como o Samba está instalado no Ubunut, para o seu PC Windows, eles vêem o Ubuntu PC como um PC com Windows e a mesma resolução é possível.
Você diz que corre net view
no Windows e vê o seu PC Ubuntu, então o nome NetBIOS está bem publicado na sua rede, então funciona no Windows.
Para obter o mesmo comportamento no Ubuntu e no Windows, é necessário instalar e configurar outros softwares. O que você precisa é adicionar uma biblioteca de pesquisa que permitirá ao Ubuntu converter nomes NetBIOS em IP. Esta biblioteca está contida no pacote libnss-winbind .
Como qualquer outro pacote do Ubuntu, você o instala fazendo sudo apt-get install libnss-winbind
. Pode ser que a biblioteca já esteja instalada, você pode verificar sua presença fazendo dpkg -l|grep libnss-winbind
.
Quando a biblioteca estiver instalada, você deverá ativá-la no arquivo /etc/nsswitch.conf
. Este arquivo é o arquivo de configuração para o NSS ( Switch de Serviço de Nome ), que define de quais fontes o Linux é capaz de resolver o hostname , usernames, groupnames e assim por diante.
Neste arquivo, você já tem uma linha começando por hosts:
, provavelmente parecendo com isso
hosts: files dns
Isso informa ao seu sistema para primeiro examinar o arquivo /etc/hosts
e depois o DNS configurado para resolver nomes de host.
Você tem que modificar desta maneira:
hosts: files dns wins
Note que a ordem das palavras arquivos , dns e vitórias é importante. Primeiro, o sistema verificará o arquivo local em busca de resolução, depois perguntará ao servidor DNS e, por fim, se ainda não encontrado, executará a pesquisa do NetBIOS.
Depois de atualizar, para funcionar corretamente, você também precisa ter o serviço winbind em execução. O pacote que o contém é uma dependência do libnss-winbind , portanto ele foi instalado ao longo dele.
Do service winbind start
para ativá-lo.