
「unblock-us.com」のように、他の国から地理的に制限されたサービスを利用できるようにするサービスが多数あります。設定は常に同じです。DNS を置き換えるだけです。
私の質問は、それがどのように機能するかということです。
HTTP トラフィックの場合、非常に簡単です。DNS は適切な地理的領域にあるサーバーの IP を返し、HTTP 要求を受け入れ、HOST ヘッダーから認識されるサーバーに転送する必要があります。
HTTPS トラフィックの場合 - HTTP トラフィックは SSL 経由で送信されるため、理論的にはどのプロキシでも、送信先が不明な暗号化されたデータの BLOB が送信されたことしかわかりません。どのように機能するのでしょうか?
答え1
Smart DNS サービスは、実際のリクエストの内容を気にする必要はなく、接続全体をそのままリダイレクトするだけです。もちろん、リダイレクトされたドメイン名と IP アドレスの間に 1:1 のマッピングが必要です。
にアクセスしたい場合netflix.com
、スマート DNS サーバーは応答を「偽造」し、たとえば に誘導します。1.2.3.4
このサーバーは Netflix を騙すために米国にあります。実際のサーバーと PC の間を仲介しながら、トラフィックのヘッダーをいくつか入れ替えるだけですnetflix.com
。Netflix にとっては、 と通信しているように見えます1.2.3.4
。
サーバーは、 へのトラフィックが到着すると1.2.3.4
、それが Netflix 用であることを認識します。Youtube 用の別のアドレス が存在する可能性があります1.2.3.5
。
答え2
最近のソフトウェアのほとんどは、プロキシを中間者として構成することで SSL トラフィックを復号化および再暗号化できます。この方法では、SSL/TLS 証明書の信頼チェーンは確かに壊れますが、少し複雑であるため、ユーザーはそれが壊れていることに気付きません。
私の場合、透過プロキシに似たような設定をしていましたが、レジュメにはこれを実行するSquid3
という機能があります。これは(このSquid-in-the-middle SSL Bump
リンク) は、居住する国や州によっては違法となる可能性があるため、道徳的、さらには法的問題が伴います。ただし、プロキシが動的証明書を生成する場合、どのような場合でもユーザーがそれを受け入れる必要があることに注意してください。
これについて詳細に説明している非常に優れたリンクがあり、読みやすいので、このような透過プロキシがどのように行われるかを理解するのに役立つと思います。