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

CentOS8でBINDを使用してプライベートDNSサーバーを設定する方法

BINDは、「バークレーインターネットネームドメイン」としても知られ、今日最も人気のあるドメインネームシステム(DNS)の1つです。これはオープンソースであり、LinuxオペレーティングシステムでDNSサービスを提供します。一般に、完全修飾ドメイン名をIPアドレスに解決するか、IPアドレスをドメイン名に解決するのに役立ちます。信頼できるネームサーバーとして使用でき、負荷分散、動的更新、分割DNSなどのいくつかの機能を提供します。

このチュートリアルでは、CentOS 8でBINDを使用してプライベートDNSサーバーをセットアップする方法を示します。関連するメモとして、Debian 9での単純なDNS(BIND)サーバーのインストールと構成に関するチュートリアルをご覧ください。

前提条件
  • CentOS 8 VPS(SSD 2 VPSプランを使用します)
  • rootユーザーアカウントへのアクセス(またはroot権限を持つ管理者アカウントへのアクセス)

このチュートリアルでは、次の設定を使用します。

ホスト名: ns1.rosehosting.local
IPアドレス: 192.168.1.100
ローカルネットワーク: 192.168.1.0/24

ステップ1:サーバーにログインしてサーバーOSパッケージを更新する

まず、rootユーザーとしてSSH経由でCentOS8サーバーにログインします。

ssh root@IP_Address -p Port_number

「IP_Address」と「Port_number」をサーバーのそれぞれのIPアドレスとSSHポート番号に置き換える必要があります。さらに、必要に応じて「root」を管理者アカウントのユーザー名に置き換えます。

開始する前に、サーバーにインストールされているすべてのCentOSパッケージが最新であることを確認する必要があります。これを行うには、次のコマンドを実行します。

dnf update -y

ステップ2:BINDDNSサーバーをインストールする

デフォルトでは、バインドパッケージはCentOS8標準リポジトリで利用できます。次のコマンドを実行してインストールできます:

dnf install bind bind-utils -y

BINDがインストールされたら、BINDサービスを開始し、システムの再起動時に開始できるようにします。

systemctl start named
systemctl enable named

ステップ3:BINDDNSサーバーを構成する

デフォルトでは、BINDサーバーはローカルホストでのみリッスンしています。したがって、すべてのネットワークインターフェイスでリッスンするように構成する必要があります。ファイル/etc/named.confを編集して構成できます:

nano /etc/named.conf

次の行をコメントアウトします:

//listen-on port 53 { 127.0.0.1; };
//listen-on-v6 port 53 { ::1; };

次の行を変更して、ローカルネットワークのクエリを許可します。

allow-query     { localhost;192.168.1.0/24; };

終了したら、ファイルを保存して閉じます。

ステップ4:順方向および逆引きDNSゾーンを作成する

フォワードゾーンはホスト名をIPアドレスに解決するために使用され、リバースゾーンはIPアドレスをホスト名に解決するために使用されます。通常、通常のDNSクエリはすべて前方参照クエリです。 /etc/named.confファイルで順方向および逆引きのルックアップゾーンを定義できます。

次のコマンドを使用して、/ etc/named.confファイルを編集します。

nano /etc/named.conf

ファイルの最後に次の行を追加します

//Forward Zone
zone "rosehosting.local" IN { 

           type master;  
           file "rosehosting.local.db"; 
           allow-update { none; };  

};

//Reverse Zone
zone "1.168.192.in-addr.arpa" IN { 

             type master;  
             file "192.168.1.db";             
             allow-update { none; };

};

終了したら、ファイルを保存して閉じます。

ステップ5:順方向および逆方向のゾーンファイルを作成する

次に、前の手順で定義した順方向および逆方向のゾーンファイルを作成する必要があります。デフォルトでは、すべてのゾーンルックアップファイルは/ var/namedディレクトリ内にあります。

まず、次のコマンドを使用してフォワードゾーンファイルを作成します。

nano /var/named/rosehosting.local.db

次の行を追加します:

$TTL 86400
@   IN  SOA     ns1.rosehosting.local. root.rosehosting.local. (
                                              3           ;Serial
                                              3600        ;Refresh
                                              1800        ;Retry
                                              604800      ;Expire
                                              86400       ;Minimum TTL
)

;Name Server Information
@       IN  NS      ns1.rosehosting.local.

;IP address of Name Server
ns1       IN  A       192.168.1.100

;A - Record HostName To Ip Address
www     IN  A       192.168.1.101

;CNAME record
ftp     IN CNAME        www.rosehosting.local.

ファイルを保存して閉じてから、次のコマンドを使用してリバースゾーンファイルを作成します。

nano /var/named/192.168.1.db

次の行を追加します:

$TTL 86400
@   IN  SOA     ns1.rosehosting.local. root.rosehosting.local. (
                                       3           ;Serial
                                       3600        ;Refresh
                                       1800        ;Retry
                                       604800      ;Expire
                                       86400       ;Minimum TTL
)

;Name Server Information
@         IN      NS         ns1.rosehosting.local.

;Reverse lookup for Name Server
100       IN  PTR     ns1.rosehosting.local.

;PTR Record IP address to HostName
101      IN  PTR     www.rosehosting.local.

終了したら、ファイルを保存して閉じます。

ステップ6:DNS構成を確認する

すべてのゾーンファイルを構成した後、構成ファイルを確認する必要があります。

まず、次のコマンドを使用してメイン構成ファイルを検証します。

named-checkconf /etc/named.conf

すべてが正常であれば、エラーは表示されません。

次に、次のコマンドを使用して転送ゾーンファイルを確認します。

named-checkzone rosehosting.local /var/named/rosehosting.local.db

次の出力が得られるはずです:

zone rosehosting.local/IN: loaded serial 3
OK

次に、次のコマンドを使用してリバースゾーンファイルを確認します。

named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.db

Yuは次の出力を取得するはずです:

zone 1.168.192.in-addr.arpa/IN: loaded serial 3
OK

最後に、BINDサービスを再起動して、変更を適用します。

systemctl restart named

ステップ7:ファイアウォールを構成する

次に、クライアントマシンからのDNSクエリを許可するために、ポート53のファイアウォールルールを作成する必要があります。次のコマンドで作成できます:

firewall-cmd --permanent --add-port=53/udp

次に、ファイアウォールサービスをリロードして、変更を適用します。

firewall-cmd --reload

ステップ8:DNSサーバーを確認する

この時点で、BINDDNSサーバーがインストールおよび構成されています。動作しているかどうかを確認するときが来ました。

まず、/ etc / resolv.confファイルを編集して、DNSサーバーのIPを追加します。

nano /etc/resolv.conf

ファイルの先頭に次の行を追加します。

nameserver 192.168.1.100

ファイルを保存して閉じ、digコマンドを使用して前方参照を確認します。

dig www.rosehosting.local 

または

dig ns1.rosehosting.local

すべてが正常であれば、次の応答が返されます。

; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> www.rosehosting.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52518
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: cd9d365f1f02621aa9c8753c5fd47154db8cae737b9ca09f (good)
;; QUESTION SECTION:
;www.rosehosting.local.        IN  A

;; ANSWER SECTION:
www.rosehosting.local.    86400   IN  A   192.168.1.101

;; AUTHORITY SECTION:
rosehosting.local.    86400   IN  NS  ns1.rosehosting.local.

;; ADDITIONAL SECTION:
ns1.rosehosting.local.    86400   IN  A   192.168.1.100

;; Query time: 0 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Sat Dec 12 02:29:24 EST 2020
;; MSG SIZE  rcvd: 128

次に、次のコマンドを使用して逆引き参照を確認します。

dig -x 192.168.1.100

次の応答が返されます:

; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> -x 192.168.1.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30878
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 18a66bab478cf57219e6c17c5fd471671887a1dd983fef57 (good)
;; QUESTION SECTION:
;100.1.168.192.in-addr.arpa.    IN  PTR

;; ANSWER SECTION:
100.1.168.192.in-addr.arpa. 86400 IN    PTR ns1.rosehosting.local.

;; AUTHORITY SECTION:
1.168.192.in-addr.arpa.    86400   IN  NS  ns1.rosehosting.local.

;; ADDITIONAL SECTION:
ns1.rosehosting.local.    86400   IN  A   192.168.1.100

;; Query time: 0 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Sat Dec 12 02:29:43 EST 2020
;; MSG SIZE  rcvd: 148

おめでとう! CentOS8でBINDを使用してプライベートDNSサーバーを正常にセットアップしました。

もちろん、Linux VPSホスティングサービスのいずれかを使用している場合は、これを行う必要はありません。その場合は、専門のLinux管理者にセットアップを依頼するだけです。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。

PS 。この投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。


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

  2. chrootを使用してCentOS5/RHEL5でDNSを構成する

  3. CentOS7でタイムゾーンを設定する方法

  1. CentOS 8でDHCPサーバーをセットアップする-その方法は?

  2. CentOS7でPostfixAdminを使用してメールサーバーを設定する方法

  3. CentOS8でVSFTPDを設定する方法

  1. CentOS7でFirewallDを使用してファイアウォールを設定する方法

  2. CentOS7でNginxサーバーブロックを設定する方法

  3. CentOS7でVSFTPDを使用してFTPサーバーをセットアップする方法