Centos7 での DNS サーバーの構築の概要

Centos7 での DNS サーバーの構築の概要

1. プロジェクト環境:

ホスト役割IPアドレス関数
ケビンDNS サーバー192.168.100.10ドメイン名解決を提供する
ケビンDNS クライアント192.168.100.20ドメイン名の解決が正常かどうかをテストする
ケビンウェブサーバー192.168.100.30サイトサーバー
ブログFTP サーバー192.168.100.40ブログサーバー

2: DNSサーバーの設定

i: 前方解析を構成する:

基本的な環境設定

[root@kevin ~]# ホスト名
ケビン
[root@kevin ~]# getenforce
無効
[root@kevin ~]# systemctl ステータス ファイアウォールd
● firewalld.service - firewalld - 動的ファイアウォールデーモン
   ロード済み: ロード済み (/usr/lib/systemd/system/firewalld.service; 無効; ベンダープリセット: 有効)
   アクティブ: 非アクティブ (デッド)
     ドキュメント: man:firewalld(1)
[ルート@ケビン ~]#

2. DNSサーバーソフトウェアをインストールして起動する

[root@kevin ~]# yum install -y bind
 
[root@kevin ~]# systemctl start 名前付き

3. DNS サービスのグローバル設定ファイルであるメイン設定ファイル /etc/named.conf。

安全のため、ファイルを変更する前にバックアップしてください。このファイルのグループは特別で、指定されたグループに属しています

[root@kevin ~]# cp -p /etc/named.conf /etc/named.conf.bak

4. メイン設定ファイル named.conf を変更します。行 13: リスニング アドレス行 21: このサーバーを使用してクエリを実行できるクライアント アドレス

すべては、

[root@kevin ~]# vi /etc/named.conf
 
 
listen-on ポート 53 { any; };
クエリを許可します { 任意; };

5. ゾーン構成ファイル /etc/named.rfc1912.zones を変更します。このファイルは、どのゾーンのデータがどのファイルに保存されるかを示すために使用されます。 ファイル内の既存のコンテンツの形式に従って、ファイルの末尾に前方参照ゾーン kevin.com を追加します。タイプはプライマリ ゾーン、データは kevin.com.zone です。

[root@kevin ~]# vi /etc/named.rfc1912.zones
 
ゾーン "kevin.com" IN {
        タイプマスター;
        ファイル "kevin.com.zone";
        更新を許可する {なし; };
};

6. 手順 5 に従って、転送ゾーン データ ファイルを追加します。新しいデータ ファイルを作成する必要はありません。/var/named ディレクトリに用意されている named.localhost ファイルをコピーし、kevin.com.zone という名前を付けて変更することができます。 kevin.com.zone のコンテンツを次のように変更します。

[root@kevin ~]# cp -p /var/named/named.localhost /var/named/kevin.com.zone
[root@kevin ~]# vi /var/named/kevin.com.zone
 
$TTL 1日
@ IN SOA @ rname.invalid. (
                                        0 ; シリアル
                                        1D ; 更新
                                        1H;再試行
                                        1W ; 期限切れ
                                        3H ) ; 最小
        NS@
        192.168.100.10 です
192.168.100.10 の DNS
192.168.100.20で勝つ
www 192.168.100.30 で
ブログ IN A 192.168.100.40
        AAA::1

7. DNSサービスの設定ファイルを再読み込みする

[root@kevin ~]# rndc をリロード
サーバーのリロードに成功しました
[root@ケビン ~]#

ロードに失敗した場合は、named-checkconf /etc/named.conf と named-checkzone kevin.com /var/named/kevin.com.zone を使用して、エラーが発生した場所を確認できます。

[root@kevin ~]# named-checkconf /etc/named.conf
[root@kevin ~]# named-checkzone kevin.com /var/named/kevin.com.zone
ゾーン kevin.com/IN: シリアル 0 がロードされました
わかりました

8. 完了したら、まず DNS サーバー上でローカルにテストし、/etc/resolv.conf を変更して、DNS サーバーのアドレス (つまり、サーバーのローカル アドレス) を記述します。

(bind-utils) は、DNS サーバーの補助ツールキットです。たとえば、dig は主に DNS ドメイン ネーム サーバーからホスト アドレス情報を照会するために使用され、ドメイン ネーム システムが正しく動作しているかどうかをテストするために使用できます。

またはnslookupなどのツール

[root@kevin ~]# vi /etc/resolv.conf
 
# NetworkManager によって生成されました
ネームサーバー 8.8.8.8
[root@kevin ~]# yum をインストールbind-utils
[root@kevin ~]# www.kevin.com @192.168.100.10 を掘る
 
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.8 <<>> www.kevin.com @192.168.100.10
;; グローバルオプション: +cmd
;; 回答が得られました:
;; ->>HEADER<<- オペコード: QUERY、ステータス: NOERROR、ID: 62498
;; フラグ: qr aa rd ra; クエリ: 1、回答: 1、権限: 1、追加: 2
 
;; OPT擬似セクション:
; EDNS: バージョン: 0、フラグ:; udp: 4096
;; 質問セクション:
;www.kevin.com. IN A
 
;; 回答セクション:
www.kevin.com. 86400 IN A 192.168.100.30
 
;; 権限セクション:
kevin.com. 86400 IN NS kevin.com.
 
;; 追加セクション:
kevin.com. 86400 IN A 192.168.100.10
 
;; クエリ時間: 0 ミリ秒
;; サーバー: 192.168.100.10#53(192.168.100.10)
;; 日時: 2021 年 12 月 18 日土曜日 14:48:23 CST
;; 受信したメッセージサイズ: 88
 

9: ローカル テスト アクセスは正常です。他のクライアントでは、ネットワーク カードの優先 DNS サーバー アドレスを上記の表で設定した DNS サーバー アドレスに調整し、関連するレコードを照会します。

C:\Users\Kevin>nslookup
デフォルトサーバー: 不明
住所: 192.168.100.10
 
> www.kevin.com
サーバー: 不明
住所: 192.168.100.10
 
名前: www.kevin.com
住所: 192.168.100.30
 
> blog.kevin.com
サーバー: 不明
住所: 192.168.100.10
 
名前: blog.kevin.com
住所: 192.168.100.40
 
>

現在、ホスト名でホストに対応する IP アドレスを照会することは可能ですが、逆引き参照ゾーンが設定されていないため、IP アドレスで対応するホスト名を照会することはできません。

ii: 逆解像度を設定する

1. 基本的な考え方は前方検索領域の設定と同じです。メイン構成ファイルを変更する必要はありません。 補助構成ファイルを変更し、ドキュメントの最後に逆引き参照ゾーンを追加します。逆引き参照ゾーン名の命名形式に注意してください。

[root@kevin ~]# vi /etc/named.rfc1912.zones
 
ゾーン "100.168.192.in-addr.arpa" IN {
        タイプマスター;
        ファイル "192.168.100.arpa";
        更新を許可する {なし; };
};

2. 逆解析ファイル テンプレートをコピーして変更します。

[root@kevin ~]# cp -p /var/named/named.loopback /var/named/192.168.100.arpa
[root@kevin ~]# vi /var/named/192.168.100.arpa
 
$TTL 1日
@ IN SOA @ rname.invalid. (
                                        0 ; シリアル
                                        1D ; 更新
                                        1H;再試行
                                        1W ; 期限切れ
                                        3H ) ; 最小
        NS dns.kevin.com です。
192.168.100.10 の DNS
10 IN PTR dns.kevin.com。
20 IN PTR win.kevin.com。
30 IN PTR www.kevin.com.
40 IN PTR blog.kevin.com。

設定ファイルを再読み込みします。

[root@kevin ~]# systemctl restart named
[root@kevin ~]# rndc をリロード
サーバーのリロードに成功しました

3: クライアント上で逆解像度が正しいかどうかをテストします。

C:\Users\Kevin>nslookup
デフォルトサーバー: dns.kevin.com
住所: 192.168.100.10
 
> 192.168.100.30
サーバー: dns.kevin.com
住所: 192.168.100.10
 
名前: www.kevin.com
住所: 192.168.100.30
 
> 192.168.100.40
サーバー: dns.kevin.com
住所: 192.168.100.10
 
名前: blog.kevin.com
住所: 192.168.100.40
 
>

3: マスタースレーブサーバーを構成する:

これまでの操作により、DNS プライマリ サーバーが構成され、正常に動作するようになりました。 2 番目の CentOS ホストを起動し、最初の DNS サーバーのスレーブ サーバーとして構成して、最初のホストの DNS データをネットワーク経由で 2 番目のホストに送信できるようにします。

1: /etc/named.confファイルを編集し、リスニングIPアドレスを任意のものに変更します。

vi /etc/named.conf
 
listen-on ポート 53 { any; };
クエリを許可します { 任意; };

2: /etc/named.rfc1912.zonesを編集し、最初のホストから必要な前方参照/逆参照ゾーンファイルを作成またはコピーします(スレーブサーバーのゾーン解決ライブラリファイルはマスターサーバーからロードされるため、ゾーン解決ライブラリファイルを作成する必要はありません)。コンテンツを変更し、タイプをスレーブに変更します。

[root@likevin ~]# vi /etc/named.rfc1912.zones
 
ゾーン "kevin.com" IN {
        type slave; //タイプ masters {192.168.100.10;}; //ホストファイル "slaves/kevin.com.zone"; //構成ファイルの保存場所と名前 masterfile-format text; //ドキュメントタイプ};
 
ゾーン "100.168.192.in-addr.arpa" IN {
        タイプスレーブ;
        マスター {192.168.100.10;};
        ファイル "slaves/192.168.100.arpa";
        マスターファイル形式のテキスト;
};

3: 名前付きサービスを再起動し、スレーブフォルダにホストから転送されたファイルがあるかどうかを確認します。

[root@likevin ~]# systemctl restart named
[root@likevin ~]# rndc をリロード
サーバーのリロードに成功しました
[root@likevin ~]# ll /var/named/slaves/
総投与量 8
-rw-r--r-- 1 名前付き 名前付き 517 12月18日 16:14 192.168.100.arpa
-rw-r--r-- 1 名前付き 名前付き 349 12月18日 16:14 kevin.com.zone
[root@likevin ~]# vi /var/named/slaves/192.168.100.arpa
 
$ORIGIN 。
$TTL 86400; 1日
100.168.192.in-addr.arpa IN SOA 100.168.192.in-addr.arpa. rname.invalid. (
                                0 ; シリアル
                                86400 ; 更新 (1 日)
                                3600 ; 再試行 (1 時間)
                                604800 ; 有効期限(1週間)
                                10800; 最低(3時間)
                                )
                        NS dns.kevin.com です。
$ORIGIN 100.168.192.in-addr.arpa.
10 PTR dns.kevin.com。
20 PTR win.kevin.com。
30 PTR www.kevin.com.
40 PTR blog.kevin.com.
DNS A 192.168.100.10
[root@likevin ~]# vi /var/named/slaves/kevin.com.zone
 
$ORIGIN 。
$TTL 86400; 1日
kevin.com IN SOA kevin.com. rname.invalid. (
                                0 ; シリアル
                                86400 ; 更新 (1 日)
                                3600 ; 再試行 (1 時間)
                                604800 ; 有効期限(1週間)
                                10800; 最低(3時間)
                                )
                        NS kevin.com。
                        192.168.100.10 です
$ORIGIN kevin.com です。
ブログA 192.168.100.40
DNS A 192.168.100.10
勝利A 192.168.100.20
www 192.168.100.30

Centos7 での DNS サーバーの設定に関するこの記事はこれで終わりです。 Centos7 での DNS サーバーの設定の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。 今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • CentOS 7.x のマスターおよびスレーブ DNS サーバーの展開
  • Centos7 でマスター スレーブ DNS サーバーを構築するチュートリアル
  • CentOS 6.5 で DNS サーバーを構成する方法 (画像とテキスト付き)

<<:  WeChatアプレット仮想リストの応用例

>>:  element.style インライン スタイルを変更する方法のチュートリアル

推薦する

Alibaba Cloud centos7にmysql8.0.22をインストールする詳細なチュートリアル

1. MySQLインストールパッケージをダウンロードするまず、https://dev.mysql.c...

Vueプロジェクトはログインと登録の効果を実現します

この記事の例では、ログインと登録の効果を実現するためのvueプロジェクトの具体的なコードを共有してい...

MySQLでクエリキャッシュを実行する方法と失敗を解決する方法

関数を使用する前にパラメータのプロパティを理解して、関数の使い方をより深く理解する必要があることは誰...

MySQL 数値型オーバーフローの処理方法

さて、質問させてください。MySQL で列を int(0) に設定すると何が起こりますか?この問題を...

一般的なSQL削除ステートメントの原則の違いを理解するだけです

この記事では主に、SQL 削除ステートメント DROP、TRUNCATE、および DELETE の違...

カレンダー効果を実現するための Bootstrap+JQuery

この記事では、カレンダー効果を実現するためのBootstrap+Jqueryの具体的なコードを参考ま...

9999px に別れを告げる新しい CSS 画像置換テクニック (背景表示と画面外へのテキストの移動)

-9999 ピクセルの画像置換技術は、ここ 10 年近く人気があります。テキスト要素を画像に置き換え...

コンパイル、インストールから設定ファイルの説明まで、中国語でnginxの詳細な説明

この記事では、コンパイルとインストールから設定ファイルの説明まで、Nginx について詳しく紹介しま...

この記事では、jsのデータ型とデータ構造の世界を紹介します。

目次1. 動的型付けとは何ですか? 2. データ型2.1 プリミティブ型 (6 つのプリミティブ型、...

UTF8 でエンコードされた Web ページにファイルが含まれている場合の、ページの前の空白行の解決方法

<br />このページはUTF8エンコードを使用しており、ヘッダーとフッターはテンプレー...

Vueでjsonpを使用する方法

目次1. はじめに2. インストール3. 使用4. vueファイルの使用1. はじめに最近、手書き入...

Windows Server 2008 R2 サーバーが理由もなく自動的に再起動する問題の解決策

Windows Server 2008 サーバーが自動的に再起動します。サーバーにログインした後、ど...

Ubuntu 20.04 aptの国内ソースを変更する方法

UPD 2020.2.26 現在、Ubuntu 20.04 LTSはまだリリースされていないため、チ...

実行後にdocker nginxにアクセスできない問題の解決策

## 1最近、docker デプロイメントを学習しており、当初は nginx を docker 化す...

Windows10でmysql8.0.17を置き換える詳細なチュートリアル

この記事では、Windows10でmysql8.0.17を置き換える具体的な手順を参考までに紹介しま...