Linux-DNSドメイン名解決サービス(超長く詳細)(DNSシステムの機能とタイプ、BINDのインストールと構成ファイル、DNSドメイン名解決サーバーを構築する手順)(順方向と逆方向の解決、マスタースレーブドメイン名サーバーの構築、構成DNS分離解決を構築するためのゲートウェイサーバー)

記事ディレクトリ


序文

  • ネットワークアドレスの構成とファイルサービスの管理について学習しました。サーバーホストにアクセスするときは、IPアドレスが使用されます。実際のネットワークアプリケーションでは、通常、ドメイン名を使用してサーバーにアクセスします。
  • 次に、有名なDNSサーバーソフトウェアBIND(Berkeley Internet Name Domain)を例として取り上げ、ドメインネームサーバーを構築するプロセスを学習します。

1.BINDドメインネームサービスファンデーション

1.DNSシステムの役割と種類

  • インターネットファミリー全体で数億のサーバーとパーソナルホストが接続されています。ほとんどのWebサイトとメールサーバーは、www.baidu.com、mail.qq.comなどのドメイン名を使用しています。
  • 明らかに、このアドレス形式はIPアドレス192.168.126.1を使用するよりも直感的であり、ユーザーが覚えやすいです。
  • ドメイン名とIPアドレスの間には多対1の関係があります。同じIPアドレスが必ずしも1つのドメイン名だけに対応するわけではなく、1つのドメイン名が1つのIPアドレスにしか対応できません。
  • それらの間の変換はドメイン名解決と呼ばれます。ドメイン名解決は専用のドメイン名解決サーバーによって完了する必要があります。プロセス全体は自動です。

1.1DNSシステムの役割

  • DNSは「ドメインネームシステム」の略です
  • DNSサービスはTCPおよびUDPポート53を使用し、TCPポート53はDNSサーバーへの接続に使用され、UDPポート53はDNSの解決に使用されます
  • 各第1レベルのドメイン名の長さは63文字に制限されており、ドメイン名の全長は253文字を超えることはできません。
  • ネットワークにおけるDNSシステムの役割は、さまざまなホストドメイン名とIPアドレス間の対応を記録するアドレスデータベースを維持し、カスタマーサービスプログラムに順方向または逆方向のアドレスクエリサービスを提供することです。
    • 前方解決:ドメイン名に基づいて対応するIPアドレスを見つけることは、DNSサーバーの最も基本的で一般的に使用される機能です。
    • 逆解決:IPアドレスに従って対応するドメイン名を検索します。これはあまり一般的ではなく、スパム対策検証などの特定の場合にのみ使用されます。

1.2DNSシステムの分散データ構造

  • 世界にはIPv4ルートサーバーは13台しかなく、1台は米国のメインルートサーバー、残りの12台はセカンダリルートサーバー、9台は米国、2台はヨーロッパ(英国とスウェーデン)、1台は日本にあります。2016年には中国が支配的です。世界16か国で25台のIPv6ルートサーバーの想定を完了
  • ツリー構造の最上位はルートドメインと呼ばれ、「。」で表されます。対応するサーバーはルートサーバーと呼ばれ、ドメイン名空間の解決能力全体がルートサーバーに属します。
  • ただし、ルートサーバーは大きな負荷に耐えることができず、「委任」メカニズムを採用してルートドメインの下にいくつかのトップレベルドメインを設定し、さまざまなトップレベルドメインの解決能力を対応するトップレベルドメインサーバーに委任します。
  • comドメインの解決能力がcomドメインサーバーに委任されている場合、将来、ルートサーバーはcomで終わる都市名解決要求を受信するたびに、それをcomドメインサーバーに転送します。
  • 同様に、トップレベルドメインへのプレッシャーを軽減するために、いくつかの第2レベルドメインが設定され、第2レベルドメインは第3レベルドメインまたはホストで設定されます。
    マーク
  • ルートドメイン:都市名スペースの最上位にあり、通常は「。」で表されます。
  • トップレベルドメイン:通常、.net(ネットワークプロバイダー)、. com(企業)、. org(グループ組織)、. edu(教育機関)、. gov(政府部門)などの組織または国のタイプを表します)、. cn(中国の国内ドメイン名)
  • 第2レベルドメイン:トップレベルドメイン内の特定の組織を示すために使用されます。国のトップレベル都市の下の第2レベルドメイン名は、国のネットワーク部門によって管理されます。たとえば、.cnトップレベルドメイン名の下に設定された第2レベルドメイン名:.com.cn、.net .cn、.edu.cn
  • サブドメイン:第2レベルのドメインの下に作成されたすべてのレベルのドメインは、まとめてサブドメインと呼ばれます。各組織またはユーザーは、独自のドメイン名の登録を自由に申請できます。
  • ホスト:ホストはドメインネームスペースの最下位レベルにあり、特定のコンピューターです
  • 例:www.baidu.com.cn
www ホスト
.baidu 子域
.with セカンダリドメイン
.cn トップレベルドメイン
根域

1.3DNSサーバータイプ

  • 各DNSサーバーは、限られた範囲(1つまたは複数のドメイン)内のホストドメイン名とIPアドレス間の対応の管理のみを担当します。これらの特定のDNSドメインまたはIPアドレスは「ゾーン」と呼ばれます。
  • アドレス解決の方向に応じて、DNSゾーンはフォワードゾーン(ドメイン名からIPアドレスへの解決レコードを含む)とリバースゾーン(IPアドレスからドメイン名への解決レコードを含む)に分けられます。
  • 管理対象ゾーンのアドレスデータのソースに応じて、DNSシステムをさまざまなタイプに分類することもできます。同じDNSサーバーは、ゾーンごとに異なるIDを持ちます。一般的なタイプは次のとおりです。

1.3.1プライマリドメインネームサーバー

  • リージョン内のすべてのドメイン名情報を維持する責任があり、すべての特定の情報の信頼できる情報ソースであり、データを変更できます
  • メインドメインネームサーバーを構築するときは、担当するエリアのアドレスデータファイルを作成する必要があります

1.3.2ドメインネームサーバーから

  • プライマリドメインネームサーバーに障害が発生したり、シャットダウンしたり、過負荷になったりすると、セカンダリドメインネームサーバーは、ドメイン名解決サービスを提供するためのバックアップサービスとして機能します。
  • ドメインネームサーバーから提供される解決結果は、自分で決定するのではなく、メインドメインネームサーバーから提供されます。
  • セカンダリドメインネームサーバーを構築するときは、マスタードメインネームサーバーの場所を指定して、サーバーがエリアのアドレスデータベースを自動的に同期できるようにする必要があります。

1.3.3キャッシュドメインネームサーバー

  • クエリの速度と効率を向上させるためにドメイン名解決結果のキャッシュ機能を提供するだけですが、ドメイン名データベースはありません
  • リモートサーバーから各ドメイン名サーバークエリの結果を取得し、それをキャッシュに配置し、後で同じ情報をクエリするときに応答するために使用します。
  • 提供されるすべての情報は間接的な情報であるため、キャッシュドメインネームサーバーは信頼できるサーバーではありません。
  • キャッシュドメインネームサーバーを構築するときは、ルートドメインを設定するか、解決のソースとして別のDNSサーバーを指定する必要があります

1.3.4ドメインネームサーバーの転送

  • すべての非ローカルドメイン名のローカルクエリを担当します
  • 転送ドメインネームサーバーは、クエリリクエストを受信した後、キャッシュを検索し、見つからない場合は、結果が見つかるまで指定されたドメインネームサーバーにリクエストを転送します。それ以外の場合は、マッピングできない結果を返します。

2.BINDインストールおよび構成ファイル

  • BINDは、ドメインネームサービスを提供できる唯一のDNSサービスプログラムではありませんが、最も広く使用されています。BINDは、ほとんどのLinux / UNIXホストで実行できます。公式Webサイトはhttps://www.isc.org/です。

2.1バインドパッケージをインストールします

[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# yum -y install bind
...略
[root@localhost ~]# rpm -qa | grep "^bind"        ##查询是否已安装与BIND相关的软件包
bind-9.9.4-50.el7.x86_64
bind-libs-9.9.4-50.el7.x86_64
bind-libs-lite-9.9.4-50.el7.x86_64
bind-license-9.9.4-50.el7.noarch
bind-utils-9.9.4-50.el7.x86_64

2.2変更する構成ファイルのパスを表示する

[root@localhost ~]# rpm -qc bind                     #查询bind软件配置文件所在路径
[root@localhost ~]# vim /etc/named.conf              #主配置文件
[root@localhost ~]# /etc/named.rfc1912.zones         #区域配置文件
[root@localhost ~]# /var/named/named.localhost       #区域数据配置文件

3. DNSドメイン名解決サーバーを構築する手順(順方向解決)

  • 前述のように、バインドパッケージをインストールすることを忘れないでください
  • ネットワークカードの構成は静的ですか?関連する構成は完了していますか?

1.ファイアウォールをオフにすることを忘れないでください

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
##是Linux独有的一种安全机制,但在实际使用中没什么用,反而影响性能,该指令只是临时关闭,我们想永久关闭可以改一个配置文件
[root@localhost ~]# vim /etc/sysconfig/selinux
...略
SELINUX=disabled        ##修改为"disabled"
...略

2.メイン構成ファイルを変更します

  • vim /etc/named.conf
    マーク
  • 上の図は、構成ファイルの各行のコメントを示しており、変更するコメントはマークアウトされています
    マーク

3.ゾーン構成ファイルを変更し、フォワードゾーン構成を追加します

  • vim /etc/named.rfc1912.zones
    マーク

4.フォワードゾーンデータファイルを構成します

マーク

  • vim /var/named/accp.com.zone
    • 「@」は変数であり、現在のDNSドメイン名です。
    • 「Accp.com。」これは完全修飾ドメイン名(FQDN)であり、その後に「。」が続きます。お見逃しなく
    • 「Admin.accp.com」は管理者のメールボックスを意味します。「@」は変数です。代わりに「。」を使用してください。
      マーク

5.サービスを開始します

マーク

  • サービスの開始に失敗した場合は、ログファイルを確認して、エラー
    テールのトラブルシューティングを行うことができます-f / var / log / messages
  • サーバーが起動時にスタックしている場合は、次のコマンドを実行して
    rndc-confgen -r / dev / urandom-aを解決できます。

6.クライアントのドメイン名解決構成ファイルにDNSサーバーアドレスを追加します

  • 変更後すぐに有効になります
    マーク
  • または
    vim / etc / sysconfig / network-scripts / ifcfg-ens3 DNS1
    = 192.168.126.5
    ## wq保存して終了した後、「systemctlrestartnetwork」はネットワークカードを再起動して有効にします

7.DNS解決をテストします

[root@localhost ~]# host www.accp.com        ##解析成功
www.accp.com has address 192.168.126.5
  • または
nslookup www.accp.com
##
nslookup mail.accp.com
##
nslookup ftp.accp.com.
## www的别名,结尾记得加上根域
nslookup abc.accp.com
## 泛域名解析

8.仮想w10分析テスト

  • 仮想マシンWin10とCentOS7のネットワークアダプタ設定を今すぐ確認してください。どちらもNATである必要があります。
    マーク
  • 次に、仮想Win10のアダプターオプションを変更します
    マーク
    マーク
    マーク
    マーク
  • [無効]をクリックしてから再起動し、再起動を実行します
    マーク
  • CMD
    マーク

第四に、逆分析

  • 注意!ここでは、スナップショットを復元してから、逆の分析を再度実行しています。次の操作を考えずに直接実行すると、多少の差異が生じる可能性があります。
  • しかし、前のフォワード分析を理解している限り、これらは問題ではありません!

1.始める前に

  • 運用・保守担当者として、細部まで注意深くチェックする必要があります。思考の習慣を身につけることが非常に重要です。
    • バインドパッケージをインストールしましたか?
    • ファイアウォールはオフになっていますか?
  • メイン構成ファイルを変更します
    vim / etc / named.conf
    ##以前にフォワード分析が実行されたとき、ここで構成されました。
    マーク

2.ゾーン構成ファイルを変更し、リバースゾーン構成を追加します

  • vim /etc/named.rfc1912.zones
    マーク
  • テンプレートをコピーするときは、IPアドレスに続く詳細を逆解決することを忘れないでください
  • 注:見逃したり多すぎたりすると、とにかく間違えると間違えるので注意が必要です。ちなみに、スペースのインターレースなどの詳細は覚えておいてください。

3.リバースゾーンデータファイルを構成します

  • これは、以前の設定の前方内容である、してくださいを参照してください
    CDの/ var / /名前の
    CP -p named.localhost accp.com.zone
    vimのaccp.com.zone
    マーク
  • 逆設定するには、[スタート
    CP -p accp.com.zoneのaccp.com.zoneを。地元
    のvim accp.com.zone.local
    ##区、ソースファイルのパーミッションとは、所有者の属性をコピーします
    マーク

4.サービスを開始します

  • systemctl restart名前付き
    注:ここでエラーが発生した場合は、前面に小さな問題があるはずです。前方分析の内容を確認できます。詳細な説明があり、ログとその他のトラブルシューティングを確認してください。

  • ##サービスを開始するという名前のsystemctlstart

5.クライアントのドメイン名解決構成ファイルを確認します

  • ここにも落とし穴があります。ネットワークカードまたはサービスを再起動すると、ここがデフォルトの「.2」に復元されているように見える場合があります。
  • [root @localhostという名前] #vim /etc/resolv.conf
    マーク

6.DNS逆解決をテストします

[root@localhost ~]# host 192.168.126.7
7.126.168.192.in-addr.arpa domain name pointer www.accp.com.

[root@localhost ~]# nslookup 192.168.126.7
Server:		192.168.126.7
Address:	192.168.126.7#53

7.126.168.192.in-addr.arpa	name = www.accp.com.

  • OK、あります

5つ、マスターおよびスレーブドメインネームサーバーを構築する

1.プライマリドメインネームサーバーのゾーン構成ファイルを変更し、順方向および逆方向のゾーン構成を変更します

  • vim /etc/named.rfc1912.zones
    マーク
  • 構成プロセス中に注意してください。ここで指すセカンダリサーバーのIPアドレスを追加することを忘れないでください
  • メインドメイン名を変更した後、「systemctlrestartnamed」で再起動することを忘れないでください!
  • エラーが報告された場合、古いルールは
    ログテール/ var / log / messagesをチェックすることです
  • 次に、別の新しい仮想マシンをオンにして、ドメインネームサーバーから構成を開始します

2.スレーブドメインネームサーバーのマスター構成ファイルを変更します

  • これは新しい仮想マシンであり、再構成する必要があります。以前の操作に慣れている場合でも、非常に簡単です。
  • 私がもっと冗長だと思いませんか。新しい仮想マシンのファイアウォールがオフになっています。兄弟
    systemctlstop Firewalld
    systemctl disable Firewalld
    setenforce 0
  • ミラーがマウントされているかどうかを確認してから、
    yum -y install bind
  • vim /etc/named.conf
    マーク

3.ドメインネームサーバーからゾーン構成ファイルを変更し、正および負のゾーン構成を追加します

  • vim /etc/named.rfc1912.zone
    マーク

4.サービスを開始し、エリアデータファイルが正常にダウンロードされたかどうかを確認します

マーク

5.クライアントのドメイン名解決構成ファイルにスレーブDNSサーバーアドレスを追加します

  • ここでメインサーバーに戻ることができます
  • vim /etc/resolv.conf
    マーク

6.テスト

  • クライアントの場合、スレーブドメインネームサーバーとマスタードメインネームサーバーの間に違いはありません。マスターサーバーが検出できる情報は、スレーブサーバーも検出できます。
    マーク
  • OK、フォワード分析に問題はありません

7.障害をシミュレートし、メインサーバーサービスを停止し、マスタースレーブをテストします

マーク


第6に、個別のDNS解決を構築するようにゲートウェイサーバーを構成します

  • 個別解決用のドメインネームサーバーは、実際にはメインのドメインネームサーバーです。ここで説明する個別解決とは、主に、クライアントごとに異なるドメイン名解決レコードを提供することを指します。
  • 異なるアドレスのクライアントが同じドメイン名の解決を要求する場合、異なる解決結果をクライアントに提供します
  • ここで、ゲートウェイサーバーに個別のDNS解決を設定して、ローカルネットワークホストがwww.lic.comを192.168.126.100に解決し、外部ホストがwww.lic.comを12.0.0.100に解決するようにします。
  • 注:スナップショットを再度取得し、名前を以前のaccpではなくxcfに変更し、ローカルをxuchengfeiに変更しました。

1.ゲートウェイサービス用にデュアルネットワークカードを構成します

  • ここでは、プライマリドメインネームサーバー(仮想マシン)を使用して、構成を続行します。
  • 最初にシャットダウンしてから、仮想マシンの設定を入力し、新しいネットワークカードを追加します
    マーク
  • 起動後に確認してください
    マーク
  • うんいいよ
  • 次に、ifconfigをチェックして、ネットワークポートのステータスを確認します
    マーク
  • 新しいネットワークカードを構成します
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens36        ##直接复制ens33的内容到新网卡,再进去编辑,更高效一点
  • 新しいネットワークカード
    vimifcfg-ens36を編集します
    マーク
  • ネットワークカードを再起動します
    systemctlrestart network
  • 確認するifconfigクエリ
    マーク

3.メイン構成ファイルを変更します

  • 以前に再起動しました。ここでミラーを再マウントします(dnsパッケージをインストールします)
    mount / dev / cdrom / mnt
    (yum -y install bind)
  • vim /etc/named.conf
  • 前の構成と同じように、「任意」であり、すべてのホストを解決できます。問題はありません。

4.ゾーン構成ファイルを変更します

  • ここでは、最初に以前の構成をすべて削除してから、それらを再構成します。次の図にはこれら3つしかないことに注意してください。
  • また、メイン構成ファイルに移動して、下の図のこの部分を切り取る必要があります。ビューを有効にしたら、すべてのゾーンをビューの下に配置する必要があるため、システムのデフォルトのセルフチェックで使用されるゾーンもビューの下に配置するか、削除する必要があります。
    マーク

5.地域データ構成ファイルを変更します

マーク

  • 最初にイントラネットの地域データ構成ファイルを編集します マーク
  • エクストラネットを編集しましょう
[root@localhost named]# cp -p xcf.com.zone.lan        ##直接复制内网,去修改外网 xcf.com.zone.wan
[root@localhost named]# vim xcf.com.zone.wan 

マーク

6.ドメイン名解決構成ファイルを表示および変更します

マーク

7.テスト

  • 最後に2つ
    言いましょう。システムのファイアウォールがオフになっていないことを確認してください
    。systemctlstopfirewalldsystemctl disable Firewalld
    setenforce 0
  • DNSドメイン名解決サービスを再起動してテストします
    マーク

8.仮想win10テストに参加します

  • 右クリックしてインターネット設定を開きます
    マーク
  • アダプターオプションの変更
    マーク
    マーク
    マーク
    マーク
  • CMD
    マーク

おすすめ

転載: blog.csdn.net/weixin_51486343/article/details/110839361
おすすめ