Ich habe vier Computer an einen einzigen Switch angeschlossen – ohne Verbindung zum Internet.
Einer der Computer (der große auf dem Bild) ist leistungsstärker als die anderen und läuft mit Ubuntu sowie drei aktiven Node.js-Webservern mit unterschiedlichen Apps auf unterschiedlichen Ports. Auf den anderen Computern läuft Windows.
Ich möchte, dass die anderen drei Computer auf die Webserver zugreifen, indem sie beispielsweise eine URL aufrufen,
- Dateien.bugsteins --> 192.168.0.5:3000
- chat.bugsteins --> 192.168.0.5:3001
- Geräte.bugsteins --> 192.168.0.5:3002
Was ist der beste Weg (Priorität: schnellste Einrichtungszeit) dies zu erreichen?
Bisher habe ich Bind9 auf dem Servercomputer ausprobiert und den drei Clientcomputern statische IPs und manuell fest codierte DNS zugewiesen, aber es funktioniert nicht. Während ich daran arbeite, werde ich diese Frage posten, für den Fall, dass jemand eine bessere Methode hat.
Antwort1
Was ist der beste Weg (Priorität: schnellste Einrichtungszeit) dies zu erreichen?
Nicht BINDEN.
Bearbeiten Sie die c:\windows\system32\drivers\etc\hosts
Datei auf jedem Desktop und richten Sie diese Namen auf 192.168.0.5 aus.
192.168.0.5 files.bugsteins
192.168.0.5 chat.bugsteins
192.168.0.5 devices.bugsteins
Fügen Sie auf dem Server einen Weblistener auf Port 80 hinzu, etwa mit Ihrem Node.js-Setup oder einer grundlegenden Webserverinstallation (Lighttpd, NginX, Apache oder viele andere), der eine statische Seite mit einem JavaScript bereitstellt, das die URL prüft und die Seite auf den entsprechenden Port umleitet.
Nehmen vonhttps://stackoverflow.com/questions/18022636/redirection-based-on-url-javascriptsowas in der Art (ungetestet):
<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>
Antwort2
Am schnellsten geht es, wenn Sie das dnsmasq-Paket installieren, abhängig von Ihren Linux-Distributionen (Arch/CentOS/RHEL/Ubuntu). Behalten Sie alle Einträge in /etc/hosts auf Ihrem DNS-Server (der dnsmasq verwendet). Richten Sie alle Ihre Workstations/Linux-Hosts hierher aus.
Stellen Sie außerdem sicher, dass Sie für nicht lokale Anfragen Weiterleitungen zu externen Internet-DNS-Servern einrichten.
Für kleine Umgebungen mit beispielsweise <100 Maschinen ist dies ein ausreichend guter und minimalistischer DNS-Server.
Antwort3
Normalerweise wird dies über einen internen DNS-Server erledigt. Wenn Sie keinen betreiben, können Sie einfach Einträge zur lokalen Hostdatei auf jedem der 3 Clientcomputer hinzufügen.