Como posso fazer com que minhas máquinas de rede local chamem o servidor web local por URL?

Como posso fazer com que minhas máquinas de rede local chamem o servidor web local por URL?

Tenho quatro computadores conectados a um único switch - desconectado da internet.

Um dos computadores (o grande na imagem) é mais poderoso que os outros e está executando o Ubuntu, com três servidores web Node.js ativos com aplicativos diferentes em portas diferentes. Os outros computadores estão executando o Windows.

Quero que os outros três computadores acessem os servidores web chamando uma URL, por exemplo

  • arquivos.bugsteins --> 192.168.0.5:3000
  • chat.bugsteins --> 192.168.0.5:3001
  • dispositivos.bugsteins --> 192.168.0.5:3002

Qual é a melhor maneira (prioridade ao tempo de configuração mais rápido) de conseguir isso?

Até agora eu tentei o Bind9 na máquina servidor e atribuí IPs estáticos e DNS codificado manualmente nas três máquinas clientes, mas não está funcionando e enquanto trabalho nisso, acho que postarei esta pergunta caso alguém tenha uma maneira melhor.

Arquitetura de rede

Responder1

Qual é a melhor maneira (prioridade ao tempo de configuração mais rápido) de conseguir isso?

Não LIGAR.

Edite o c:\windows\system32\drivers\etc\hostsarquivo em cada área de trabalho e aponte esses nomes para 192.168.0.5.

192.168.0.5 files.bugsteins 
192.168.0.5 chat.bugsteins
192.168.0.5 devices.bugsteins

Adicione um ouvinte da web na porta 80 do servidor, de alguma forma com a configuração do Node.js ou uma instalação básica do servidor da web (Lighttpd, NginX, Apache ou muitos outros) servindo uma página estática com um JavaScript que analisa o URL e redireciona a página para a porta apropriada.

Pegando dehttps://stackoverflow.com/questions/18022636/redirection-based-on-url-javascriptalgo assim (não testado):

<html>
<head><title>Redirect page</title></head>
<body>
<script type="text/javascript">

if (window.location.href== "http://files.bugsteins") {
   window.location.href = 'http://files.bugsteins:3000'; 
}

if (window.location.href== "http://chat.bugsteins") {
   window.location.href = 'http://chat.bugsteins:3001'; 
}

if (window.location.href== "http://devices.bugsteins") {
   window.location.href = 'http://devices.bugsteins:3002'; 
}

</script>
</body>
</html>

Responder2

O mais rápido será instalar o pacote dnsmasq dependendo de suas distribuições Linux (Arch/CentOS/RHEL/Ubuntu). Mantenha todas as entradas em /etc/hosts no seu servidor DNS (que está usando dnsmasq). Aponte todas as suas estações de trabalho/hosts Linux para aqui.

Além disso, certifique-se de definir encaminhadores para servidores DNS externos da Internet para solicitações não locais.

Para ambientes pequenos, digamos <100 máquinas, este é um servidor DNS suficientemente bom e minimalista.

Responder3

Normalmente, isso seria tratado com um servidor DNS interno. Se você não tiver um em execução, basta adicionar entradas ao arquivo host local em cada um dos três computadores clientes.

informação relacionada