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