GNU/Linux >> Linux の 問題 >  >> Linux

DNSサーバーを作成する

この記事では、次のタスクを実行する方法について説明します。

  • キャッシングDNSサーバーを作成します。
  • 転送DNSサーバーを作成します。
  • BindDNSサーバーをキャッシュまたは転送DNSサーバーとしてインストールおよび構成します。
キャッシュDNSサーバーを作成する

このタイプのサーバーは、リゾルバーとも呼ばれます。 再帰クエリを処理し、他のサーバーからDNSデータを追跡するという面倒な作業を処理できるためです。

1。ソフトウェアをインストールする

Bind DNSサーバーを実装する最初のステップは、実際のソフトウェアをインストールすることです。

sudo apt-get update
sudo apt-get install bind9 bind9utils bind9-doc

2。キャッシングDNSサーバーを構成する

キャッシングDNSサーバーの場合は、 named.conf.optionsのみを変更します。 ファイル。

次のコマンドを実行して、sudoを使用してテキストエディタでこのファイルを開きます。 特権:

sudo nano named.conf.options

ファイルは次の例のようになります。

options {
        directory "/var/cache/bind";

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

3。信頼できるIPアドレスまたはネットワーク範囲のリストを構成する

オプションの上 ファイル内のブロックで、 aclという新しいブロックを作成します 。構成しているACLグループのラベルを作成します。次の例では、ACLグループを Rackspaceと呼びます。 :

acl rackspace {
};

options {
    . . .

次に、 acl内でこのDNSサーバーの使用を許可されているすべてのIPアドレスとネットワークを一覧表示します ブロック。

acl rackspace {
    192.0.2.0/24;
    localhost;
    localnets;
};

options {
    . . .

最後に、オプションで機能を構成します ブロック。このブロック内に、次の行を追加します。

options {
    directory "/var/cache/bind";

    recursion yes;
    allow-query { rackspace; };
    . . .

これらの変更が完了したら、ファイルを保存して閉じます。

これで、キャッシングDNSサーバーが作成されました。これが使用するサーバータイプである場合は、先にスキップして構成ファイルを確認し、サービスを再起動してください。

転送サーバーを作成する

DNSサーバーを転送するには、次の手順を使用します。

1。転送DNSサーバーを構成する

転送サーバーの場合は、前のセクションのキャッシュサーバーの構成から始めます。 named.conf.options ファイルは次の例のようになります。

acl rackspace {
        192.0.2.0/24;
        localhost;
        localnets;
};

options {
        directory "/var/cache/bind";

        recursion yes;
        allow-query { rackspace; };

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

注: 転送サーバーは、権限のないゾーンのクエリに応答することで再帰サービスを提供しているため、リクエストの転送先となるキャッシュサーバーのリストを設定する必要があります。ACLを使用して、DNSサーバーを特定のクライアントリストに制限します。

2。フォワーダーを構成する

フォワーダーというブロックを作成します 、オプション内 ブロック。リクエストの転送先となる再帰名サーバーのIPアドレスを追加します。次の例では、Googlepublic DNSサーバー(8.8.8.8)を使用しています および8.8.4.4 ):

. . .
options {
        directory "/var/cache/bind";

        recursion yes;
        allow-query { rackspace; };

        forwarders {
                8.8.8.8;
                8.8.4.4;
        };
        . . .

次に、フォワードを設定します onlyへのディレクティブ このサーバーはすべてのリクエストを転送する必要があり、独自にリクエストを解決しようとしてはならないためです。

acl rackspace {
        192.0.2.0/24;
        localhost;
        localnets;
};

options {
        directory "/var/cache/bind";

        recursion yes;
        allow-query { rackspace; };

        forwarders {
                8.8.8.8;
                8.8.4.4;
        };
        forward only;

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

dnssec-validationを変更します およびdnssec-enable yesへの設定 :

. . .
forward only;

dnssec-enable yes;
dnssec-validation yes;

auth-nxdomain no;    # conform to RFC1035
. . .

これで、転送DNSサーバーが配置されました。ファイルを保存して閉じます。

構成ファイルを確認し、サービスを再起動します

次の手順を使用して、構成ファイルを確認し、サービスを再起動します。

1。構成ファイルを確認してください

バインドツールを使用して、構成ファイルの構文を確認します。

sudo named-checkconf

レビュープロセスで構文エラーが検出されない場合、出力は表示されません。

構成ファイルに構文エラーがある場合、出力にはエラーと行番号が表示されます。ファイルを編集してエラーを修正します。

終了したら、ファイルを保存して閉じます。構文を再確認してください。

2。サービスを再開します

次のコマンドを使用して、バインドデーモンを再起動し、変更を実装します。

sudo service bind9 restart
結論

これで、クライアントにサービスを提供するようにキャッシュまたは転送DNSサーバーを構成する必要があります。これは、管理しているマシンのDNSクエリを高速化するための優れた方法です。

コメントや質問をするには、[フィードバック]タブを使用します。また、私たちと会話を始めることができます。


Linux
  1. RHEL7LinuxでのアンバウンドキャッシュのみのDNSサーバーのセットアップ

  2. バックアップを作成する方法

  3. OnMetalクラウドサーバーを作成する

  1. Nginx仮想ホスト(サーバーブロック)を作成する方法

  2. Centos 7 :DNS サーバーの構成

  3. DNS サーバーの応答タイムアウトをシミュレートする方法は?

  1. 基本的なUbuntuFTPサーバー?

  2. 汎用v1クラウドサーバーのイメージを作成します

  3. スケジューラーヒントを使用してサーバーを作成する