IPv4・IPv6プロキシ:どちらの接続に対応が必要か
クライアントからプロキシ、プロキシからサイトへの接続は、異なるアドレスファミリーを使えます。接続先を選ぶ前に両方を確認します。
IPv6のプロキシリスナーへ接続するには、クライアント側からのIPv6ルートが必要です。そのプロキシがサイトへ接続するときは、IPv4を使うこともできます。逆に、必要な対応とルートがあれば、IPv4リスナーのプロキシからIPv6の接続先に到達できます。
| 接続 | 必要な対応 |
|---|---|
| クライアント → プロキシ | エンドポイントのアドレスへのルートと、到達可能な待受サービス。 |
| プロキシ → 接続先 | プロキシ側の適切な接続先アドレス、リゾルバー、送信ルート、アクセス方針。 |
完全なプロキシURLでは、IPv6アドレスリテラルを角括弧で囲みます。
http://[2001:db8::10]:8080文書用のアドレスは実際のエンドポイントに置き換えてください。ホストとポートが別欄の場合は括弧なしのアドレスを求められることがあるため、アプリの形式に従います。正しい構文でも不足するIPv6ルートは作れません。リスナーを疑う前に、ネットワークのIPv6状態や別のIPv6接続先と比較してください。
接続先アドレスを選ぶのはどちら側か
ホスト名によるCONNECTリクエストは、接続先への接続をプロキシに任せます。SOCKS5ではクライアントのモードに応じて、IPv4アドレス、IPv6アドレス、ドメイン名を渡せます。クライアント側のアドレスファミリー指定を強制しても、リモートで解決されるホスト名まで制限できるとは限りません。そのオプションがどの接続に効くのかを確認します。
そのため、IPv6リスナーを選んだ後にIP確認サービスがIPv4を報告することは、クライアントが別の接続を作らなくても起こり得ます。まず、そのサービスがTCPの接続相手、アプリケーションヘッダー、ブラウザーの別リクエストのどれを報告しているかを確認してください。平文HTTP転送ではクライアントアドレス情報を追加できますが、通常のCONNECT中継は接続先の暗号化HTTPにヘッダーを挿入できません。Forwarded情報には信頼方針が必要で、それだけでは別のネットワーク接続の証拠になりません。
エンドポイント、接続先、プロトコル、最初の失敗を記録します。リスナーに到達できないことと、リスナーから接続先に到達できないと返されることは別です。ProxyHubプロキシ一覧の収集機能が現在受け付けるのはIPv4のレコードです。ここでのIPv6例は一般的な動作の説明であり、現在の一覧にIPv6フィルターがあるという意味ではありません。