
私の問題は次のとおりです:
ルーターを使用せずに FIOS ISP に接続すると、つまり FIOS モデムに直接接続すると、A
別の ISP/ネットワークに接続したときとは異なる DNS レコードが取得されます。
- 私の FIOS ISP では、次を実行します:
nslookup netflix.com
- これは DNS を指定せずに実行し、次の結果を得ます:
Non-authoritative answer:
Name: netflix.com
Addresses: 2a01:578:3::22fa:2993
2a01:578:3::3413:2893
2a01:578:3::341f:91b7
2a01:578:3::34d1:eb8d
2a01:578:3::341e:2dc6
2a01:578:3::36ab:7445
2a01:578:3::34d2:745
2a01:578:3::341f:b664
54.77.143.196
52.208.135.54
34.252.179.162
52.209.79.186
52.17.227.174
52.51.252.111
54.171.187.60
52.30.103.23
- 再び、FIOS ISP で、DNS リゾルバを指定して次のコマンドを実行すると
nslookup netflix.com 85.203.37.1
、85.203.37.1
(1) とまったく同じ結果が返されます。
Non-authoritative answer:
Name: netflix.com
Addresses: 2a01:578:3::22fa:2993
2a01:578:3::3413:2893
2a01:578:3::341f:91b7
2a01:578:3::34d1:eb8d
2a01:578:3::341e:2dc6
2a01:578:3::36ab:7445
2a01:578:3::34d2:745
2a01:578:3::341f:b664
54.77.143.196
52.208.135.54
34.252.179.162
52.209.79.186
52.17.227.174
52.51.252.111
54.171.187.60
52.30.103.23
- しかし、 DNSリゾルバ
nslookup netflix.com 85.203.37.1
を85.203.37.1
指定して実行すると、どれでも他のネットワーク、つまりVPN経由やモバイルデバイスなどで接続すると、
Non-authoritative answer:
Name: netflix.com
Addresses: 198.255.83.3
107.182.237.252
(3) は私が期待していた応答ですが、理解できないのは、(2) で FIOS ISP に接続したときに、DNS リゾルバを指定していないかのように見えること (実際には指定している)、および DNSA
レコードが ISP の DNS が返すものとまったく同じであることです。
私にとってこれが本当に奇妙に思えるのは、これが何らかの DNS 傍受またはハイジャックのように見えることです。DNS 傍受について Google でいろいろ検索してみましたが、実際にそれが起こっているのかどうかはわかりません。
残念なことに、DNS 要求が傍受されていることを常に証明する一貫したテストが 1 つも見つかりません。DNS 要求を傍受またはリダイレクトする方法が非常に多様であるためだと思います。私が行った「テスト」の一部は次のとおりです。
- https://padlock.argh.in/2019/04/28/sky-dns-interception.html
- https://superuser.com/a/1348765/450105
- https://labs.ripe.net/Members/babak_farrokhi/is-your-isp-hijacking-your-dns-traffic
これらのテストのすべてにおいて、私は傍受が起こっている結果。
DNS インターセプトの詳細についてできる限り学ぼうとしましたが、非常に複雑なので、理解できたとは言えません。しかし、私が収集した情報から判断すると、FIOS ISP が何らかの方法でA
DNS レコードを書き換えているということしか考えられません。
これは合理的な結論でしょうか、それとも私が見落としている何かがあるのでしょうか?
私は、この問題が徐々に私を狂わせつつあるので、気が狂いつつあるかもしれないという免責事項を記載しました。
答え1
あなたは気が狂っているわけではなく、ISP が DNS の結果を改ざんしているわけでもありません。現代のインターネットは、あなたが想像しているよりもはるかに複雑で仮想化されているだけです。
トラフィックの多い Web サイトでは、コンテンツ配信ネットワーク (CDN) が使用されています。CDN には、インターネットの「エッジ」の周囲、つまり消費者がインターネットに接続する場所の近くにサーバーが分散されています。そのため、Netflix から何かをストリーミングする場合、そのコンテンツは米国カリフォルニア州ロスガトスの Netflix 本社からではなく、ローカル ISP のネットワーク インフラストラクチャに接続された CDN「エッジ ノード」サーバーから配信されます。そのため、応答時間、帯域幅、信頼性はすべて、遠くからストリーミングする場合よりも大幅に向上します。
CDN でホストされているドメイン名に対して DNS クエリを実行すると、CDN の DNS サーバーは、DNS クエリの送信元の IP アドレスに基づいて、ユーザーに最も近いエッジ ノードを指す A レコードと AAAA レコードで応答します。
わかりました。しかし、ほとんどのDNSサーバーは、DNSクエリを再帰的に解決するときにクライアントのIPアドレスを漏らしません。では、なぜ異なる回答が得られるのでしょうか。同じDNSサーバーから異なるネットワークから接続する場合はどうなりますか?
そうですね、あなたの場合、使用している DNS サーバー (85.203.37.1) は、「Bring Your Own IP」(BYOIP) 方式で IBM クラウド ホスティングにホストされているようです。そのため、85.203.37.1 へのトラフィックも、トラフィックの送信元ネットワークに応じて実際には異なる物理サーバーに送信されます。そのため、その IP アドレスは falco-networks.com に割り当てられたネットブロックからのものですが、Falco は IBM がそのネットブロックへのルートを「所有」するように手配したようです。そのため、その IP アドレスへのトラフィックは IBM のグローバル ネットワークへの最も近いエントリ ポイントにルーティングされ、その後 IBM はそれを最も近いエッジ ノードにルーティングします。
そのため、85.203.37.1 に traceroute すると、そのネットブロックが RIPE (欧州地域インターネット レジストリ) の IPv4 割り当ての一部であり、Falco がオランダの会社のように見えるにもかかわらず、米国の私の都市部で終了します。CDN とクラウド サービスを介して一連のネットワーク仮想化が行われていない限り、その traceroute がヨーロッパ以外の場所で終了することは決してありません。そこに traceroute すると、オランダのどこかで終了するのではないかと思います (オランダにいると推測します)。
独自のトレースルートと whois クエリを使用してこの点を再確認したい場合は、ドメイン「networklayer.com」、「softlayer.net」、および「sl-reverse.com」はすべて IBM が所有し、IBM のクラウド インフラストラクチャの一部として使用されていることに注意してください。したがって、これらの名前のいずれかが最後または最後から 2 番目の名前付きホップに表示されている場合、その時点でトラフィックが IBM のクラウド サービス ネットワークに入ったことを強く示唆しています。