トンネル、VPNトンネル、SSHトンネルの違いは何ですか?ウィキペディアによると、「トンネリング」は次のとおりです。
トンネリングは通常、OSIやTCP/IPのような階層型プロトコルモデルとは対照的です。配信プロトコルは通常(常にではありません)、ペイロードプロトコルよりも高いレベル、または同じレベルでモデル内で動作します。
しかし、それは私にとってはあまり意味がありません。 TCPペイロードを運ぶためにHTTPのようなトンネルが使用されていますか?
この「トンネル用語」はすべて、いくつかの実用的な(実際の)例で意味をなすと思います。
SSHトンネル(主にsocksプロキシとして使用)は、TCPパケットに対してのみ機能します。VPN(OpenVPN
またはPPTP
など)も使用できるためです。 UDPパケットを処理します。
ウェブの閲覧はTCPだけですが、ほとんどのゲームはUDPも使用しています。また、VPNを使用する場合は、VPNを使用するように各アプリケーションを構成する必要はありませんが(OSがこれを行うため)、Socksプロキシ(SSHトンネル用)にはいくつかの構成が必要です。
アプリケーションがこれらのプロトコルをサポートしていない場合は、 ProxyCap などを使用して、アプリケーションにsocksプロキシを強制的に使用させることができます。
VPNを使用すると、コンピューターは別のネットワークの一部になります。コンピュータとターゲットネットワーク間のすべてのトラフィックは暗号化されます。ターゲットネットワーク上のすべてのコンピューターにコンピューターから直接アクセスできます。
Sshを使用すると、別のホストに接続するだけで、サーバーのネットワークの一部にはなりません。
アナロジー。ディスカッションがあるが、あなたがいないと考えてください。電話があります。ディスカッションが行われる部屋を呼び出します。離れた部屋の電話がスピーカーフォンである場合、あなたの声は誰でも聞くことができ、誰もが直接あなたと話すことができます。すべての実用的な目的のために、あなたは事実上存在しているので、これはVPNです。
電話がスピーカーフォンに対応していない場合、メッセージをリレーするのは一度に1人の人物のみと話すことができます。これがSSHの例えです。
SSHトンネルは、TCP接続のみを転送します。VPNは、IPパケットまたはネットワークフレームを転送します。IPパケット転送VPNは、IPサブネット(すべてのIPベースのプロトコル)とネットワークフレーム転送(ブリッジ)VPNがリンクできるため、参加者は同じイーサネットにいるように見えます。
同様に暗号化されているため、VPNとSSHトンネルのセキュリティに本質的な違いはありません。
SSHトンネル
SSHトンネルを使用すると、ホストのポートNNNNへのすべての接続をリモートホストのポート22(SSH)に転送するトンネルを作成できます。
Autosshのようなものでそれを行うことができます(例: https://www.everythingcli.org/ssh-tunnelling-for-fun-and-profit-autossh/ )
この場合、ホストへの単一のポート転送ルールが見つかります。ルーティングテーブルは変更されず、追加のインターフェイスは追加されません。
VPNトンネル
VPNトンネルをセットアップするには、ファイアウォールがVPNトンネルに接続して確立するための論理トンネルインターフェイスが必要な両端のレイヤ3インターフェイス。トンネルインターフェースは、2つのエンドポイント間でトラフィックを配信するために使用される論理(仮想)インターフェースです。つまり、ipconfig(Windows)/ ifconfig(Mac、Linux)を使用してシステムインターフェイスを調べると、接続を確立する新しいインターフェイスが表示されます。
VPNトンネルの場合、ルーティングテーブルには、会社の各サブネットのデフォルトゲートウェイから会社のLANへの複数のルートがあります。デフォルトゲートウェイから会社のネットワークへのルートがあります。
コマンドnetstat -nr
を実行すると、VPNクライアントで設定されたルートを見つけることができます。 VPN接続がある場合とない場合のコマンドを実行すると、ルーティングテーブルに違いが表示されます。