ウェブサイト検索

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


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

このチュートリアルでは、あなたは学びます:

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

SSHuttleの使い方

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

  1. すべてのトラフィックをSSH経由でルーティング: リモートSSHサーバーを通じてすべてのネットワークトラフィックを安全にルーティングします。

    sshuttle -r user@remote-server 0/0

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

    PING が動作していません
    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. 特定のルートトラフィックのみ: 社内リソースなど、特定のサブネットへのルーティングを制限します。

    sshuttle -r user@remote-server 10.1.2.0/24

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

  5. 特定のネットワークインターフェースにバインドする: SSHuttleがリスニングするネットワークインターフェースを制御します。

    sshuttle --listen 10.1.2.99 -r user@remote-server 0/0
  6. --listenオプションは、SSHuttleを特定のローカルインターフェース、例えば10.1.2.99にバインドします。これは、SSHuttleのトラフィックを制限するために、複数のインターフェースを持つシステムで特に便利です。

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

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

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

    sshuttle -r user@remote-server 0/0 -D --logfile /path/to/logfile.log
  8. 特定のホストを除外: 一部のIPやドメインがSSHuttleを通じてルーティングされるのを防ぎます。

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

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

    sshuttle -r user@remote-server 0/0 --exclude example.com --exclude 10.1.2.99
  9. これにより、ルーティングを最適化し、トンネル内での無駄なトラフィックを避けることができます。

結論

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

関連記事: