GNU/Linux >> Linux の 問題 >  >> Cent OS

RHEL 8 / CentOS8LinuxにDNSサーバーをインストールする方法

このガイドでは、キャッシュモードのみでRHEL 8 / CentOS 8にDNSサーバーをインストールして構成する方法、またはマスタースレーブ構成なしで単一のDNSサーバーとして構成する方法を示します。リバースゾーンとフォワードゾーンの例が提供されています。

このチュートリアルでは、次のことを学びます。

  • RHEL 8 /CentOS8にDNSサーバーをインストールする方法
  • サーバーをDNSサーバーのみをキャッシュするように構成する方法
  • サーバーを単一のDNSサーバーとして構成する方法

DNSサーバーを介してクエリを解決するクライアント。

使用されるソフトウェア要件と規則

システム ソフトウェア その他 規約
ソフトウェア要件とLinuxコマンドライン
規則
カテゴリ ネットワーキング
RHEL 8 / CentOS 8
バインド
rootまたはsudoを介したLinuxシステムへの特権アクセス コマンド。
–指定されたLinuxコマンドは、rootユーザーとして直接、またはsudoを使用して、root権限で実行する必要があります。 コマンド
$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります

前提条件

開始する前に、次のことを前提としています。

  • あなたまたはあなたの組織はすでにRedHatでアカウントを作成しています
  • RHEL 8 /CentOS8はすでにダウンロードおよびインストールされています
  • システムはサブスクリプションを通じてすでに登録されています
    マネージャー
  • すでにローカルまたはリモートリポジトリを設定しています

DNSサーバーのインストール

  1. バインドのインストール
    最も有名なオープンソースDNSサーバーであるパッケージBINDをdnfを介してインストールします。 現在yumになっているツール に基づいています。
    実行するコマンドは次のとおりです。

    #  dnf -y install bind*

    これらすべてのパッケージをインストールする必要があります:

    バインドパッケージのリスト

一般的なDNSサーバー構成

  1. ファイアウォールの構成
    DNSサービスを有効にする必要があります:

    # firewall-cmd --permanent --zone=public --add-service=dns

    構成をリロードします:

    # firewall-cmd --reload
  2. メイン構成ファイルのバックアップ
    メインバインド構成ファイルの初期バックアップコピーを作成することは常に良い習慣です。変更前にも。

    #  cp /etc/named.conf /etc/named.conf.org
    #  cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.org
    
    
  3. ネットワーク構成の確認
    DNSサーバーには静的IPアドレスが必要です。その場合を確認しましょう:

    $  cat /etc/sysconfig/network-scripts/ifcfg-enp0s3|egrep -i "boot|ipaddr|mask|gateway"

    たとえば、次の結果が得られます。

    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=10.0.0.63
    NETMASK=255.255.255.0
    GATEWAY=10.0.0.1
    

    もちろん、ネットワーク構成は異なる場合がありますが、IPアドレスは静的である必要があります。

  4. ドメイン名の選択
    完全修飾ドメイン名またはFQDNを設定するには

    #  hostnamectl set-host name dns-srv.vulcansys-local.com

    もちろん、別の名前を選択することもできます。ここでは、どの組織にも登録されていないように見えるドメイン名を発明しました。

  5. リゾルバーの構成
    resolv.confを構成します ファイル。最初の行は次のようにする必要があります:

    search vulcansys-local.com
    nameserver 10.0.0.63
    

    これは、サーバーとDNSをクエリするクライアントの両方にあります。もちろん、インターネットサイトやその他のドメインを解決するには、2番目のネームサーバーを追加する必要があります。

  6. NetworkManagerのDNS自動設定を無効にする
    NetworkManagerがresolv.confを変更することは望ましくありません ファイル。これを行うには、
    行を追加するだけです:dns=none ファイル/etc/NetworkManager/NetworkManager.conf 、サービスをリロードします:

    #  systemctl reload NetworkManager
  7. 起動時にバインドサービスを有効にする
    DNSサービスがシステムで開始されていることを確認する必要があります。

    #  systemctl enable named

DNSサーバーの種類

一度に1つだけ、以下のモードのいずれかで動作するようにDNSサーバーを構成することができます。

  • ルートサーバー
  • 単一サーバー
  • セカンダリサーバー
  • キャッシュ専用サーバー
  • 転送サーバー

この記事では、キャッシング専用サーバーと単一サーバーのセットアップ方法についてのみ説明します。

キャッシュ専用DNSサーバーはゾーンをホストせず、特定のドメインに対して権限がありません。サーバーが最初に起動されたとき、サーバーにはキャッシュされた情報がなく、クライアントの要求が満たされると、情報は時間の経過とともに取得されます。

プライマリまたは単一のDNSサーバーはドメインに対して権限がありますが、高可用性がないため、静的ファイル/etc/hosts

<中央>
これまでに構成したものは、どの「構成モード」を選択する場合でも一般的です。
  1. DNSサーバーのみをキャッシュする
    次の行がnamed.confで変更/構成されていることを確認します ファイル:

    listen-on port 53 { 127.0.0.1; 10.0.0.63; };
    #listen-on-v6 port 53 { ::1; };
    allow-query { 127.0.0.1; 10.0.0.0/24; };
    recursion yes;
    allow-recursion { 127.0.0.1; 10.0.0.0/24; };
    

    ここで簡単にするために、サーバーはIPv6アドレスをリッスンしません(したがって、相対行はコメント化されます)。構成に問題がないかどうかを確認するには、次のコマンドを実行します。

    #  named-checkconf

    すべてが正常である場合、出力は返されません。最後に、サービスに構成をリロードさせる必要があります:

    #  systemctl reload named
  2. 単一のDNSサーバー
    このタイプを選択した場合、選択したドメインの名前解決を担当する権限のあるDNSサーバーになります。ここでも、/etc/named.confを編集します :

    listen-on port 53 { localhost; 10.0.0.63; };
    #listen-on-v6 port 53 { ::1; };
    allow-query { 127.0.0.1; 10.0.0.0/24; };
    recursion no;

    このガイドでは、簡単にするために、IPv6アドレスでリッスンするようにバインドサービスを設定していません。

    オプションrecursion no DNSが特定のクエリに対する回答を提供するためにすべての仕事をするわけではないことを確認しますが、必要に応じてルートサーバーに委任し、他の権限のあるサーバーにそれらの不明な名前またはIPのタスクを委任します。言い換えると、権限のあるサーバーは再帰的であってはなりません

    その後、ゾーンファイルを指定する必要があります。ここでは、フォワードゾーンを構成します (名前からIPに解決するため)および逆引きゾーン (IPアドレスが指定された名前に解決するために)それぞれ特定のファイルで、ファイルnamed.rfc1912.zonesに次の行を追加します。 ファイル:

    zone "vulcansys-local.com" IN {
                   type master;
                   file "forward.zone";
                   allow-update { none; };
    };
    
    zone "63.0.0.10.in-addr.arpa" IN {
                   type master;
                   file "reverse.zone";
                   allow-update { none; };
    };

    オプションallow-update DNS動的更新を指します。つまり、ホスト内のアプリケーションがDNSレコードを追加できます。セキュリティ上の理由から、これはデフォルトで無効になっているため、システム管理者のみがレコードを手動で追加できます。

    次に、ファイルforward.zoneを作成する必要があります およびreverse.zone 。通常、ゾーンファイルは
    ディレクトリ/var/named内にあります directoryから推測できるように named.conf のオプション 構成ファイル。

    forward.zone ファイルには次のものが含まれます:

    $TTL     1D
    @        IN  SOA dns-srv.vulcansys-local.com. root.vulcansys-local.com. (
                          2019022400 ; serial
                          3h         ; refresh
                          15         ; retry
                          1w         ; expire
                          3h         ; minimum
                                                                                )
    
             IN  NS dns-srv.vulcansys-local.com.
    dns-srv  IN  A  10.0.0.63
    
    

    そして、reverse.zone ファイル:

    $TTL     1D
    @        IN  SOA dns-srv.vulcansys-local.com. root.vulcansys-local.com. (
                          2019022400 ; serial
                          3h         ; refresh
                          15         ; retry
                          1w         ; expire
                          3h         ; minimum
                                                                                )
    
             IN  NS dns-srv.vulcansys-local.com.
    63       IN  PTR  dns-srv.vulcansys-local.com

    上記の設定ファイルでSOA (Start Of Authority)は、ゾーン(ドメイン)のグローバルパラメーターを定義します。指定できるリソースレコードは1つだけです(完全修飾ドメイン名を持つSOAキーワードの行)。残り時間($ TTL)はデフォルトで1日(または86400秒)であり、この構成ファイルのエントリを変更する場合は、取得した情報をキャッシュする期間をDNSサーバーに指示するため、一時的に短縮する必要があります。最も重要なのは、これらの構成ファイル内の完全修飾ドメイン名をドットで終了することを忘れないことです。 。

    ここでroot.vulcansys-local.com は電子メールアドレスであり、2019022400 ゾーンファイルの変更を追跡するために実際に存在し、通常はYYYYmmddssの形式のシリアルフィールド 、ここでss は2桁の数字です。

    逆のファイルでは、最後の行を除いてすべてが同じように見えることに気付いたかもしれません。そこでPTRで指定します 10.0.0.63に解決される逆引き参照;最後の桁を入力するだけです63 これはホストを識別します(ネットマスクは255.255.255.0であるため) 。

    これで、正しい権限があることを確認します:

    #  chgrp named /var/named/reverse.zone
    #  chgrp named /var/named/forward.zone
    
    

    ゾーンファイルが正しく構成されていることを確認するには、次のコマンドを発行できます。

    #  named-checkzone vulcansys-local.com /var/named/forward.zone
    #  named-checkzone 10.0.0.63 /var/named/reverse.zone
    

    そして、全体的な構成を確認するには:

    #  named-checkconf -v

    すべて問題がなければ、サービスをリロードできます:

    #  systemctl reload named

クライアント構成

  1. ファイアウォールの構成
    サーバーで上記のようにファイアウォールを構成する必要があります。簡単にするために、クライアントもRHEL7または8であると想定しています。
  2. リゾルバーの設定
    最初のネームサーバーはサーバーのDNSである必要があります。また、ここでは、ネットワークマネージャーがresolv.confファイルを変更しないようにしてください。
  3. ホスト名の設定
    一貫性を保つために、ドメイン内のすべてのクライアントにFQDNホスト名が割り当てられます。

最後に、DNSサーバーに名前でpingを実行して、クライアントからDNS構成が機能していることを確認します。

DNSサーバーを介してクエリを解決するクライアント。

結論

DNSサーバーのセットアップは、真面目な管理者が少なくとも1回は実行する必要のあるタスクであり、RHEL8ではそれを実行する方法は難しくありません。


Cent OS
  1. CentOS 8 /RHEL8にPuppetをインストールする方法

  2. CentOS 7 /RHEL7にPuppet6.xをインストールする方法

  3. CentOS / RHEL 7 :GUI のインストール方法

  1. RHEL 8 / CentOS8Linuxにredmineをインストールする方法

  2. RHEL 8 /CentOS8にvncサーバーをインストールする方法

  3. RHEL 8 / CentOS8Linuxにアスタリスクをインストールする方法

  1. RHEL 8 / CentOS8Linuxにwiresharkをインストールする方法

  2. NextcloudをRHEL8/CentOS8サーバーにインストールする方法

  3. RHEL 8 /CentOS8サーバーにOwnCloudをインストールする方法