ウェブサイト検索

SSHuttle:安全なトラフィックルーティングのためのVPNのようなツール


SSHuttleは、LinuxユーザーがSSHを使用してリモートサーバーを介してネットワークトラフィックを安全にルーティングできる強力なVPNのようなツールです。これは、安全なトラフィック暗号化、ファイアウォールの回避、または本格的なVPNを設定する手間をかけずに制限されたリソースにアクセスする必要があるシナリオに最適です。

このチュートリアルでは学びます:<&47;strong>

  • SSHuttleを使用してすべてのトラフィックをSSH経由でルーティングする方法
  • 機能を強化するための高度なSSHuttleオプション

SSHuttleの始め方

SSHuttleの最も基本的な使用法は、すべてのトラフィックをリモートSSHサーバーを通じてルーティングすることです。これにより、すべてのネットワーク活動のためのVPNのようなトンネルが作成されます。

  1. すべてのトラフィックをSSH経由でルーティングする<&47;strong>: リモートSSHサーバーを介してすべてのネットワークトラフィックを安全にルーティングします。

    $ sshuttle -r user@remote-server 0/0

    このコマンドは、すべての送信トラフィック(0&47;0<&47;code>はすべてのIP範囲を意味します)をリモートサーバー経由で送信します。user<&47;code>をあなたのSSHユーザー名に、remote-server<&47;code>をSSHサーバーのホスト名またはIPアドレスに置き換えてください。これを実行すると、あなたのインターネット活動はリモートサーバーから発信されているように見え、ローカルのファイアウォールやネットワーク制限を回避します。

    \n PINGが機能していません\n
    \n SSHuttleはICMPトラフィックをサポートしていないため、pingコマンドは機能しません。TCPとオプションでDNSトラフィックのみをルーティングします。接続をテストするには、curlやsshなどのツールを使用してください。

  2. DNSトラフィックを含める: DNSクエリをリモートサーバー経由でルーティングすることで、DNSリークを防ぎます。

    $ sshuttle -r user@remote-server --dns 0/0
  3. --dnsオプションは、DNSリクエストも暗号化され、SSHトンネルを通じてルーティングされることを保証します。これは、SSHuttleを使用する際にプライバシーを維持し、DNSリークを回避するために不可欠です。

  4. ルート特定トラフィックのみ<&47;strong>: 内部企業リソースなど、特定のサブネットへのルーティングを制限します。

    $ sshuttle -r user@remote-server 10.1.2.0/24

    この例は、10.1.2.x<&47;code> サブネットのトラフィックのみをSSHトンネルを通じてルーティングします。無関係なインターネットトラフィックをルーティングせずに、リモート内部システムにアクセスするのに便利です。

  5. 特定ルートの交通のみ

  6. 特定のネットワークインターフェースにバインドする<&47;strong>: SSHuttleがリッスンするネットワークインターフェースを制御します。

    $ sshuttle --listen 10.1.2.99 -r user@remote-server 0/0
  7. --listen<&47;code>オプションは、SSHuttleを特定のローカルインターフェースにバインドします。例えば、10.1.2.99<&47;code>のようにです。これは、マルチインターフェースシステムでSSHuttleのトラフィックを制限するのに特に便利です。

  8. デーモンとして実行: SSHuttleをバックグラウンドで実行し続けます。

    $ sshuttle -r user@remote-server 0/0 -D

    -D<&47;code>オプションはSSHuttleをデーモン(バックグラウンドプロセス)として実行します。これをログ記録と組み合わせて監視します:

    $ sshuttle -r user@remote-server 0/0 -D --logfile /path/to/logfile.log
  9. 特定のホストを除外する<&47;strong>: 特定のIPまたはドメインがSSHuttleを通じてルーティングされるのを防ぎます。

    $ sshuttle -r user@remote-server 0/0 --exclude example.com

    --exclude<&47;code>オプションを使用して、example.com<&47;code>のような特定のホストやサブネットをバイパスします。複数のケースを処理するために除外を組み合わせます:

    $ sshuttle -r user@remote-server 0/0 --exclude example.com --exclude 10.1.2.99
  10. これにより、ルーティングを最適化し、トンネル内の不必要な交通を避けることができます。

結論

SSHuttleは、SSHを通じて安全なトラフィックルーティングを簡素化する多目的ツールです。すべてのトラフィックをルーティングする必要がある場合や、特定のサブネットにアクセスする場合、DNSルーティングやトラフィック圧縮などのオプションで機能を強化する場合でも、SSHuttleは軽量で柔軟なソリューションを提供します。上記の例を組み合わせることで、特定のネットワーキングニーズに合わせてSSHuttleを調整できます。