1 つのスイッチに 4 台のコンピューターが接続されていますが、インターネットには接続されていません。
コンピューターの 1 台 (写真の大きい方) は他のコンピューターよりも高性能で、Ubuntu を実行しています。また、異なるポートに異なるアプリを備えた 3 つのライブ Node.js Web サーバーが稼働しています。その他のコンピューターは Windows を実行しています。
他の3台のコンピュータがURLを呼び出してWebサーバーにアクセスできるようにしたい。たとえば、
- ファイル.bugsteins --> 192.168.0.5:3000
- チャットバグシュタイン --> 192.168.0.5:3001
- デバイス.bugsteins --> 192.168.0.5:3002
これを実現するための最善の方法(セットアップ時間が最速のものから優先)は何ですか?
これまで、サーバー マシンで Bind9 を試し、3 台のクライアント マシンに静的 IP と手動でハードコードされた DNS を割り当てましたが、機能しませんでした。作業を進めるうちに、誰かがもっと良い方法を持っている場合に備えて、この質問を投稿しようと思いました。
答え1
これを実現するための最善の方法(セットアップ時間が最速のものから優先)は何ですか?
BINDではありません。
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
何らかの方法で Node.js セットアップを使用するか、基本的な Web サーバー インストール (Lighttpd、NginX、Apache、その他多数) を使用して、URL を調べてページを適切なポートにリダイレクトする JavaScript を含む静的ページを提供するサーバーのポート 80 に Web リスナーを追加します。
から取るhttps://stackoverflow.com/questions/18022636/リダイレクトベースの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
最も早いのは、Linux ディストリビューション (Arch/CentOS/RHEL/Ubuntu) に応じて dnsmasq パッケージをインストールすることです。DNS サーバー (dnsmasq を使用) の /etc/hosts 内のすべてのエントリを保持します。すべてのワークステーション/Linux ホストをここに設定します。
また、ローカル以外のリクエストの場合は、フォワーダーを外部のインターネット DNS サーバーに設定してください。
100 台未満のマシンなどの小規模な環境では、これは十分で最小限の DNS サーバーです。
答え3
通常、これは内部 DNS サーバーで処理されます。内部 DNS サーバーを実行していない場合は、3 台のクライアント コンピューターのそれぞれのローカル ホスト ファイルにエントリを追加するだけで済みます。