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 インライン スタイルを変更する方法のチュートリアル

推薦する

MySQL でのデータベース間クエリの例

序文MySQL では、クロスデータベース クエリは主に 2 つの状況に分けられます。1 つは同じサー...

Mysqlはブール型の演算を設定します

Mysqlはブール型を設定します1. Tinyintタイプテストテーブルを作成し、blフィールドをブ...

CSSポジションの5つの異なる値の使い方の詳細な説明

位置プロパティposition プロパティは、要素に使用する配置方法のタイプ (静的、相対的、固定、...

バックアップ データをインポートするときに innodb_index_stats がエラーを報告する場合の主キー競合の解決方法

障害の説明percona5.6、mysqldump フルバックアップ、バックアップデータのインポート...

Windows 上の MySQL バージョン 5.7 でエンコードを UTF-8 に変更する方法

序文MySQLの勉強を始めたばかりで、公式サイトから最新バージョン5.7.14をダウンロードしました...

新しい Linux ファイル権限設定における umask の詳細な理解

序文起源は質問 1 です: umask が 022 に設定されている場合、作成するファイルのデフォル...

Reactで例外を適切にキャプチャする方法

目次序文エラー境界エラー境界を超えてトライ/キャッチwindow.onerror、エラーイベント未処...

MySQL で特定の親行のすべての子行を見つけるソリューション

序文注: テストデータベースのバージョンはMySQL 8.0ですテーブルを作成し、ユーザー scot...

Iframe 適応高さコードに関する 3 つの議論

B/S システム インターフェースを構築する場合、メイン ページ index.html 内に他のペー...

uniapp 要素ノードスタイルの動的変更の詳細な説明

目次1. スタイル属性をバインドして変更するhtml:対応するjs:達成された効果:次に、refを使...

MySQL 8.0.3 RCがリリースされようとしています。変更点を見てみましょう。

MySQL 8.0.3がリリースされます。新機能を見てみましょうMySQL 8.0.3 は RC ...

Navicat を仮想マシン MySQL に接続する際によくあるエラーと解決策

質問1 解決するサービスを開始します: service mysqld start; /sbin/ip...

vue+drf+サードパーティのスライディング検証コードアクセスの実装

目次1. 背景2. 検証プロセス3. 検証を作成する4. フロントエンドコード4.1 コアjsファイ...

バックアップと削除のためにリアルタイムでステートメントを検出するMySQLトリガーの考え方の詳細な説明

問題の説明: ユーザーは、テーブルに「違反」という単語を含むフィールドが時々表示されることを要求して...

Dockerにおけるオーバーレイネットワークの詳細な説明

Docker 公式ドキュメントからの翻訳、原文: https://docs.docker.com/n...