Configurações DNS para pingar máquinas Windows

Iniciado por andraderdp, 26 de Agosto de 2014, 12:15

tópico anterior - próximo tópico

andraderdp

Olá pessoal!

Sou totalmente iniciante no Linux. Vamos lá!

Eu uso o Ubuntu 13.10 em uma VM. A máquina real é Win 7 X64.
Pois bem! Pelo Linux eu consigo pingar todas as máquinas da minha rede, inclusive de ranges diferentes do meu. Porém não consigo pingar e conectar via host.
Não consigo pingar e nem conectar usando o Vinagre.

Já configurei meu DNS no /etc/resolv.conf e nada.

O que mais posso fazer?

irtigor

Se intendi, isso é configuração do Windows e do software de virtualização, mas forneça mais detalhes: Como configurou a rede (nat, bridge) no programa de virtualização? Como o host está conectado a sua rede? Que programa está usando pra virtualizar?

andraderdp

#2
Citação de: irtigor online 26 de Agosto de 2014, 12:52
Se intendi, isso é configuração do Windows e do software de virtualização, mas forneça mais detalhes: Como configurou a rede (nat, bridge) no programa de virtualização? Como o host está conectado a sua rede? Que programa está usando pra virtualizar?

Olá irtigor, vamos lá...
Eu configurei a rede como bridge e estou usando o Virtual Box.
O host está conectado via rede cabeada com IP dinâmico e configurado no IE para Detectar automaticamente....
Não creio que seja algo relacionado à VM. Outro rapaz aqui na empresa usa o Ubuntu como SO primário e também não consegue utilizar o host, apenas IP.

irtigor

Ah, por "host" você quer dizer o netbios name? Por exemplo, pra navegar nos arquivos do servidor no lugar de smb://IP usar "pc-x"? Não é isso que eu havia intendido. Exatamente o quê está tentando? E como?

andraderdp

Citação de: irtigor online 27 de Agosto de 2014, 08:04
Ah, por "host" você quer dizer o netbios name? Por exemplo, pra navegar nos arquivos do servidor no lugar de smb://IP usar "pc-x"? Não é isso que eu havia intendido. Exatamente o quê está tentando? E como?

Talvez eu que esteja utilizando as nomenclaturas erradas... tudo isso é muito novo pra mim.

No prompt de comando do linux eu pingo um ip de outra maquina windows da minha rede normalmente
Ex: ping 192.168.0.1
Porém, se eu tentar pingar com o nome da máquina não da certo.
Ex: ping computadorteste

É isso... esse computadorteste é o nome da maquina, eu chamo de host. Está errado?

irtigor

#5
Agora ficou claro, é que "host" (hospedeiro) em virtualização é a máquina que abriga/recebe os convidados/hóspedes ("guests"), no teu caso o Windows é o "host" e o Ubuntu um "guest", enquanto você está querendo é usar resolução por nome (ficaria menos confuso se tivesse usado "hostname", apesar de nao ser 100% certo). Pra ter resolução por nome de verdade você precisa estar rodando um servidor DNS, no Windows quando não é possível resolver por DNS é usado um protocolo chamado Netbios, e é isso que você quer*. Se procurar por ubuntu+netbios+name+resolution você vai encontrar vários resultados, mas deve bastar:


sudo apt-get install libnss-winbind


Depois como root edite o arquivo /etc/nsswitch.conf e adicione "wins" depois de "dns" na linha "hosts:".


gksu gedit /etc/nsswitch.conf


----
*Assumindo que você não tem um servidor dns na sua rede interna, se tiver e a máquina com Ubuntu está usando ele pra resolver, a coisa fica mais complicada.

andraderdp

Citação de: irtigor online 27 de Agosto de 2014, 16:47
Agora ficou claro, é que "host" (hospedeiro) em virtualização é a máquina que abriga/recebe os convidados/hóspedes ("guests"), no teu caso o Windows é o "host" e o Ubuntu um "guest", enquanto você está querendo é usar resolução por nome (ficaria menos confuso se tivesse usado "hostname", apesar de nao ser 100% certo). Pra ter resolução por nome de verdade você precisa estar rodando um servidor DNS, no Windows quando não é possível resolver por DNS é usado um protocolo chamado Netbios, e é isso que você quer*. Se procurar por ubuntu+netbios+name+resolution você vai encontrar vários resultados, mas deve bastar:


sudo apt-get install libnss-winbind


Depois como root edite o arquivo /etc/nsswitch.conf e adicione "wins" depois de "dns" na linha "hosts:".


gksu gedit /etc/nsswitch.conf


----
*Assumindo que você não tem um servidor dns na sua rede interna, se tiver e a máquina com Ubuntu está usando ele pra resolver, a coisa fica mais complicada.

Cara...

baixei o pacote e fiz a alteração

# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat

hosts:          files mdns4_minimal [NOTFOUND=return] dns wins mdns4
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

mesmo assim não funcionou.

g4p

Você precisa rodar um servidor de DNS e adicioná-los manualmente em cada máquina.

Se você quiser que seja de forma automática, instale o servidor de DHCP e configure para que o DNS atribuidos as máquinas seja o IP do servidor DNS local. Depois integre o DNS + DHCP, para que o DHCP atualize sempre o DNS ao atribuir endereços.

irtigor

O que você fez: Tentou um ping do Ubuntu pra outra máquina ou de outra máquina pro Ubuntu? Certeza que tudo foi instalado? Já procurou por algum problema especifico pra sua versão (agora que você sabe os nomes, fica mais fácil pesquisar)? De qualquer forma, eu não uso e se precisasse de resolução por nome eu preferiria configurar um servidor dns (porque funciona direto em qualquer SO), mas intendo que isso só é possível se você for o administrador da rede/servidor(es), então uma alternativa (que não envolve o netbios): se você só precisa dessa resolução pra algumas máquinas com IP fixo, você pode adicionar os nomes estaticamente no arquivo /etc/hosts (depois de desabilitar o dnsmasq --- programa que faz cache do dns)

andraderdp

Citação de: irtigor online 28 de Agosto de 2014, 18:36
O que você fez: Tentou um ping do Ubuntu pra outra máquina ou de outra máquina pro Ubuntu? Certeza que tudo foi instalado? Já procurou por algum problema especifico pra sua versão (agora que você sabe os nomes, fica mais fácil pesquisar)? De qualquer forma, eu não uso e se precisasse de resolução por nome eu preferiria configurar um servidor dns (porque funciona direto em qualquer SO), mas intendo que isso só é possível se você for o administrador da rede/servidor(es), então uma alternativa (que não envolve o netbios): se você só precisa dessa resolução pra algumas máquinas com IP fixo, você pode adicionar os nomes estaticamente no arquivo /etc/hosts (depois de desabilitar o dnsmasq --- programa que faz cache do dns)

Nós já temos em nossa infra um servidor DNS. Tanto é que as máquinas Windows fazem essa resolução.
O que comentamos aqui já me deu um norte para seguir e pesquisar sobre o assunto.
Agora é estudar os casos.

andraderdp

Citação de: irtigor online 27 de Agosto de 2014, 16:47
Agora ficou claro, é que "host" (hospedeiro) em virtualização é a máquina que abriga/recebe os convidados/hóspedes ("guests"), no teu caso o Windows é o "host" e o Ubuntu um "guest", enquanto você está querendo é usar resolução por nome (ficaria menos confuso se tivesse usado "hostname", apesar de nao ser 100% certo). Pra ter resolução por nome de verdade você precisa estar rodando um servidor DNS, no Windows quando não é possível resolver por DNS é usado um protocolo chamado Netbios, e é isso que você quer*. Se procurar por ubuntu+netbios+name+resolution você vai encontrar vários resultados, mas deve bastar:


sudo apt-get install libnss-winbind


Depois como root edite o arquivo /etc/nsswitch.conf e adicione "wins" depois de "dns" na linha "hosts:".


gksu gedit /etc/nsswitch.conf


----
*Assumindo que você não tem um servidor dns na sua rede interna, se tiver e a máquina com Ubuntu está usando ele pra resolver, a coisa fica mais complicada.


Consegui fazer resolver utilizando esse tutorial http://www.serenux.com/2009/09/howto-configure-ubuntu-to-be-able-to-use-and-respond-to-netbios-hostname-queries-like-windows-does/

É a mesma coisa que tinha feito antes, mas do nada começou a resolver. Porém resolve apenas as máquinas que estão na minha Vlan. Como faço pra pingar as máquinas de outras VLAN's?

Arthur Bernardes

Uai, o objetivo de VLAN não é isolar as redes em L2?

Não sou expert em L2, mas não seria necessário rotear elas?

andraderdp

Citação de: Arthur Bernardes online 02 de Setembro de 2014, 11:15
Uai, o objetivo de VLAN não é isolar as redes em L2?

Não sou expert em L2, mas não seria necessário rotear elas?

Alguma noção de como posso tentar fazer isso?
Aqui as Vlans são separadas por grupo de switchs. EX: Range 100.100.81.... switch01, 100.100.82.... switch02 e por ai vai.

irtigor

#13
Voce consegue dar ping de uma pra outra (em ambos os sentidos)? Se existem rotas talvez funcione, mas pelo que vi até no Windows existem pessoas com problemas com isso (se intendi direito o netbios originalmente foi feito pra ser usados em lans -- sem a possibilidade de rotas). Enfim, acho que depende mais do modo de compatibilidade.

Citação de: andraderdp online 29 de Agosto de 2014, 07:10
Nós já temos em nossa infra um servidor DNS. Tanto é que as máquinas Windows fazem essa resolução.

Não. A resolução de nomes é possível de várias formas, netbios não é DNS e resolve por nomes, e como a resolução funcionou no Ubuntu depois do mesmo ser configurado, eu posso te dizer que muito provavelmente vocês não estão rodando DNS, ou que estão rodando o serviço desconfigurado.*

----
Voce pode testar isso parando o serviço DNS no servidor, ou configurando uma máquina Windows pra não responder ao netbios (bloqueando as portas ou desabilitando o protocolo se possível).