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環境にJDK1.8をインストールする

目次1. インストール環境2. インストール手順ステップ1: インストールパッケージをダウンロードす...

IE6 での背景画像キャッシュ

IE6 での CSS 背景画像のちらつきバグ (IE6 の背景画像キャッシュの問題) IE6 は、背...

MySQL 外部キー制約の無効化と有効化コマンド

MySQL 外部キー制約の無効化と有効化: MySQL 外部キー制約が有効になっているかどうかは、グ...

Faint: 「Web2.0 を使用して標準に準拠したページを作成する」

今日、ある人がウェブサイト開発プロジェクトについて話をしてくれました。具体的な要件について話すと、「...

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

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

MySQLスタートアップが起こした事故の実録

目次背景MySQLが完全に起動したかどうかを確認する方法事故最初の変更2回目の改訂要約するMySQL...

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

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

CSS3 フィルターを使用して PNG 画像の色を変更するサンプル コード

この方法は、CSS3のdrop-shadow filterを使用して、png画像の不透明部分に任意の...

CSS 向け SASS スタイル プログラミング ガイド

SASS を使用する開発者が増えるにつれて、SASS コードの数に注意する必要があります。 SASS...

Squid を使用して http および https 用のプロキシ サーバーを構築する方法

nginx を導入した際に、フォワードプロキシの設定も nginx を使っていました。しかし、htt...

NginxはLua+Redisを使用してIPを動的にブロックします

1. 背景日常的なウェブサイトのメンテナンスでは、このような要件に頻繁に遭遇します。特定のクローラー...

Reactでプロキシを有効にする2つの実用的な方法

プロキシを有効にする2つの方法React には、直接使用できるカプセル化された Ajax リクエスト...

WIN10 に複数のデータベースがインストールされている場合にコンピュータの速度低下を防ぐ方法

必要なときにサービスを有効にし、必要がないときは無効にします。データベース サービスを管理する方法:...

Tomcatの各ポートの機能の詳細な説明

tomcat 設定ファイルから、tomcat の起動時にデフォルトで 8080 (8443)、800...

Pycharm2017はpython3.6とmysqlの接続を実現します

この記事では、pycharm2017でpython3.6とmysqlを接続する方法を参考までに紹介し...