基本的な再帰キャッシングDNSサーバーをセットアップし、ドメインのゾーンを構成します


日常的に使用しているすべてのWebサイトのIPアドレスを覚えておく必要があるとしたらどうなるか想像してみてください。たとえ私たちが途方もない記憶を持っていたとしても、ウェブサイトを閲覧するプロセスは途方もなく遅く、時間がかかります。

また、複数のWebサイトにアクセスしたり、同じマシンまたは仮想ホストに存在する複数のアプリケーションを使用したりする必要がある場合はどうでしょうか。これは、私が考えることができる最悪の頭痛の種の1つです。もちろん、Webサイトまたはアプリケーションに関連付けられたIPアドレスが事前の通知なしに変更される可能性もあります。

それを考えただけで、しばらくしてインターネットや内部ネットワークの使用をやめるのに十分な理由になります。

それはまさに、ドメインネームシステム(DNSとも呼ばれます)のない世界がどうなるかということです。幸い、このサービスは、IPアドレスと名前の関係が変わった場合でも、上記のすべての問題を解決します。

そのため、この記事では、ドメイン名をIPアドレスに、またはその逆に変換できるサービスである、単純なDNSサーバーを構成して使用する方法を学習します。

DNS名解決の紹介

頻繁に変更されることのない小規模なネットワークの場合、/ etc/hostsファイルは、ドメイン名からIPアドレスへの解決の基本的な方法として使用できます。

非常に単純な構文で、このファイルを使用すると、次のように名前(および/またはエイリアス)をIPアドレスに関連付けることができます。

[IP address] [name] [alias(es)]

例えば、

192.168.0.1 gateway gateway.mydomain.com
192.168.0.2 web web.mydomain.com

したがって、名前、web.mydomain.comエイリアス、またはIPアドレスのいずれかでWebマシンにアクセスできます。

大規模なネットワーク、または頻繁に変更される可能性のあるネットワークの場合、/ etc/hostsファイルを使用してドメイン名をIPアドレスに解決することは、受け入れられる解決策ではありません。そこで、専用サービスが必要になります。

内部的には、DNSサーバーは、ルート(“。”)ゾーンから始まるツリー形式の大規模なデータベースにクエリを実行します。

次の画像は、説明に役立ちます。

上の画像では、ルート(。)ゾーンにcom、edu、およびnetドメインが含まれています。これらの各ドメインは、大きな中央ドメインに依存しないように、さまざまな組織によって管理されています(または管理できます)。これにより、リクエストを階層的に適切に分散できます。

内部で何が起こるか見てみましょう:

1.クライアントがweb1.sales.me.comのDNSサーバーにクエリを実行すると、サーバーはそのクエリを最上位(ルート)のDNSサーバーに送信し、 .comのネームサーバーをポイントします。 ゾーン。

これにより、クエリが次のレベルのネームサーバー( me.com ゾーン内)に送信され、次に sales.me.com に送信されます。このプロセスは、FQDN(完全修飾ドメイン名、この例ではweb1.sales.me.com)が、それが属するゾーンのネームサーバーから返されるまで、必要な回数繰り返されます。

2.この例では、 sales.me.com。のネームサーバーがアドレス web1.sales.me.com に応答し、目的のドメイン名とIPの関連付けを返します。およびその他の情報(そうするように構成されている場合)。

このすべての情報は元のDNSサーバーに送信され、DNSサーバーは最初にそれを要求したクライアントに情報を返します。今後の同一のクエリで同じ手順を繰り返さないようにするために、クエリの結果はDNSサーバーに保存されます。

これらが、この種のセットアップが一般に再帰的なキャッシュDNSサーバーとして知られている理由です。