
できる限り多くの情報を提供できるよう最善を尽くします。私はまだ Linux の初心者ですが、現在 Ubuntu Server 18.04.4 でメディア サーバーを実行しており、静的 IP を設定しようとしています。
オンラインでたくさんのチュートリアルを見つけました。 というファイルを編集することで正常に動作させることができます50-cloud-init.yaml
。私が行った設定は次のとおりです。
network:
renderer: networkd
ethernets:
eno1:
dhcp4: no
addresses: [192.168.2.46/18]
gateway4: 192.168.2.1
nameservers:
addresses: [192.168.2.1,1.1.1.1]
dhcp4-overrides:
hostname: starlight01
send-hostname: yes
use-hostname: yes
version: 2
これで完全に正常に動作し、すべてを実行しsudo netplan apply
、 を実行して samba 共有を参照できます。\\192.168.2.46\
ただし、IP ではなくマシン名に依存するアプリケーションがいくつかあり、何らかの理由で、動的 IP の場合は と入力できます\\starlight01\
が、マシン/ホスト名を使用すると突然動作しなくなります。
また、すべてのマシンがマシン名経由でアクセスできなくなることも付け加えておきます。
静的 IP の場合は、IP で ping して応答を得ることができますが、マシン名で ping するとタイムアウトになります。一方、動的 IP で ping すると、どちらでも正常に動作します。
以下のことも試しました:
- ルーターと関連スイッチを再起動する
- サーバーの再起動
- Windows マシンでの DNS フラッシュ
- Windowsマシンを再起動する
dhcp4-overrides
当該ファイルのセクションを削除する
答え1
クライアント マシンは常に IP アドレスを使用してサーバーに接続します。マシン名を使用して接続するように要求すると、何らかのサービスを使用して内部的に名前を IP アドレスに変換します。名前から IP への変換サービスにはさまざまなものがあり、おそらく DNS (ドメイン ネーム システム) に依存しているでしょう。その他のオプションには、WINS、MDNS、LLMNR などがあります。クライアント マシンは、ネットワーク/WiFi ルーター (またはルーター/モデム コンボ ユニット) を DNS サーバーとして使用し、DHCP 要求からの情報を使用してローカルの名前から IP へのマッピング テーブルを作成し、クライアント マシンによって行われた DNS 要求の一部に応答します。
サーバーで DHCP を有効にすると、次のことが起こります。
- サーバーが独自の IP アドレスを取得する必要がある場合、DHCP サーバー (通常は WiFi ルーターまたはルーター + モデム) に DHCP 要求を送信します。
- DHCP 要求には、DHCP 要求を行うマシンの名前が含まれます。
- DHCP サーバーはマシンに IP を割り当て、IP/名前のペアを内部データベースに記録します。
- DHCP サーバーは、サーバーが使用できるように IP をサーバーに送り返します。
- 別のシステムが DNS プロトコルを使用してサーバー名に関連付けられた IP を要求するたびに、DNS サーバーはまず DHCP サーバーによって作成されたローカル データベースを参照し、一致するエントリがある場合はそこから回答を提供します (そうでない場合は、インターネット全体に対してクエリを続行します)。
静的 IP アドレスを使用すると、DHCP 要求は行われないため、DHCP/DNS サーバーは関連するエントリをローカルの名前/IP データベースに追加する機会を得ることができません。
コメントの 1 つで述べられているように、servername.local
の代わりに を名前として使用すればservername
、おそらく機能します (これは MDNS を使用します)。Linux と Mac クライアントはこれをサポートしていますが、このプロトコルをサポートするデフォルト以外のソフトウェア (例: Apple の Bonjour ソフトウェア スタック) をインストールしていない限り、Windows はサポートしていません。
質問に UNC パス (\ で始まるパス) が書かれているので、クライアント マシンは Windows で、サーバー上で Samba を実行しているものと想定します。この場合、Samba を WINS サーバーとして動作するように指示できます。WINS は、別の名前 -> IP マッピング プロトコルです。クライアント マシンは、少なくとも Windows/Samba ファイル共有プロトコルの場合、WINS サーバーを見つけて、自動的に名前検索のクエリを開始すると思います。そうでない場合は、次のいずれかを行う必要があります。 - ルーターで WINS サーバーを有効にし、Samba にそのサーバーに登録するように指示する。 - ルーターの DHCP サーバーを構成して、ファイル サーバーで実行されている WINS サーバーについてクライアントに通知する。