一般人の用語で説明されているSSHトンネリング

一般人の用語で説明されているSSHトンネリング

使ったばかりですこのガイド私の会社のプロキシをバイパスするためのSSHトンネルを作成します。一般的な「Putty」を使用する代わりに、「MobaXterm」(Unixツールも提供するパテに似たプログラム)を使用してトンネルを作成しました。

ssh -D 7070 -p 22 [email protected] sleep 9999

それからブラウザ(Firefox)を開いて使用するように言いました。靴下存在するローカルホストポート7070

すべてがうまく機能していますが、基本的な技術が実際にどのように機能するのかわかりません。私は、一般的にプロセスがどのように進行するかを知っていますが、もっと深く入りたいと思います。

私の言葉は、現在私たちは私の知識を自動車の知識と比較できることを意味します。エンジン、ホイール4つなどがあることはわかりますが、エンジンが実際にガソリンを使って車を動かす方法はわかりません。これまで私が受けた2つの答えは、私がすでに知っている内容を説明してくれるだけです。私はCCNPを持っており、データセンターでネットワークエンジニアとして働いており、プログラミング方法を知り、Linux環境に関する十分な知識を持っています。完全な(20ページ未満のRFC長さ)回答を提供してください。

回答には以下を含める必要があります。

  1. デフォルトのトンネルオプションの説明。良い例はこの答えの絵です。SSHトンネルについて学ぶ
  2. どのトンネルをいつ、どの用途に使用するか(一般トンネル、リバーストンネル)
  3. トンネル前/後のWiresharkキャプチャ
  4. プロセスを説明する写真(結局私は視覚的な人です)

約束します。100点差し上げますこの問題に賞金をかけられるようになるやいなや。本当に良い答えが必要です。 (賞金を忘れた場合は、ilcon7e [at] gmail [dot] comに電子メールを送ってください。

編集する

問題が改善されました。

ベストアンサー1

会社のファイアウォールによってブロックされていないWebサイトにアクセスすると、ブラウザはポート80(デフォルト)を介してURLにリストされているサーバーに要求を送信します。たとえば、このサイトにアクセスするために、当社のブラウザはポート80でサーバーと通信します。unix.stackexchange.com

プロキシ設定を指定するときは、localhostURL が何であれ、すべてをポート 7070 に送信するようブラウザに指示します。プロキシサーバーは、クライアントに代わって単純にデータを取得するように設計されています。さまざまなプロキシサーバーが利用可能です(distoリポジトリをすばやく検索すると、一部が見つかります。squidそのうちの1つであり、apacheWebサーバーnginxもプロキシとして機能します)。プロキシがWebサイトにアクセスしようとするため、サーバーをインストールしても役に立ちません。あなたの代わりに、まだ会社のファイアウォールによってブロックされます。

ただし、リモートサイト()のデーモンsshと一緒に-Dオプションを使用すると、サーバーがローカルとリモートの2つの部分に分割されることを除いて、プロキシサーバーのように動作します。sshdyourserver.comsshsshd

ブラウザからの要求は、ポートでリッスンしているコンピュータのクライアントhttp://unix.stackexchange.comに送信されます。これにより、要求が暗号化されてリモートサーバーに送信されます。その後、要求を復号化して関連サーバー(やはりポート80)に送信し、戻りパス(サーバーが応答を返す必要があるIPアドレスとポート)をサーバーパス()に変更します。ssh7070sshdunix.stackexchange.comsshdyourserver.com

Stack Exchange Webサーバーはこのプロキシについて何も知らず、サーバーのIPアドレスとポートに対してユーザーが要求するすべてのページに応答しますsshd(この小さな変更のおかげで)。ただし、このサーバーは、要求がコンピュータsshで実行されたことを知っているので(これらの情報テーブルを維持する)、それを暗号化して再送信します。sshあなたのコンピュータ上のサーバーはあなたのブラウザに返信を送り返し、ブラウザはあなたのためにウェブページを忠実に表示します。

sshこれは分散エージェントのように機能します。ここで、「トンネル」は、プロキシが2つの部分に分割され、誰もがスヌーピングできない暗号化されたトンネルを介して互いに通信し(あなたの場合)、ファイアウォールによってブロックされないポートを使用しているという事実です。 (ポート22)。

おすすめ記事