「トンネルを作成するときにホスト名の代わりにIPアドレスを指定する」必要があるのはなぜですか?

「トンネルを作成するときにホスト名の代わりにIPアドレスを指定する」必要があるのはなぜですか?

以前の投稿で質問しましたSSHプロトコルがターゲットに正常に接続できないのはなぜですか? 私の元のコマンドは

ssh -L 9000:google.com:80 testme@localhost

この問題を解決するために、Stephen Kittは次のように書いています。

たとえば、Webブラウザを使用すると、トンネルを作成するときにホスト名の代わりにIPアドレスを指定できます。

ssh -L 9000:216.58.213.142:80 testme@localhost

「トンネル作成時にホスト名の代わりにIPアドレスを指定する」理由は何かを知りたいです。

google.comが216.58.213.142と確認された場合、これら2つのコマンドは同じではありませんか?

IPアドレスと仮想ホストの間に違いはありますか?

ありがとうございます。

答え1

google.comが216.58.213.142と確認された場合、これら2つのコマンドは同じではありませんか?

はい、しかしここで重要なのは、google.comでGoogle IPアドレスを確認できない状況を処理することです/etc/hosts。 IPアドレスを指定するだけです(有効なIPアドレスを取得するために独自のDNSルックアップを実行して決定します)。 Google の地理的に適切な IP アドレスについては、最初に確認したり、/etc/hosts他の解決メカニズムを使用せずにトンネルが期待どおりに設定されていることを確認できます。 SSHは必要に応じて転送されたポートへの接続を解析して開きます。ポートをホスト名として渡し、そのホスト名のアドレスを上書きすると、SSHは予想されるアドレスの代わりにオーバーライドされたアドレスに接続を転送しようとします。

関連情報