ローカルドメイン名(.home)を設定するにはどうすればいいですか?

ローカルドメイン名(.home)を設定するにはどうすればいいですか?

ローカル ネットワーク に、ホスト名がpc1との 2 台のコンピュータがあるとします。ルータには IP アドレスがあり、その指示によると にも到達可能であると書かれています。試してみたところ、その通りでした。pc210.0.0.0/2410.0.0.138modem.home

pc1からにssh 経由で接続しpc2、その IP ではなくホスト名を使用したいのですが、hostLinux のコマンドで の IP アドレスを使用すると、次の結果が表示されますpc2

host 10.0.0.53
Host 53.0.0.10.in-addr.arpa not found: 2(SERVFAIL)

これが何を意味するのか調べてみたところ、

さて、私の質問です。

  1. ドメインとは正確には何ですか.home? これは通常のものですか、それともルーターが設定するものですか?
  2. 他のデバイス(ローカル ネットワーク内)のホスト名を取得できるように、自分の(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/hostsC:\windows\system32\drivers\etc\hosts

Linux でファイルを使用できない場合は、編集してエントリが の最初にリストされていることを確認するhosts必要があることに注意してください。/etc/nsswitch.conffileshosts:

その他のオプション

ローカル DNS サーバー

ルーターに関するすべての詳細を知らなくても、.homeドメインを提供するローカル DNS サーバーをセットアップするだけで済むことは (理論的には) 可能です。

基本的には、次のことが必要になります。

  1. PC を DNS サーバーとして指定します。ネットワーク上のどの PC でもかまいませんが、DNS 解決のためには、常に利用可能な状態 (継続的にオンになっている状態) である必要があります。

  2. そのPCにDNSサーバーソフトウェアをインストールする(例:練るドメイン名など)

  3. DNS サーバー ソフトウェアを次のように構成します。

    • pc1.homeたとえば、適切な IP アドレス マッピングを使用して、個別のゾーン ファイルなどを介して認識しますpc2.home(おそらく最適なオプション)。

    または

    • ドメイン全体を解決し、適切な IP アドレス マッピングを使用して、そのゾーン ファイルに.home例を追加します(おそらく最適なオプションではありません)。pc1.homepc2.home

    • その他のすべてのリクエストを上流(ISP の DNS サーバーなど)に送信します。

  4. 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/

関連情報