CentOS 7でプライマリDNSサーバーを適切に設定し、正常に動作しています。試した別のマシンにキャッシュ専用 DNS サーバーを構成したいのですが、それが機能するかどうかわかりません。
/etc/named.conf
キャッシュのみのサーバーからのものは次のとおりです:
options {
listen-on port 53 { 127.0.0.1; 192.168.1.1; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; 192.168.1.0/24; };
#allow-query-cache { localhost; 192.168.1.0/24; };
キャッシュ DNS サーバーで行った操作はこれだけです。named
サービスを開始し、起動時に開始するように設定しました。
クライアント マシンで、/etc/resolv.conf
ネーム サーバーをキャッシュ DNS サーバーの IP アドレスとして指定しました。
ここでの問題は、クライアントからホスト名を使用して任意のマシンに ping を実行すると、クライアント マシンが次のエラーを返すことです。
ping: primarydns.linux.com: Name or service not known
どなたか助けていただけませんか? キャッシュ サーバーでいつ間違ったことをしたのか、本当にわかりません。
答え1
質問に対するコメントでの議論から、実際の目標は、トレーニング目的でローカルで完全に分離された DNS 環境をセットアップすることであることが示唆されています。
このような隔離された環境内でパブリック インターネット上の DNS の動作を模倣するために必要な基本コンポーネントについて概説します。
権威ある側
- 独自のバージョンのルート (
.
) ゾーンに対して権限を持つネームサーバー。このルート ゾーンには、環境内で使用するすべての TLD の委任が必要です。 - 独自のバージョンの TLD (
com
この例では) に対して権限を持つネームサーバー。TLD ゾーンには、その下に存在するすべてのゾーンに対する委任が必要です。 - 独自のゾーンに対して権限を持つネームサーバー (
linux.com
この例では)。
これらのゾーンは技術的にはすべて同じネームサーバー上に存在できますが、そのように設定した場合、典型的な動作を観察することはできません。関連する動作を観察するには、例に対して 3 つの個別のネームサーバーを用意する必要があります。
再帰側
.
カスタムルート ( )がある 1 つのキャッシュ再帰ネームサーバーヒントゾーン(上記環境のルート サーバーとその IP のみを指定します)。
トレーニング環境で DNSSEC を使用している場合は、ルート ゾーンに使用されている KSK を使用して、ルート ( ) のトラスト アンカーを指定します.
。DNSSEC を使用していない場合は、DNSSEC 検証を無効にします。
これを実行すると、リカーサーは正常に動作し、パブリック インターネット上にある場合と同様に、トレーニング環境内に存在する任意のゾーンへの委任チェーンをたどることができるようになります。