Linux ドメイン ネーム サービス DNS 設定方法

Linux ドメイン ネーム サービス DNS 設定方法

DNSとは

DNS の正式名称は Domain Name System で、ドメイン名解決システムを意味します。DNS の役割は、ドメイン名を、さまざまなコンピューター デバイスが接続できる認識可能な IP アドレスに変換することです。

Linux DNS 解決の設定とファイル

Linux には DNS 解決に関連する 3 つのファイルがあります。

  • /etc/hostsはホスト名に対応するIPアドレスを記録します
  • /etc/resolv.confはDNSサーバーのIPアドレスを設定します
  • /etc/host.conf はドメイン名解決の順序を指定します(ローカルホストファイルから解決するか、DNS から解決するか)
  • /etc/hosts が存在するのは、初期のネットワークが特に発達しておらず、ホスト名と IP アドレスの対応を hosts に格納するだけでニーズを満たすことができたためです。ネットワークの発達に伴い、分散 DNS サービスが徐々に登場しましたが、/etc/hosts 形式は維持されました。

/etc/resolv.conf は DNS ドメイン名と IP アドレスを設定するために使用されます。インターネット上には参考になる情報が多数あります。

ドメイン名の解決方法

ドメイン ネーム システム (DNS) の仕組みでは、ドメイン名が解決されるプロセスについて説明します。このプロセスは基本的に次のように分けられます。

  • トップレベルドメイン名が配置されているドメイン名サービスのルートドメイン名サービスを要求する
  • トップレベルドメイン名サービスからセカンドレベルドメイン名サービスを要求する
  • セカンダリドメイン名サービスから特定のIPアドレスを要求する

シンプルな DNS 構成の例 (CentOs7 ベース)

サーバー側

1. バインドをインストールする

yum install bind

2. /etc/named.conf設定ファイルを変更する

vim /etc/named.conf
オプション {
    listen-on port 53 { any; }; //リスニングポート53を開き、任意のIP接続を受け入れます listen-on-v6 port 53 { ::1; }; //IP V6をサポートします
    ディレクトリ "/var/named"; //すべての転送ゾーン ファイルと逆ゾーン ファイルはこのディレクトリに作成されます ダンプ ファイル "/var/named/data/cache_dump.db";
    統計ファイル "/var/named/data/named_stats.txt";
    memstatistics ファイル "/var/named/data/named_mem_stats.txt";
    allow-query { 0.0.0.0/0; }; //任意の IP に再帰クエリを許可する yes;
    dnssec を有効にするには、はい;
    dnssec検証はい;
    dnssec-lookaside 自動;
    /* ISC DLV キーへのパス */
    bindkeysファイル "/etc/named.iscdlv.key";
    管理キーディレクトリ "/var/named/dynamic";

};

ログ記録 {
    チャネル default_debug {
        ファイル "data/named.run";
        重大度動的;
    };
};

ゾーン "." IN {
    型ヒント;
    ファイル「named.ca」;
};

include "/etc/named.rfc1912.zones"; //メイン設定ファイル include "/etc/named.root.key";

3. /etc/named.rfc1912.zonesファイルを変更し、duiyi.comの転送ゾーンを追加します。

vim /etc/ named.rfc1912.zones
ゾーン "localhost.localdomain" IN {
    タイプマスター;
    ファイル "named.localhost";
    更新を許可する {なし; };
};

ゾーン "localhost" IN {
    タイプマスター;
    ファイル "named.localhost";
    更新を許可する {なし; };
};

ゾーン "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
    タイプマスター;
    ファイル "named.loopback";
    更新を許可する {なし; };
};

ゾーン "1.0.0.127.in-addr.arpa" IN {
    タイプマスター;
    ファイル "named.loopback";
    更新を許可する {なし; };
};
ゾーン "0.in-addr.arpa" IN {
    タイプマスター;
    ファイル "named.empty";
    更新を許可する {なし; };
};

//duiyi.com のポジティブゾーン ゾーン "duiyi.com" IN {
    タイプマスター;
    ファイル "duiyi.com.zone";
    更新を許可する {なし; };
};

4. フォワードゾーンリソースファイルを作成する

vim /var/named/duiyi.com.zone
$TTL 1日
@ IN SOA duiyi.com. rname.invalid. (
                    0 ; シリアル
                    1D ; 更新
                    1H;再試行
                    1W ; 期限切れ
                    3H ) ; 最小
    NS@
    127.0.0.1 です
    AAA::1
www 192.168.81.1 で
メール IN A 192.168.81.2
192.168.81.3 への ftp

5. 指定されたサービスを起動する

systemctl start named

6. 起動時に自動的に起動する

systemctl enable named

## クライアントのオペレーティングシステム: Windows と Linux の両方が使用可能
IP アドレス: DNS サーバー (192.168.81.133) に ping できる任意の IP アドレスを使用できます。
機能: DNS サーバーが正常に動作しているかどうかをテストします。

1. DNSを変更する:


2. サーバーのIP(192.168.81.133)にpingして、サーバーにアクセスできるかどうかをテストします。


3. nslookupコマンドを使用して、3つのDNS解決が成功したかどうかをテストします。


図に示すように、DNSの前方解決が成功したことを意味します。

クライアントテストとしての Linux:

1. nslookup、dig、hostツールを使用できるようにbind-utilsパッケージをインストールします。

yum install bind-utils

2. DNSサーバーを使用するようにDNS設定を変更する

vim /etc/resolv.conf
ネームサーバー 192.168.81.133
ネームサーバー 114.114.114.114
ネームサーバー 8.8.8.8

3. 前方解決テスト、nslookup コマンドを使用する (Windows テストと同じ)

nslookup

要約する

上記は、編集者が紹介した Linux ドメイン名サービス DNS 設定方法です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Linux 環境の Apache サーバーでセカンダリドメイン名を設定する方法の詳細な説明
  • Linux で IP、DNS、ルーティングのコマンドライン設定を変更する方法
  • Linux で dnsmasq を DNS キャッシュ サーバーとして設定する方法
  • Linux で DNS をクエリする例
  • Linux コマンドラインで IP、ゲートウェイ、DNS を変更する方法
  • Linux で DNS の変更を素早く有効にする方法
  • DNSPodとSquidで独自のCDNを構築する(パート3)CentOS Linuxをインストールする
  • Mac OS X/Linux システムで DNS キャッシュをクリアするコマンドの概要

<<:  Mysql は非集計列を選択できません

>>:  react-diagram シリアル化 Json 解釈 ケース分析

推薦する

Web フォントの読み込みを最適化する方法をご存知ですか?

タイトル通りです!一般的に使用される font-family はブラウザの組み込みフォントを読み込み...

JavaScriptのモジュール性を理解する方法

目次1. ブラウザのサポート2.エクスポートモジュールのエクスポート3. モジュールをインポートする...

Vue3 AST パーサー - ソースコード分析

目次1. AST抽象構文木を生成する2. ASTのルートノードを作成する3. 子ノードの解析4. テ...

DBeaver を MySQL バージョン 8 以降に接続し、起こりうる問題を解決する方法の詳細な説明

データベース MySQL バージョン 8.0.18 DBeaver.exeをダウンロードするダウンロ...

Mysqlはマスタースレーブ構成とマルチマスターマルチスレーブ構成を実装します

現在シミュレーションしているのは、マスター スレーブ システム (ホスト 1 台とスレーブ 1 台)...

Dockerコンテナでユーザーを分離する方法

前回の記事「Docker コンテナの UID と GID を理解する」では、Docker コンテナ内...

MySQL クエリのソートとクエリ集計関数の使用法の分析

この記事では、例を使用して、MySQL クエリのソート関数とクエリ集計関数の使用方法を説明します。ご...

JS を使用してファイルを操作する (FileReader は --node の fs を読み取ります)

目次JS はファイルを読み取る FileReader書類イベントとメソッド基本的な使い方イベント処理...

HTML タグのセマンティクス化 (H5 を含む)

導入HTML は、Web ドキュメントのコンテンツのコンテキスト構造と意味を提供します。HTML 自...

MySQL 整合性制約の定義と例のチュートリアル

目次整合性制約整合性制約の定義整合性制約の分類主キー制約単一の主キーと複合主キーの違い主キーフィール...

Innodb で MySQL の 2T テーブルをすばやく削除する方法の例

序文この記事は主に、MySQL の Innodb で 2T の大きなテーブルをすばやく削除する方法に...

CentOS7 に ElasticSearch 6.4.1 をインストールするための詳細なチュートリアル

1. ElasticSearch 6.4.1 インストール パッケージを次の場所からダウンロードしま...

vscodeカスタムvueテンプレートの実装

vscode エディタを使用して vue テンプレートを作成すると、新しい vue ファイルを作成す...

MySQL インデックスの左端原則のサンプルコード

序文最近、MySQL のインデックスについて読んでいました。結合されたインデックスを見ると、左端の原...

面接官はReactのライフサイクルについてよく質問します

ReactライフサイクルReactのライフサイクルを理解するのに役立つ2つの図React ライフサイ...