我有四台電腦連接到一個交換器 - 未連接到互聯網。
其中一台電腦(圖中較大的一台)比其他電腦更強大,並且運行 Ubuntu,具有三個即時 Node.js Web 伺服器,在不同連接埠上運行不同的應用程式。其他電腦運行的是 Windows。
例如,我希望其他三台電腦透過呼叫 URL 來存取 Web 伺服器
- 文件.bugsteins --> 192.168.0.5:3000
- 聊天.bugsteins --> 192.168.0.5:3001
- 設備.bugsteins --> 192.168.0.5:3002
實現此目標的最佳(優先於最快設定時間)方法是什麼?
到目前為止,我已經在伺服器電腦上嘗試了Bind9,並在三台客戶端電腦上分配靜態IP 和手動硬編碼DNS,但它不起作用,當我處理它時,我想我會發布這個問題,以防有人有更好的方法。
答案1
實現此目的的最佳(優先於最快設定時間)方法是什麼?
不綁定。
編輯c:\windows\system32\drivers\etc\hosts
每個桌面上的檔案並將這些名稱指向 192.168.0.5。
192.168.0.5 files.bugsteins
192.168.0.5 chat.bugsteins
192.168.0.5 devices.bugsteins
在伺服器上的連接埠80 上新增一個Web 偵聽器,以某種方式使用Node.js 設定或基本的Web 伺服器安裝(Lighttpd、NginX、Apache 或其他堆)來提供包含JavaScript 的靜態頁面,該頁面會查看URL並將頁面重新導向到適當的連接埠。
取自https://stackoverflow.com/questions/18022636/redirection-based-on-url-javascript像這樣的東西(未經測試):
<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>
答案2
最快的方法是安裝 dnsmasq 軟體包,具體取決於您的 Linux 發行版(Arch/CentOS/RHEL/Ubuntu)。將所有項目保留在 DNS 伺服器(使用 dnsmasq)的 /etc/hosts 中。將所有工作站/Linux 主機指向此處。
另外,請確保將轉發器設定為外部 Internet DNS 伺服器以處理非本機請求。
對於小型環境(例如 <100 台電腦),這已經足夠好且簡約的 DNS 伺服器。
答案3
通常這將由內部 DNS 伺服器處理。如果您沒有執行,則只需將條目新增至 3 台用戶端電腦中每台電腦上的本機主機檔案即可。