ローカルネットワークを含むインターネット上で、マシンはIPアドレスによって相互に呼び出します。マシンBの名前を使用してマシンAからマシンBにアクセスするには、マシンAがIPアドレスにBの名前をマップする何らかの方法が必要です。Aでマシン名を宣言するには、次の3つの方法があります。
- hostsファイル。これは、名前をアドレスにマッピングする単純なテキストファイルです。
- ドメインネームシステム(DNS) 。これは、グローバルインターネットで使用される方法です。たとえば、ブラウザでこのページを読み込むとき、コンピュータが最初に行うことは、のアドレスを知るためにDNS要求を行うことです
unix.stackexchange.com
。
- NIS、LDAP、Active Directoryなどの他の名前データベース。これらは一部の企業ネットワークで使用されますが、あまり頻繁には使用されません(ユーザーデータベースにNIS、LDAP、またはADを使用する多くのネットワークは、マシン名にDNSを使用します)。ネットワークでこれらのいずれかを使用している場合、専門のネットワーク管理者がいて、彼に何をすべきかを尋ねるべきです。
これらが実際に機能する多くの方法があります。それらすべてをカバーすることは不可能です。この回答では、いくつかの一般的な状況について説明します。
ホストファイル
hostsファイル方式には、特別な方式を必要としないという利点があります。1台のマシンの名前が変更されたときにすべてのマシンを更新する必要があるため、複数のマシンがある場合は面倒です。BのIPアドレスが動的に割り当てられている場合は適切ではありません(したがって、ネットワークに接続するたびに異なるアドレスが取得されます)。
ホストファイルは、名前をIPアドレスにマッピングする単純な行のリストです。次のようになります。
127.0.0.1 localhost localhost.localdomain
198.51.100.42 darkstar darkstar.bands
UNIXシステムでは、hostsファイルは/etc/hosts
です。Windowsでは、それはですc:\windows\system32\drivers\etc\hosts
。インターネットに接続できるほとんどすべてのオペレーティングシステムには、同様のファイルがあります。ウィキペディアにはリストがあります。
AのhostsファイルにBのエントリを追加するには:
BのIPアドレスを決定します。Bでコマンドを実行しますifconfig
(コマンドが見つからない場合は、を試してください/sbin/ifconfig
)。出力には次のような行が含まれます。
eth1 Link encap:Ethernet HWaddr 01:23:45:67:89:ab
inet addr:10.3.1.42 Bcast:10.3.1.255 Mask:255.255.255.0
この例では、BのIPアドレスは10.3.1.42です。複数のinet addr:
行がある場合は、ネットワークカードに対応する行を選択しますlo
。エントリまたはトンネルまたは仮想エントリは選択しないでください。
- Aのhostsファイルを編集します。AがUNIXシステムを実行している場合は
/etc/hosts
、スーパーユーザーとして編集する必要があります。システム管理者(root)としてコマンドを実行する方法を参照してください。
ホームネットワークまたは小規模オフィスネットワーク上のDHCP + DNS
必要な機器がある場合、この方法ははるかに簡単です。1つのデバイスを設定するだけで、すべてのコンピューターは互いの名前を認識します。この方法は、コンピューターがDHCP経由でIPアドレスを取得することを前提としています。これは、コンピューターがネットワークに接続するときにIPアドレスを自動的に取得する方法です。DHCPが何であるかわからない場合は、おそらく知っています。
ネットワークにホームルーターがある場合、そのルーターに接続されているマシンの名前を構成するのに最適な場所です。まず、B のMACアドレスを把握する必要があります。各ネットワークデバイスには一意のMACアドレスがあります。Bでコマンドを実行しますifconfig -a
(コマンドが見つからない場合は、試してください/sbin/ifconfig -a
)。出力には次のような行が含まれます。
eth1 Link encap:Ethernet HWaddr 01:23:45:67:89:ab
この例では、MACアドレスは01:23:45:67:89:ab
です。ケーブル(またはwifi経由で接続している場合はwifiカード)を介してルーターに接続されているネットワークポートに対応するHWaddr行を選択する必要があります。複数のエントリがあり、どれがどれなのかわからない場合は、ケーブルを接続して、どのネットワークデバイスがIPアドレスを受信するかを確認してください(inet addr
すぐ下の行)。
次に、ルーターのWebインターフェイスで、「DHCP」などの設定を探します。設定の名前と場所は、ルーターモデルに完全に依存しますが、ほとんどの場合、基本的な設定の同様のセットがあります。Tomatoファームウェアでは次のようになります。
MACアドレス、IPアドレス、目的の名前を入力します。ローカルネットワークのアドレス範囲で任意のIPアドレスを選択できます。ほとんどのホームルーターは、192.168。の形式のアドレス範囲用に事前構成されています x。yまたは10. x。y。Z。たとえば、上記のトマトルーターの[ネットワーク]タブには、値10.3.0.1の[ルーターIPアドレス]設定と値255.255.255.0の[サブネットマスク]設定があります。ローカルネットワークには、10.3.0という形式のアドレスが必要です。Z。また、自動的に割り当てられたDHCPアドレス(10.3.0.129〜10.3.0.254)のアドレス範囲もあります。手動で割り当てられたDHCPアドレスについては、この範囲にないアドレスを選択してください。
Bをネットワークに接続すると、指定したIPアドレスが取得され、ネットワーク内の任意のマシンから指定された名前でアクセスできるようになります。
Dnsmasqを使用して独自のDNSサーバーを作成する
使用可能なホームルーターがない場合は、Linuxマシンで同じ機能をセットアップできます。Dnsmasqを使用してDNSをセットアップする方法を説明します。他にも多くの同様のプログラムがあります。Dnsmasqを選択した理由は、構成が簡単で軽量だからです(たとえば、上に示したTomatoルーターが使用しているものです)。Dnsmasqは、PC、サーバー、およびネットワーク機器用のほとんどのLinuxおよびBSDディストリビューションで利用可能です。
常にオンで、静的IPアドレスを持ち、何らかの種類のLinuxまたはBSDを実行しているコンピューターを選択します。それをS(サーバー用)と呼びましょう。Sで、dnsmasq
パッケージをインストールします(まだない場合)。以下では、構成ファイルが/etc/dnsmasq.conf
;であると仮定します。場所はディストリビューションによって異なる場合があります。今、あなたはいくつかのことをする必要があります。
DnsmasqをDHCPサーバーとして使用して、マシンが名前に対応するアドレスを自動的に取得できるようにすることもできます。これはこの答えの範囲外です。Dnsmasqのドキュメントを参照してください(難しくありません)。特定のローカルネットワーク上に存在できるDHCPサーバーは1つだけであることに注意してください(ローカルネットワークの正確な定義は、この回答の範囲外です)。
グローバルインターネット上の名前
これまでのところ、ローカルネットワークを想定しています。世界の別のコーナーにあるマシンに名前を付けたい場合はどうしますか?DHCPに関連する部分がローカルネットワーク内でのみ適用可能であることを除いて、上記の手法のいずれかを引き続き使用できます。または、マシンにパブリックIPアドレスがある場合、独自のパブリック名を登録できます。(プライベートIPアドレスをパブリック名に割り当てることもできます。一般的ではなく、あまり有用ではありませんが、技術的な問題はありません。)
独自のドメイン名を取得する
独自のドメイン名を取得し、このドメイン内のホスト名にIPアドレスを割り当てることができます。ドメイン名をドメイン名プロバイダーに登録する必要があります。これには通常、年間10〜15ドルかかります(最も安価なドメインの場合)。ドメイン名プロバイダーのWebインターフェースを使用して、ホスト名にアドレスを割り当てます。
ダイナミックDNS
マシンに動的IPアドレスがある場合、動的DNSプロトコルを使用して、アドレスが変更されたときにマシンの名前に関連付けられているIPアドレスを更新できます。すべてのドメイン名プロバイダーが動的DNSをサポートしているわけではないため、購入する前に買い物をしてください。個人使用の場合、No-IPは、独自のドメイン(例example.ddns.net
)を使用する場合、無料の動的DNSサービスを提供します。
ping
)、またはクライアントが相談するマシンで何かをする必要があります。クライアントのOSは何ですか?そのDNS構成は何ですか?