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 解釈 ケース分析

推薦する

Linux でソフトウェア パッケージのバージョンをアップグレードする方法の詳細な説明

Linux環境で、特定のソフトウェア(パッケージ)がインストールされているかどうかを確認したい。 r...

ウェブフロントエンド開発の細部

1 選択タグは閉じられている必要があります <select></select>...

JS におけるメモリと変数の保存についての詳細な説明

目次序文JSマジックナンバー数値の保存バイナリ変換方法なぜ 0.1 + 0.2 !== 0.3 なの...

ウェブデザイナーが注意すべき 43 のウェブデザインの間違い

これはウェブサイトのユーザビリティに関する記事です。著者は自身の経験に基づいて、ウェブサイトのデザイ...

Vue プロジェクトに ECharts を導入する

目次1. インストール2. はじめに3. 使用4. 必要に応じてEChartsチャートとコンポーネン...

Docker コンテナ入門から夢中になるまで(推奨)

1. Docker とは何ですか?仮想マシンについては誰もが知っています。Windows に Li...

Linux 環境の Apache サーバーでセカンダリドメイン名を設定する方法の詳細な説明

この記事では、Linux 環境の Apache サーバーでセカンダリ ドメイン名を構成する方法につい...

グループフィールドを 1 行に書き込むための mysql group_concat メソッドの例

この記事では、MySQL group_concat を使用してグループ化されたフィールドを 1 つの...

docker の run/cmd/entrypoint の違いの詳細な説明

Dockerfile では、run、cmd、entrypoint はすべてコマンドを実行するために使...

Linux での MongoDB のインストールと設定のチュートリアル

MongoDBインストールYumを使用してインストールすることを選択する1. repoファイルを作成...

CSS Houdini でダイナミックな波効果を実現

CSS Houdini は、CSS 分野における最もエキサイティングなイノベーションとして知られてい...

MySQL トリガー: トリガーの作成と使用

この記事では、例を使用して MySQL トリガーの作成と使用について説明します。ご参考までに、詳細は...

Flinkのフォールトトレラントメカニズムに関する簡単な説明:ジョブ実行とデーモン

目次1. ジョブ実行のフォールトトレランス1.1 タスクフェイルオーバー戦略1.2 ジョブ再開戦略2...

JDBCデータベースリンクと関連メソッドのカプセル化の詳細な説明

JDBCデータベースリンクと関連メソッドのカプセル化の詳細な説明MySQL データベースを使用して、...

フォーム要素とプロンプトテキストが揃っていない問題

最近のプロジェクトでは、多くのフォーム、特にチェックボックスとラジオボタンの作成が含まれます。しかし...