¿Cómo puedo hacer que las máquinas de mi red local llamen al servidor web local mediante URL?

¿Cómo puedo hacer que las máquinas de mi red local llamen al servidor web local mediante URL?

Tengo cuatro computadoras conectadas a un solo conmutador, desconectadas de Internet.

Una de las computadoras (la grande en la imagen) es más poderosa que las otras y ejecuta Ubuntu, con tres servidores web Node.js activos con diferentes aplicaciones en diferentes puertos. Las otras computadoras ejecutan Windows.

Quiero que las otras tres computadoras accedan a los servidores web llamando a una URL, por ejemplo

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

¿Cuál es la mejor forma (prioridad al tiempo de configuración más rápido) de lograr esto?

Hasta ahora he probado Bind9 en la máquina servidor y he asignado IP estáticas y DNS codificados manualmente en las tres máquinas cliente, pero no funciona y mientras trabajo en ello, creo que publicaré esta pregunta en caso de que alguien tenga una mejor manera.

Red de arquitectura

Respuesta1

¿Cuál es la mejor forma (prioridad al tiempo de configuración más rápido) de lograr esto?

No VINCULADO.

Edite el c:\windows\system32\drivers\etc\hostsarchivo en cada escritorio y apunte esos nombres a 192.168.0.5.

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

Agregue un detector web en el puerto 80 del servidor, de alguna manera con su configuración de Node.js, o una instalación básica de servidor web (Lighttpd, NginX, Apache o muchos otros) que proporcione una página estática con JavaScript que mira la URL y redirige la página al puerto apropiado.

Tomando dehttps://stackoverflow.com/questions/18022636/redirection-based-on-url-javascriptalgo como esto (no probado):

<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>

Respuesta2

Lo más rápido será instalar el paquete dnsmasq dependiendo de sus distribuciones de Linux (Arch/CentOS/RHEL/Ubuntu). Mantenga todas las entradas en /etc/hosts en su servidor DNS (que usa dnsmasq). Apunte aquí todas sus estaciones de trabajo/hosts Linux.

Además, asegúrese de configurar reenviadores en un servidor DNS de Internet externo para solicitudes no locales.

Para entornos pequeños, digamos <100 máquinas, este es un servidor DNS suficientemente bueno y minimalista.

Respuesta3

Normalmente esto se manejaría con un servidor DNS interno. Si no tiene uno en ejecución, puede simplemente agregar entradas al archivo del host local en cada una de las 3 computadoras cliente.

información relacionada