SSHに関する確実なガイドでは、次のように述べています。
ローカルコンピュータの接続をremote.host.netに転送するとします。次のコマンドはすべて有効です。
$ ssh -L2001:localhost:143 remote.host.net $ ssh -L2001:remote.host.net:143 remote.host.net
転送された接続は、リモートコンピュータ上のループバックアドレスまたはRemote.host.netで行われます。どちらの場合も、接続はリモートシステムに保持され、ネットワークを介して移動しません。ただし、両方の接続は、転送された接続を受信するサーバーとは大きく異なります。このためです接続のソースソケットが異なります。。 localhostへの接続が次から来るようです。ソースアドレス 127.0.0.1、Remote.host.netへの接続は、以下で提供されます。名前に関連付けられた住所。
「名前に関連付けられた住所」とは何ですか?
「ソースアドレス127.0.0.1」とどう違いますか?
ありがとうございます。
答え1
ssh
今はそれを無視してより簡単なことをしましょう。
そうすれば
telnet localhost 143
localhost
次に、からまで接続を確立します。localhost
その代わりに
telnet my.ip.address 143
my.ip.address
次に、からまで接続を確立します。my.ip.address
どちらの場合も、同じシステムのポート143に接続しますが、ソースアドレスが変更されました。したがって、宛先IPアドレスが送信元IPアドレスを変更することがわかります。
ポート転送の場合も同様ですssh
。
最初のバージョンではに接続するので、localhost
ソースはですlocalhost
。 2番目のバージョンでは、サーバーのプライマリIPアドレス(remote.host.netのIPアドレス)に接続するため、ソースはそのIPアドレスから来ます。
これは特別な問題ではなく、ssh
IPルーティングが一般的に機能する方法です。