ローカル ネットワーク に、ホスト名がpc1
との 2 台のコンピュータがあるとします。ルータには IP アドレスがあり、その指示によると にも到達可能であると書かれています。試してみたところ、その通りでした。pc2
10.0.0.0/24
10.0.0.138
modem.home
pc1
からにssh 経由で接続しpc2
、その IP ではなくホスト名を使用したいのですが、host
Linux のコマンドで の IP アドレスを使用すると、次の結果が表示されますpc2
。
host 10.0.0.53
Host 53.0.0.10.in-addr.arpa not found: 2(SERVFAIL)
これが何を意味するのか調べてみたところ、
さて、私の質問です。
- ドメインとは正確には何ですか
.home
? これは通常のものですか、それともルーターが設定するものですか? - 他のデバイス(ローカル ネットワーク内)のホスト名を取得できるように、自分の(Linux)コンピューターをそのドメインに追加するにはどうすればよいですか?
答え1
.home ドメインとは何ですか? これは一般的なものですか、それともルーターが設定するものですか?
それはルータが設定するものです。
多くのルーターと同様に、内部で DNS キャッシュ/プロキシを実行し、すべての DHCP 応答で自身を DNS サーバーとしてアドバタイズします。ルーターの DNS プロキシは、*.home
クエリを ISP の DNS に転送するのではなく、ローカル構成から名前を提供するように構成されています。(独自のものを作成する予定の場合は、dnsmasq でこの機能を見つけることができます。)
modem.home
ルータには、常に独自の IP を返すように静的に定義された名前がありますが、他の*.home
サブドメインは通常、DHCP サーバーのリース データベースから読み取られます。
他のデバイス(ローカル ネットワーク内)のホスト名を取得できるように、自分の(Linux)コンピューターをそのドメインに追加するにはどうすればよいですか?
コンピュータがDHCPを使用し、DHCPクライアントがリクエストに「ホスト名」オプション(12)を常に入力していることを確認してください。たとえば、コンピュータがdhクライアント、send host-name = gethostname();
その構成に追加します。
答え2
ドメインとは正確には何ですか
.home
? これは通常のものですか、それともルーターが設定するものですか?
その間.ホームそして.home.arpa特定の用途のために定義されているため、.home
ドメインは現時点では定義されていないようです(私が知る限り)。とはいえ、.home.arpa の RFCノート:
ホーム ネットワーキング コントロール プロトコル (HNCP) は、「.home」ではなく「home.arpa.」ドメインを使用するように更新されました。
したがって、.home
このケースでは、使用を意図していた可能性があるようですHNCP自動検出、構成などに対応しているデバイス。ただし、これは単なる推測です。
他のデバイス(ローカル ネットワーク内)のホスト名を取得できるように、自分の(Linux)コンピューターをそのドメインに追加するにはどうすればよいですか?
ルーターの設定をチェックして、ローカル解決用にホスト名と IP を追加するオプションがあるかどうかを確認することをお勧めします。
hosts
それ以外の場合は、この質問の別の回答で詳しく説明されているように、最も簡単な方法は、各 PC 上のファイルを使用してホスト名と IP アドレスのマッピングを定義することです。
例hosts
(PC 1 → 10.0.0.10
)
10.0.0.20 pc2.home
例hosts
(PC 2 → 10.0.0.20
)
10.0.0.10 pc1.home
このファイルは通常、 Linux/MacOS およびWindows ではhosts
にあります。/etc/hosts
C:\windows\system32\drivers\etc\hosts
Linux でファイルを使用できない場合は、編集してエントリが の最初にリストされていることを確認するhosts
必要があることに注意してください。/etc/nsswitch.conf
files
hosts:
その他のオプション
ローカル DNS サーバー
ルーターに関するすべての詳細を知らなくても、.home
ドメインを提供するローカル DNS サーバーをセットアップするだけで済むことは (理論的には) 可能です。
基本的には、次のことが必要になります。
PC を DNS サーバーとして指定します。ネットワーク上のどの PC でもかまいませんが、DNS 解決のためには、常に利用可能な状態 (継続的にオンになっている状態) である必要があります。
DNS サーバー ソフトウェアを次のように構成します。
pc1.home
たとえば、適切な IP アドレス マッピングを使用して、個別のゾーン ファイルなどを介して認識しますpc2.home
(おそらく最適なオプション)。
または
ドメイン全体を解決し、適切な IP アドレス マッピングを使用して、そのゾーン ファイルに
.home
例を追加します(おそらく最適なオプションではありません)。pc1.home
pc2.home
その他のすべてのリクエストを上流(ISP の DNS サーバーなど)に送信します。
DNS 解決のために、ルーターを DNS サーバーに向けます (ルーターのドメイン ネーム サーバー (DNS) アドレス設定の下)。おそらく、ポート 53 と 953 も DNS サーバーに転送する必要があります。
.local ドメイン
ドメインに縛られていない場合は.home
、.local
通常はmDNS (ゼロコンフ) DNS. によるとマルチキャスト DNS (mDNS) に関する Wikipedia の記事:
コンピュータ ネットワークでは、マルチキャスト DNS (mDNS) プロトコルは、ローカル ネーム サーバーを含まない小規模ネットワーク内でホスト名を IP アドレスに解決します。これは、ユニキャスト ドメイン ネーム システム (DNS) と基本的に同じプログラミング インターフェイス、パケット形式、および動作セマンティクスを使用する、構成不要のサービスです。
mDNSは、さまざまなLinuxディストリビューションで利用できることが多い。アヴァヒ。
答え3
2 台のコンピューターの場合、ドメインは不要だと私は考えています。ローカル HOSTS ファイルに他のコンピューターの名前を設定します。各コンピューターに対してこの操作を行います。その後、名前でコンピューターをアドレス指定できます。
ローカルホストファイルはここにあります: https://www.makeuseof.com/tag/modify-manage-hosts-file-linux/