DNS学習の概要

参考記事

インタビュアー:DNSの原理について教え
てください米国がルートドメインネームサーバーをブロックした場合、中国はインターネットから姿を消しますか?
LinuxでのDNSドメイン名ハイジャックコマンド-digコマンドを使用して、DNSドメイン名ハイジャックの詳細な説明、DNSドメイン名ハイジャックの6つの方法とソリューションの詳細な説明
を使用します。

前書き

DNSはドメイン名をIPに変換するものです。人間の記憶が悪すぎて、IPをまったく覚えられず、コンピューター通信でIPを使用する必要があるため、人間はbaidu.comとtaobao.comを思い出せるようにドメイン名を発明しました。 。覚えられるドメイン名の種類。次に、DNSを介して、これらのドメイン名がコンピューターに必要なIPに変換されます。

構造

主机名.次级域名.顶级域名.根域名

www.tmall.comに対応する実際のドメイン名はwww.tmall.comです。

すべてのドメイン名にはルートドメイン名があるため、最後にルートドメイン名と呼ばれます。通常は省略します。

ルートドメイン名の次のレベルは、.comや.netなどの「トップレベルドメイン」(TLD)と呼ばれます。

次のレベルは「セカンドレベルドメイン」(セカンドレベルドメイン、SLDと略記)と呼ばれ、www.tmall.comの.tmallのように、このレベルのドメイン名はユーザーが登録できます。

次のレベルは、www.tmall.comのwwwなどのホスト名(ホスト)で、「第3レベルのドメイン名」とも呼ばれます。このレイヤーは、各ドメインの管理者によって確立され、ドメイン名を管理する組織を通過する必要はありません。ユーザーが割り当てることができます。たとえば、www.toutiao.comやm.toutiao.comなどのホストは、.toutiao.comのドメインで確立できます。

トップレベルドメイン名:このレイヤーの命名方法については議論の余地があります。米国以外の国では、ほとんどの国がISO3Il6によってカスタマイズされた国コードによって区別されます。たとえば、.cnは中国、.jpは日本、hkは香港などです。

しかし、米国では、私たちもいますが、組織の性質によって区別されるトップレベルドメイン名として使用されることはめったにありません。例:.comは商業組織を表し、.eduは教育機関を表し、.orgは非営利組織を表し、.netはコンピュータネットワーク組織を表し、.govは米国政府組織を表し、milは軍事部門を表します。

クエリプロセス

浏览器缓存1
hosts文件1
本机设置的DNS-简称LDNS111
根DNS服务器1
顶级域名服务器11
次级域名服务器11

上記はさまざまな教科書で言及されるDNSクエリプロセスですが、実際には、すべてのレベルにキャッシュがあるため、それほど面倒ではありません。

たとえば、ユーザーがブラウザに次のドメイン名を入力した場合:123.abc.qq.com.cn

1.ブラウザは、最初にこのドメイン名のキャッシュがあるかどうかを確認します。ある場合は直接戻ります。ない場合は、オペレーティングシステムに問い合わせます。オペレーティングシステムは自身のキャッシュも確認します。ある場合は、いいえ、hostsファイルに再度移動し、いいえ、LDNSに問い合わせます。

2. LDNSは、最初に123.abc.qq.com.cnのAレコードがあるかどうかを確認し、ある場合は直接返します。ない場合は、abc.qq.com.cnのNSレコードがあるかどうかを確認します。はいの場合は、回答を求めてください。そうでない場合は、qq.com.cnのNSレコードがあるかどうかを確認してください。ある場合は、質問してください。ない場合は、com.cnのDNSがあるかどうかを確認してください。そうではなく、qq.com.cnのNSレコードがあるかどうかを確認します。cnのDNSを確認します。cnのNSレコードがない場合は、ルートに問い合わせます。

したがって、キャッシュを使用すると、教科書のルートから質問する状況が実際に発生することはめったにありません。どこにもキャッシュがない場合にのみ、ルートに問い合わせます。

共通DNS

114.114.114.114

これは、チャイナモバイル、テレコムバイ、チャイナユニコムの一般的なDNSです。解決の成功率は比較的高く、より多くの国内ユーザーが使用し、速度は比較的高速で安定しています。国内ユーザーが一般的に使用するDNSです。インターネットにアクセスします。

8.8.8.8

これはGOOGLEが提供するDNSです。アドレスはユニバーサルであり、比較的言えば、外国のユーザーや外国のWebサイトにアクセスするユーザーに適しています。

180.76.76.76:BaiduはDNSを提供します。

223.5.5.5および223.6.6.6:AlibabaはDNSを提供します。

DNSハイジャック

現象:DNSの返された結果をハイジャックし、自分のIPを正しいIPに置き換えます。その結果、特定のWebサイトにアクセスできないか、アクセスされたのが偽のWebサイトであるため、情報を盗んだり、元の通常のサービスを破壊したりする目的が達成されます。

防御とは:

  1. コンピューターまたはルーターのDNSサーバーアドレスを、114.114.114.114(国内通信、チャイナモバイルおよびチャイナユニコムの一般的なDNS)や
    8.8.8.8(Google)などのよく知られたDNSサーバーに手動で変更します注:ルートがある場合は、ルーターのデフォルトのユーザー名とパスワードを変更して、ハッカーが推測後にルーターを使用してネットワーク機器を攻撃しないようにします。
  2. インターネット企業は3つ以上のドメイン名を用意しています。ハッカーがDNS攻撃を行った後でも、ユーザーは別のドメイン名にアクセスできます。

DNS汚染

現象:一部のネットワーク事業者は、特定の目的でDNSに対して特定の操作を実行したため、ISPの通常のインターネット設定を使用してドメイン名から正しいIPアドレスを取得できませんでした。DNS汚染は、DNSハイジャックの一種です。

防御:DNSハイジャックに対する防御と同じです。

一般的なLinuxコマンド

digコマンドは、一般的に使用されるドメイン名クエリツールであり、ドメインネームシステムが正しく機能しているかどうかをテストするために使用できます。

dig www.linuxidc.com

操作結果:
ここに画像の説明を挿入
最初の部分は、digコマンドのバージョンと入力パラメーターを示しています。
2番目の部分は、サービスによって返されるいくつかの技術的な詳細を示しています。より重要なのはステータスです。statusの値がNOERRORの場合、クエリが正常に終了したことを意味します。
3番目の部分の「QUESTIONSECTION」は、クエリするドメイン名を示しています。
4番目の部分の「ANSWERSECTION」はクエリの結果です。
5番目の部分は、このクエリの統計情報です。たとえば、所要時間、クエリされたDNSサーバー、クエリが実行された日時などです。

デフォルトでは、digコマンドはAレコードを照会します。上の図に示されているAは、照会されるレコードのタイプがAレコードであることを意味します。他の種類のレコードを照会する前に、まず一般的な種類のDNSレコードについて理解しましょう。

A 地址记录,用来指定域名的 IPv4 地址,如果需要将域名指向一个 IP 地址,就需要添加 A 记录。
AAAA 用来指定主机名(或域名)对应的 IPv6 地址记录。
CNAME 如果需要将域名指向另一个域名,再由另一个域名提供 ip 地址,就需要添加 CNAME 记录。
MX 如果需要设置邮箱,让邮箱能够收到邮件,需要添加 MX 记录。
NS 域名服务器记录,如果需要把子域名交给其他 DNS 服务器解析,就需要添加 NS 记录。
SOA SOA 这种记录是所有区域性文件中的强制性记录。它必须是一个文件中的第一个记录。
TXT 可以写任何东西,长度限制为 255。绝大多数的 TXT记录是用来做 SPF 记录(反垃圾邮件)。

クエリの実行時にdigコマンドがどのプロセスを実行するかについて知りたい場合は、+ traceオプションを試すことができます。ルートドメインから最終結果までのすべての情報を出力します。

dig +trace www.linuxidc.com

詳細については、以下を参照してください。Linuxでのドメイン名コマンドの解決-digコマンドの使用に関する詳細な説明

Pingは、データパケットをユーザー指定のアドレスに送信します。パケットが受信されると、ターゲットマシンはリターンデータパケットを送信します。pingには2つの主な機能があります。1。ネットワーク接続のブロックが解除されていることを確認するために使用されます。2.接続の速度情報を表示するために使用されます。

ping www.linuxidc.com

面接の質問

世界にはDNSがいくつありますか?

それらは13あり、そのうち10は米国にあり、それぞれ1つは英国とスウェーデンにあり、もう1つは日本にあります。

A.root-servers.net、B.root-servers.net、C.root-servers.net ... M.root-servers.net。Aの先頭にあるルートAはプライマリルートと省略され、他の12(B、C、D、E、F、G、H、I、J、K、L、M)はセカンダリルートです。

しかし、13を超える物理サーバーがあります。13のルートは単なる論理的な概念です。各ルートDNSには、その背後で動作する複数の実際の物理サーバーがあります。2020年8月12日の時点で、世界中に合計1,097のルートサーバーがあります。各ルートにはいくつかの鏡像があり、それらは世界中のさまざまな場所に配布されています。香港、マカオ、台湾を含めて、私の国には28のルートミラー画像があります。

世界には1,000を超えるルートミラーがあり、それらは13のIPを共有しています。根が13個しかないからです。これはどのように行われますか?答えはエニーキャスト(エニーキャスト)テクノロジーです。

エニーキャストとは、IPネットワーク上のIPアドレスを介して特定のサービスを提供するホストのグループの識別を指します。サービス訪問者は、どのホストがサービスを提供するかを気にしません。このアドレスにアクセスするパケットは、IPネットワークにルーティングできます。 。「最近の」サーバー(できれば1つだけ、複数に送信しないでください)サーバー。ここで「最近」とは、ルーターホップ、サーバー負荷、サーバースループット、クライアントとサーバー間のラウンドトリップ時間(RTT)、リンクの利用可能な帯域幅などの特性値を指します。

ルートミラーの役割は何ですか?

ルートミラーは、ルートと同じ機能を果たします。

ルートDNSで最も重要なファイルは、ルートゾーンファイル(ルートゾーンファイル)です。すべてのトップレベルドメインレコードは、ルートゾーンファイルに保存されます。

セカンダリルートはプライマリルートからのデータを同期し、ルートミラーはルートからのデータを同期します。最終的に、すべてのルートとミラーは同じルートゾーンファイルを持ちます。

そして最も興味深いのは、ルートミラーとルートが同じIPを持っていることです。

米国がルートネームサーバーをブロックした場合、中国はインターネットから姿を消しますか?

しない。私たちの国には28のルートミラー画像があります。ルートミラーは、ルートと同じ機能を果たします。そして最も興味深いのは、ルートミラーとルートが同じIPを持っていることです。彼らは一緒に13のIPを共有します!正しい。根が13個しかないからです。これはどのように行われますか?答えはエニーキャスト(エニーキャスト)テクノロジーです。

エニーキャストとは、IPネットワーク上のIPアドレスを介して特定のサービスを提供するホストのグループの識別を指します。サービス訪問者は、どのホストがサービスを提供するかを気にしません。このアドレスにアクセスするパケットは、IPネットワークにルーティングできます。 。「最近の」サーバー(できれば1つだけ、複数に送信しないでください)サーバー。

中国のユーザーの場合、ルートのリクエストは通常​​、米国には送信されませんが、エニーキャストテクノロジーを介して中国のルートミラーにルーティングされます。

cnレコードの削除など、米国はルートDNSで何をしますか?それでも中国のWebサイトにアクセスできますか?

できる。通常の状況:cnに関連する行を削除すると、すぐにすべてのルートに同期されます。その後、すべてのキャッシュの有効期限が切れると、世界中の誰も.cnサフィックスが付いたWebサイトにアクセスできなくなります。

しかし、中国には独自の28のルートミラーがあります。cnの変更を同期できません。例:プログラムを作成し、各同期の直後にcnレコードを追加するだけです。ユーザーは引き続き中国語のWebサイトにアクセスできます。

そのため、中国自体を除いて、他の国の人々は.cnWebサイトにアクセスできません。ただし、これらの国はまもなく対応します。.cnWebサイトにアクセスしたい国は、cnレコードを追加し直し、米国によって削除された行の同期を拒否します。結局、アメリカ人だけが.cnウェブサイトにアクセスできませんでした。

権威ネームサーバー

ドメイン名に対する信頼できる回答を提供する責任:ドメイン名を尋ねると、IPが通知されます。わからない場合は、誰が知っているかを通知しますので、もう一度質問してください。
リクエストに対して信頼できる回答を提供する責任があります。信頼できるDNSは、最も一般的な3つのタイプであるレコードを格納します。

  1. レコード(ドメイン名とそのIP間の対応を記録します)。
  2. NSレコード(ドメイン名と、ドメインの解決を担当する権限のあるDNSを記録します)。
  3. CNAMEレコード(ドメイン名とそのエイリアスの記録を担当)。

機関が直接応答できる場合は、Aレコードを返します。応答するために他の信頼できるDNSが必要な場合は、NSレコードを返します。次に、LDNSは他の信頼できるDNSにアクセスして、レコードがエイリアスタイプであるかどうかを確認します。 CNAMEが返され、LDNSが再び実行されます。エイリアスを解決します。

おすすめ

転載: blog.csdn.net/fangye1/article/details/113563651