web-dev-qa-db-ja.com

「google.ca」のA名のエントリを必要なIPアドレスに設定できないのはなぜですか。

GoDaddyドメイン名をGCPのIPアドレスにポイントしたときVM Webサーバーを実行しているとき、これが私がしなければならなかったすべてです。

  1. GoDaddyネームサーバーをGCPネームサーバーに変更する
  2. ドメインのIPアドレスにGCP DNSでA/CNAME/SOAエントリを作成します

世界中のどのドメインでも同じことができないのはなぜですか。

実際のところ、私はそうしました:

Screenshot

CNAME、A、SOA google.caのエントリをVMの外部パブリックIPアドレスに作成しましたが、何も止まりませんでした。今では、Googleのすべてのトラフィックがどこにでも向けられるとは思わないしたい(それは楽しいDDOSです)が、ここで何が起こっているのですか?何が欠けていますか?

私の意図は非倫理的ではありません。私は単にそれがすべてどのように機能するかを学びたいと思っています。

56

何もあなたを止めません。しかし、誰も見ていないでしょう。これは、実際のドメインがネームサーバー(GCP DNS)を指していないためです。これらのレコードは、ネームサーバーに直接要求することによってのみ取得できます。

DNSクエリはルートから始まります。

$ Dig google.ca +trace

; <<>> Dig 9.11.5-P4-5.1-Debian <<>> google.ca +trace
;; global options: +cmd
.                       68215   IN      NS      h.root-servers.net.
.                       68215   IN      NS      k.root-servers.net.
.                       68215   IN      NS      i.root-servers.net.
.                       68215   IN      NS      g.root-servers.net.
.                       68215   IN      NS      a.root-servers.net.
.                       68215   IN      NS      b.root-servers.net.
.                       68215   IN      NS      d.root-servers.net.
.                       68215   IN      NS      f.root-servers.net.
.                       68215   IN      NS      l.root-servers.net.
.                       68215   IN      NS      e.root-servers.net.
.                       68215   IN      NS      j.root-servers.net.
.                       68215   IN      NS      m.root-servers.net.
.                       68215   IN      NS      c.root-servers.net.
;; Received 553 bytes from 192.168.2.5#53(192.168.2.5) in 31 ms

ca.                     172800  IN      NS      c.ca-servers.ca.
ca.                     172800  IN      NS      x.ca-servers.ca.
ca.                     172800  IN      NS      any.ca-servers.ca.
ca.                     172800  IN      NS      j.ca-servers.ca.
;; Received 626 bytes from 202.12.27.33#53(m.root-servers.net) in 24 ms

google.ca.              86400   IN      NS      ns1.google.com.
google.ca.              86400   IN      NS      ns2.google.com.
google.ca.              86400   IN      NS      ns3.google.com.
google.ca.              86400   IN      NS      ns4.google.com.
;; Received 603 bytes from 199.253.250.68#53(x.ca-servers.ca) in 42 ms

google.ca.              300     IN      A       172.217.16.163
;; Received 54 bytes from 216.239.32.10#53(ns1.google.com) in 22 ms

(簡潔にするためにDNSSECのものは省略しました。)

もちろん、通常は自分で反復クエリを実行することはありません。再帰的なDNSサーバーがそれをはるかに高速に実行してくれます。

82
Daniel B

それが1980年だとすると、電話帳はまだ存在しています。電話帳のKmartのエントリに移動し、その電話番号をあなたの店の電話番号に置き換えるのを止めるのは何ですか?何もない。あなたはこれを自由に行うことができ、その電話帳を使用すると、Kmartに電話をかけるたびに、自分の店ができます。あなたの心の内容に電話番号を付け直すことができます。

事は、他の誰もが自分の電話帳を持っており、彼らはあなたの電話帳を見ていません。電話会社に侵入してKmartの電話番号を変更できない場合を除いてthereが送信する電話帳にあなたの会社の電話番号が含まれるようにしておかないと、Kmartのビジネスを拒否することはできません。

同様に、信じられないほど長いドメイン名を入力するのにうんざりしていて、オートコンプリートに依存したくない場合は、short.comを信じられないほど長いドメイン名に変換するサーバーを自由に設定できます。コンピューターでそのサーバーを使用してドメイン名を解決します。しかし、他のユーザーのコンピューターにもそのサーバーを使用させることができない限り、アドレスバーにshort.comと入力したときに何が起こるかには影響しません。

33
Acccumulation

だから私の質問は、私が世界中のどのドメインに対しても同じことをするのを妨げているのは何ですか?実際のところ、そうしました。

難しいのは、.caネームサーバーにインストールされているネームサーバーのNSレコードを含むそのデータを取得することです。彼らはおそらくあなたにそれをさせないでしょう、そしてサードパーティはルートから下へネームサーバーをクエリすることでドメインを解決します、それで(グローバル)ルートを最初に、それが.caネームサーバーにアドレスを与えます。 .google.caネームサーバーへのアドレス。

もちろん、これらのレコードを組織のネームサーバーにインストールすると、組織内の誰もが設定したデータを見ることができます。 (まあ、8.8.8.8のようなものではなく、組織のネームサーバーを直接使用していると仮定します。)しかし、誰かがそこでHTTPS接続を開こうとすると、組織外のCAがキーに署名しないため、エラーが発生します。そのドメイン。 (もちろん、組織内に独自のCAを設定することで回避できますが、それは別の話です。)

24
ilkkachu

答えを表現するためのより良い方法は、あなたがそれを行うことはできても、それを作成したドメインには影響を及ぼさないと言うことです。

デバイスがIPアドレスに接続しようとすると、順番にいくつかの場所からルックアップが実行されます。

  1. ドメインを解決する方法を伝えるローカルHostファイルエントリを検索します。
  2. エントリが見つからない場合は、レジストラで設定されているネームサーバーのドメインサービスを確認します。
  3. 次に、これらのネームサーバーは、参照する権限のあるDNSゾーンファイルを指定します。
  4. 次に、ゾーンファイルは信頼できるAレコードを提供します。

作成したゾーンファイルは、権限のパブリックリファレンスチェーンに含まれていないため、パブリックトラフィックには影響しません。

ただし、正しい(または間違った)状況でローカルトラフィックに影響を与える可能性があります。たとえば、何らかの理由で権限のあるDNSを確認する前にローカルDNSを確認している(ローカルHostファイルでホスト名のIPアドレスを指定するのと同様)と仮定します。メールルーティングと同様。たとえば、サーバーがローカルメールルーティングに設定されているが、信頼できるMXレコードがリモートマシンを指している場合などです。ローカルマシンから送信されたメールは、信頼できる情報に基づいてではなく、内部でルーティングされる場合があります。

だから、せいぜいそれはあなたの時間の無駄です。最悪の場合、自分のものを台無しにしてしまいます。

3
David Scott

試してみてください https://howdns.works これは、反復DNSと再帰DNSの両方と、それがどのように機能するかを非常に楽しく理解できる方法でカバーしています。ダニエルがほぼまとめた答えには、必要なものがすべて含まれています。

1
Mihai T.

このようなことは役に立ちます!ファイアウォールをAOLに設定して、顧客のユーザーが同じTCPポート上のファイアウォールプロキシ経由でAOLにアクセスできるようにしました。

0
David Pickett