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

推薦する

MySQLでよく使われる演算子と関数の概要

まずデータ テーブルを作成しましょう。 使用テスト; テーブル「従業員」を作成します( emp_no...

Linux システムの .bash_profile ファイルの詳細な説明

目次1. 環境変数$PATH: 2. 環境変数を変更します。 3. bash_profileの目的要...

VMware 仮想マシン ubuntu18.04 インストール チュートリアル

インストール手順1. 仮想マシンを作成する 2. [カスタム(詳細)]を選択し、[次へ]をクリックし...

vue3.0プロジェクトアーキテクチャを段階的に構築する方法を教えます

目次序文: 1. vue-cliでプロジェクトを作成する2. ルーターをインストールする3. ディレ...

InnoDB タイプの MySql によるテーブル構造とデータの復元

前提条件: データベースを復元するために必要な .frm ファイルと .ibd ファイルを保存します...

HTMLの基本構造を包括的に理解する

HTML入門ハイパーテキスト マークアップ言語: ハイパーテキスト マークアップ言語ハイパーテキスト...

一般的な nginx コマンドをシェル スクリプトに組み込む方法の詳細な説明

1. nginxシェルスクリプトを保存するフォルダを作成する /usr/local/タスク/ngin...

SQL IDENTITY_INSERT ケーススタディ

一般的に、データ テーブル内の列を ID 列として設定すると、ID 列の表示値を手動で ID 列に挿...

Linux でバックグラウンド タスクを実行するために nohup と screen を使用する例と違いの簡単な分析

SSH ターミナル (putty、xshell など) を使用して Linux サーバーに接続し、時...

MySQL設定ファイルを変更できない問題の解決方法(Win10)

他の人のために解決した問題を記録します。問題の説明MySQLのバージョンは5.7、オペレーティングシ...

MySQL 5.6 の「暗黙的な変換」によりインデックスが失敗し、データが不正確になる

背景SQL クエリを実行するときに、where 条件の vachar 型フィールドの単一引用符を削除...

サブクエリ最適化における MySQL 選択の実装

以下のデモはMySQLバージョン5.7.27に基づいています。 1. MySQLサブクエリ最適化戦略...

Chromeの最小フォントサイズ制限12pxに対する最終的な解決策

ウェブサイトを作成するユーザーの多くが、このような問題に遭遇すると思います。Chrome のデフォル...

フロントエンドの vue+express ファイルのアップロードとダウンロードの例

新しいserver.jsを作成する糸初期化 -y 糸を追加エクスプレスノードモン -D var ex...

MySQLカスタム変数の概念と特徴

MySQL カスタム値は、値を保存するための一時的なコンテナです。サーバーへの接続がアクティブである...