1. DNSサーバーの概念 インターネットでの通信には IP アドレスの助けが必要ですが、数字に対する人間の記憶力は単語に対する記憶力に比べてはるかに劣っています。そのため、IP アドレスを覚えやすい単語に変換するのは良い考えですが、コンピューターは 0 と 1 のコードしか認識できません。このとき、IP アドレスとホスト名の変換問題を解決するメカニズムが必要です。DNS は Domain Name System の略で、よく使用する「Web サイト」を IP アドレスに解決するオンライン分散データベース システムです。ほとんどの DNS 名はローカルで解決され、オンラインで通信する必要があるのは少数だけなので、非常に効率的です。 2. DNS関連の概念 DNS はツリー状のディレクトリ構造を使用してホスト名の管理をさまざまなレベルに分散し、ホスト名の検索を高速化し、ホスト名解決の変更をより便利に行うことができます。 ドメイン: TLD: トップレベルドメイン 組織のドメイン: .com、.org、.net、.edu、.gov、.mil、.cc、… 国別ドメイン: .cn、.us、.tw、.iq、… 逆ドメイン:.in-addr-arpa 完全修飾ドメイン名: FQDN は Fully Qualified Domain Name の略で、完全修飾ドメイン名です。 逆解決: IPアドレスからFQDNへの変換を逆解決と呼びます。 ゾーン: 順方向または逆方向の解決では、各ドメインレコードはゾーンです。 3. DNSサーバーの解決 DNS の主な機能はホスト名を解決することです。 分析: ユーザーが指定した名前に従って、解析ライブラリにクエリを実行して別の名前を取得します。 ドメイン名 -> IP、IP -> ドメイン名 リソースレコード: rr (リソースレコード) にはタイプの概念があり、このレコードを解析するために使用される属性があります。
4. DNSサーバーの原理 DNSは再帰と反復の2つのクエリメカニズムを使用します。 クライアントは DNS サーバーにクエリ要求を送信します。DNS サーバーはローカル解決ライブラリを検索しましたが、結果が見つからないため、ルート ドメインにクエリ要求を送信します。ルート ドメインは、DNS サーバーに、.com サーバーに必要なリソースがあることを伝えます。DNS サーバーは .com サーバーに再度クエリ要求を送信し、.google.com サーバーに必要な結果があることを伝えます。最終的に、.google.com サーバーで解決レコードが見つかり、クライアントに返されます。上記のクエリ プロセスでは、クライアントは要求を 1 回だけ送信し、最終結果を取得します。このクエリ メソッドは再帰と呼ばれます。DNS サーバーは、目的の結果が得られるまで、クエリ プロセス中に要求を送信し続けます。このクエリ メソッドは反復と呼ばれます。 5. DNSクエリの順序
6. DNSサーバーポート TCP UDP 53 7. DNSサーバーの種類 プライマリ DNS サーバー: クライアントにドメイン名解決を提供する主な領域。プライマリ DNS サーバーに障害が発生した場合、セカンダリ DNS サーバーが有効になり、サービスを提供できるようになります。 DNS サーバーから:
キャッシュサーバー: サーバー自体は解決ゾーンを提供しておらず、非権威応答のみを提供します。 転送サーバー: DNS サーバーの解決領域 (キャッシュを含む) が現在の要求に対して信頼できる回答を提供できない場合、要求は他の DNS サーバーに転送されます。このとき、ローカル DNS サーバーが転送サーバーになります。 構成: nslookup、dig dns クライアント テスト ツール DNS サーバーの設定、順方向解決、逆方向解決 1. ファイアウォールとSelinuxをオフにする systemctl 停止 ファイアウォール systemctl ファイアウォールを無効にする 強制0を設定する 強制する 2. DNSサーバーソフトウェアをインストールする yum インストール bind-chroot #メイン設定ファイル /etc/named.conf #ゾーン設定ファイル /etc/named.rfc1912.zones は、ドメイン名と IP アドレスの対応を保存するために使用されます。#データ設定ファイル ディレクトリ /var/named は、ドメイン名と IP アドレスの対応の場所を保存するために使用されます。 3. メイン設定ファイルを変更する vi /etc/named.conf listen-on port 53 { any; }; #サーバー上のすべてのIPアドレスがDNSドメイン名解決サービスを提供できます allow-query { any; }; #誰もがこのサーバーにDNSクエリ要求を送信できるようにします #named-checkconfコマンド検出構文 4. 地域設定ファイルを変更する #ドメイン名とIPアドレスの対応関係を保存するファイルです。このファイルにはドメイン名とIPアドレスの解決ルール、保存ファイルの場所、サービス種別などが定義されていますが、具体的なドメイン名、IPアドレスの対応情報は含まれていません。サービスには、ヒント (ルートゾーン)、マスター (プライマリゾーン)、スレーブ (セカンダリゾーン) の 3 種類があります。一般的に使用されるマスターとスレーブは、プライマリサーバーとスレーブサーバーゾーン "c74.com" IN { を指します。 type master; #サービス タイプ ファイル "c74.com.zone"; #ドメイン名と IP アドレス解決ルールの保存ファイル allow-update { none; }; #どのクライアントが解決情報を動的に更新できるか }; #転送解決パラメーター zone "1.168.192.in-addr.arpa" IN { #192.168.1.0/24 ネットワーク セグメントで表されるリフレクション解決ゾーン type master; ファイル "192.168.1.arpa"; }; #逆解析パラメータ 5. 前方解析 5.1 vi /etc/named.rfc1912.zones 元のベースで変更することも、クリアして、使用されている情報ゾーン「c74.com」のみを保持することもできます。IN { #サービス タイプ type master; #ドメイン名と IP アドレス解決ルールの保存ファイル file "c74.com.zone"; #解決情報を動的に更新できるクライアント allow-update { none; }; }; #named-checkzone はゾーンファイルの設定をチェックします 5.2#データ設定ファイルを編集します。 /var/named ディレクトリから前方解決テンプレート ファイル (named.localhost) をコピーし、ドメイン名と IP アドレスの対応するデータをデータ構成ファイルに入力して保存します。コピーするときに、元のファイルの所有者、グループ、権限属性などを保持できる -a パラメータを追加することを忘れないでください。 cd /var/named cp -a named.localhost c74.com.zone #named.localhost のファイル内容 (テンプレート) を c74.com.zone にコピーします vi c74.com.zone $TTL 1D #ライフサイクルは1日です @ IN SOA c74.com. root.c74.com.( #@現在のドメイン名 #認証情報の開始 #DNSゾーンのアドレス #ドメイン管理者の電子メールに@記号を使用しないでください 0 ; serial #シリアル番号を更新 1D ; refresh #更新時間 1H ; retry #再試行遅延 1W ; expire #有効期限 3H ); minimum #無効な解決レコード時間 NS ns.c74.com. #ドメイン ネーム サーバー レコード ns IN A 192.168.5.153 #アドレス レコード ns.c74.com. IN MX 10 mail.c74.com. #メールボックス交換レコード 10 は優先度番号で、数字が小さいほどレベルが高くなります。mail IN A 192.168.5.153 #アドレスレコード mail.c74.com. www IN A 192.168.5.153 #アドレスレコード www.c74.com。 news IN A 192.168.5.153 #アドレスレコード news.c74.com。 5.3 サービスを開始してテストする systemctl 再起動名前付き yum インストールbind-utils -y #bind-utils は nslookup を使用してクライアントの DNS をテストします > www.c74.com サーバー: 192.168.5.153 住所: 192.168.5.153#53 #他のテストも必要ですが、ここでは省略します 6. 逆分析 #逆解決の機能は、ユーザーが送信した IP アドレスを対応するドメイン名情報に解決することです。一般的には、特定の IP アドレスにバインドされているすべてのドメイン名を一括してブロックしたり、特定のドメイン名から送信されたスパムをブロックしたりするために使用されます。 6.1 vi /etc/named.rfc1912.zones ゾーン "1.168.192.in-addr.arpa" IN { タイプマスター; ファイル "192.168.1.arpa"; }; 6.2 設定ファイルの編集 # /var/named ディレクトリから逆解析テンプレート ファイル (named.loopback) をコピーし、次のパラメータをファイルに入力します cd /var/named cp -a 名前付きループバック 192.168.1.arpa vi 192.168.1.arpa $TTL 1日 @ SOA c74.com 内。root.c74.com。( 0 ; シリアル 1D ; 更新 1H;再試行 1W ; 期限切れ 3H ) ; 最小 NS ns.c74.com をご覧ください。 nsA 192.168.5.153 153 PTR ns.c74.com。#PTR はポインタ レコードであり、逆方向の解決にのみ使用されます 153 PTR mail.c74.com。 153 PTR www.c74.com. 153 PTR news.c74.com. 6.3 テスト systemctl 再起動名前付き nslookup 7. DNS アドバンスド マスター スレーブ サービス #マスターサーバーは上記で導入したので、以下では主にスレーブサーバーを紹介します 7.1#マスターサーバーのゾーン構成ファイルでスレーブサーバーの更新要求を許可します。つまり、allow-update {ゾーン情報の更新を許可するホストアドレス};パラメータを変更し、マスターサーバーのDNSサービスプログラムを再起動します。 vi /etc/named.rfc1912 を参照してください。 ゾーン ゾーン "c74.com" IN { タイプマスター; ファイル "c74.com.zone"; 更新を許可します { 192.168.10.20; }; }; ゾーン "10.168.192.in-addr.arpa" IN { タイプ マスター; ファイル "192.168.10.arpa"; 更新を許可します { 192.168.10.20; }; }; systemctl 再起動名前付き 7.2#マスターサーバーのIPアドレスとスレーブサーバーにキャプチャするエリア情報を入力し、サービスを再起動します。このときのサービス タイプはマスターではなくスレーブである必要があることに注意してください。 masters パラメータの後にマスター サーバーの IP アドレスを指定し、file パラメータで同期データ構成ファイルが保存される場所を定義します。後でこのディレクトリ内の同期ファイルを確認できます。 vi /etc/named.rfc1912.zones ゾーン "c74.com" IN { タイプスレーブ; マスター { 192.168.10.10; }; ファイル "slaves/c74.com.zone"; }; ゾーン "10.168.192.in-addr.arpa" IN { タイプスレーブ; マスター { 192.168.10.10; }; ファイル "slaves/192.168.10.arpa"; }; #ファイルパラメータは、同期されたデータ構成ファイルが保存される場所を定義します。後でこのディレクトリ内の同期されたファイルを確認できます。}; systemctl restart named 7.3 #解析結果を確認します。通常、スレーブ サーバーの DNS サービス プログラムを再起動すると、データ構成ファイルはマスター サーバーから自動的に同期され、デフォルトではゾーン構成ファイルで定義されたディレクトリの場所に配置されます。次に、スレーブ サーバーのネットワーク パラメータを変更し、DNS アドレス パラメータを 192.168.10.20 に変更して、スレーブ サーバー自体が提供する DNS ドメイン名解決サービスを使用できるようにします。その後、nslookup コマンドを使用して解析結果を正常に確認できます。 cd /var/named/slaves ls #スレーブ サーバーはマスター サーバーのファイルを同期することに注意してください。 nslookup ホームページ 192.168.10.10 上記は、編集者が紹介した Linux での DNS サーバーの設定の詳細な統合です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: MySQL 5.7.17 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル
>>: Javascript で SessionStorage と LocalStorage を使用する方法
比較的シンプルな業務のプロジェクトもありますが、フロントエンドのページングを多用します。プラグインの...
Linux システムには 2 種類のスケジュールされたタスクがあります。1 つは 1 回だけ実行され...
静的ノードはマシン上に固定されており、いくつかの固定コマンドを通じて起動されます。動的ノードには複数...
環境の準備1. 環境構築React Native 中国語ウェブサイト2. 開発ツール フロントエンド...
1. MySQLをダウンロードする公式サイトのダウンロードアドレス https://dev.mys...
この記事では、天気予報機能を実現するためのVueの具体的なコードを参考までに共有します。具体的な内容...
Linux viコマンドの詳しい説明vi エディタは、すべての Unix および Linux システ...
1. 入力・貼り付けできるのは中国語のみ<input onkeyup="value=...
React プロジェクトの構築は非常に簡単ですが、Typescript と組み合わせると、実際にはそ...
Elasticsearchは現在非常に人気があり、多くの企業が利用しているため、esを知らないと軽蔑...
この記事では、簡単なパズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な...
私は、デスクトップ バージョンとサーバー バージョンの両方で、仮想マシンにさまざまなイメージを何度も...
この記事では、pycharm2017でpython3.6とmysqlを接続する方法を参考までに紹介し...
目次要約する <テンプレート> <div> 要素 <h2>{{メ...
MySQL x64 はインストーラーを提供していません、インストーラーを提供していません、インストー...