No último dia, tenho tentado, sem sucesso, permitir que minha VM Ubuntu seja capaz de resolver nomes NetBIOS na rede local, para encontrar alguns dispositivos que não sejam de computador (impressoras, máquinas especiais de código de barras, etc.) que não possuem um IP fixo.
A princípio, presumi que não estava conseguindo configurar o uso de winbind/wins para resolução, embora tivesse lido todas as páginas da Web que mencionavam nsswitch.conf e tivesse certeza de que minha configuração deveria estar correta.
running nmblookup printername
retorna um resultado bem-sucedido semelhante a:
x.x.x.x printername<00>
E esta foi minha primeira pista, o tipo de serviço <00>. Ativei o wireshark e tentei ping printername
, e vi uma transmissão NetBIOS solicitando printername<20>
, à qual ninguém respondeu.
Parei o serviço winbindd e executei-o manualmente em primeiro plano usando:
sudo winbindd -F -S -d 10
então tentei o mesmo ping e vi o winbindd tentando a mesma consulta errada com <20> em vez de <00>.
Por que isso está acontecendo? Onde isso pode ser configurado?
EDIT: Fechando esta questão, pois ela está codificada na fonte. Pesquisando o código, encontrei a função em winbindd_wins_byname.c, codificada como tal:
subreq = resolve_wins_send(state, ev, state->request->data.winsreq, 0x20);
Responder1
Você deve obter um retorno de:
x.x.x.x printername<20>
windbindd
está correto, porque um tipo de serviço <20> é para serviços de compartilhamento de arquivos/impressão. Você já tentou a configuração do serviço WINS do samba? O tipo de serviço padrão será fornecido se o cliente solicitar um compartilhamento não listado no smb.conf
.