Como alcançar um host na mesma rede pelo nome do host?

11

Eu tenho uma rede que conecta alguns hosts. Eu gostaria de poder acessar outros hosts de um deles usando o nome do host. Acabei de descobrir o domínio ".local", disponível através de avahie /etc/nsswitch.conf. Mas não está configurado dessa maneira nos meus servidores. E eu não quero criar uma entrada no meu servidor DNS. Existe outra maneira de fazer isso?

benzen
fonte
O Avahi mDNS é muito bom para você. Veja a resposta sobre /etc/nsswitch.confcomo configurá-lo.
ulidtko

Respostas:

10

Seu /etc/nsswitch.conf já deve ter isso para mDNS (avahi):

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Basta instalar avahi-daemonnas máquinas com as quais você deseja conversar e deve estar configurado para usar HOSTNAME.local assim:

ssh yourmachine.local
Kees Cook
fonte
2
Esta é a resposta que eu gostaria de poder votar duas vezes.
ulidtko
2

Uma alternativa é adicionar uma entrada no seu /etc/hostsarquivo:

gksudo gedit /etc/hosts

Uma entrada assume o formulário 123.123.123.123 host.domainou apenas 123.123.123.123 host.

Se você fizer isso, agora pode, por exemplo, ssh hoste ele se conectará a123.123.123.123

Kenny Rasschaert
fonte
Desculpe, esqueci de mencionar que não quero fazê-lo por dois motivos. Primeiro, por razões de segurança, essas máquinas são um servidor. E eu acho que poderia ser um problema. Em segundo lugar, eu sei que meus hosts mudarão lá endereço ip em breve. E eu não quero atualizar esse conf toda vez. edit: uma terceira razão, eu uso dhcp, para que o gerenciador de rede gere uma nova com frequência. Mas eu sei que há um truque para deixar fazê-lo.
benzeno
1

Encontrei outra solução. Usando o arquivo, /etc/dhccp3/dhcient.conf existe uma linha iniciando assim: send host-name Isso pode ser modificado para enviar o nome do host 'server1'

Essa solução parece boa, mas não sei se todas as máquinas que usam o mesmo DNS verão meu nome de host "server1".

Outro lado ruim dessa solução, eu preciso especificar o nome do host aqui e no /etc/hosts

Eu apenas sei que este arquivo ( /etc/dhcp3/dhclient.conf) não é um script, então não posso usar uma variável de ambiente para preencher esta linha corretamente.

benzen
fonte
1

Você pode permitir que o DHCP dinâmico adicione a entrada no DNS, em vez de você mesmo.

Henrik
fonte
1
Mas eu não quero que eles sejam expor a toda a internet.Just para encontrá-los na minha localnetwork
benzeno
0

se estiver usando o avahi-daemon, pode ser necessário copiar o ssh.services para / etc / avahi / services. No meu,

sudo cp /usr/share/doc/avahi-daemon/examples/ssh.service /etc/avahi/services/

David Herrera
fonte