web-dev-qa-db-ja.com

SSHトンネルを介してインターネットをルーティングするにはどうすればよいですか?

旧Qルート権限なしでOpenVPNサーバーをセットアップするにはどうすればよいですか?

ルート権限なしでOpenVPNサーバーをセットアップする方法はありますか?例えば。ホームディレクトリに設定ファイルがありますか?はいの場合、どのように設定しますか?

私はシステムにSSHで接続し、個人使用のためにそこにOpenVPNサーバーをセットアップしようとしています。

編集

OpenVPNにはルート権限が必要であることは明らかなので、簡単に設定できるSSHを使用してインターネットをルーティングするように質問を変更しています。

23
Oxwivi

sshuttleは、SSH接続を介して転送し、リモートサーバーでPythonスクリプトを実行してプロキシを設定する透過的なプロキシサーバーです。 。 sshuttleは、次の条件で実行できます。

  • クライアントマシンまたはルーターはLinuxベース、FreeBSDまたはMac OS
  • クライアントの管理者権限
  • sSHを介したリモートネットワークへのアクセス
  • noリモートネットワークの管理者権限
  • リモートサーバー上のPythonの可用性

インストール sshuttle enter image description here Software Centerまたはターミナルから:

Sudo apt-get install sshuttle

すべてのトラフィックをルーティングしてsshuttleを実行するための基本的なコマンドは次のとおりです。

sshuttle -r username@sshserver:port 0/0

コマンドの実行時に、Sudoパスワードプロンプトが表示され、続いてSSHアカウントのパスワードが表示されます。短いメッセージを除いて他の詳細は表示されず、失敗するとシェルに戻ります。さらにステータスメッセージを表示するには、-vフラグを使用して、sshuttleを冗長モードで実行します。

この例では、DNSを除くすべてのインターネットトラフィックがVPNを介してルーティングされます。 -rフラグは、上記の例に続くリモートホスト名とオプションのユーザー名とポートを示します。 0/0は、VPN経由でルーティングするサブネットを表す0.0.0.0/0の略です。 0/0を使用すると、DNS要求を除くすべてのトラフィックがリモートサーバーにルーティングされます。 -Hフラグを使用すると、DNSチューニングが可能になります。

sshuttleを実行できるオプションとモードの詳細については、manページ(man sshuttle)をお読みください。概念とその他の例については、 プロジェクトページ を参照してください。

31
André Paramés

特定の操作で必要になるため、ルート権限なしでOpenVPNをセットアップすることはできません。

  • 前提条件:(iptables?)ファイアウォールでパケット転送を有効にする必要があります
  • 動作中のデバイスの追加:ifconfigを使用して特別な仮想デバイスを追加する必要があります。それ以外の場合、サーバーとクライアントの間で通信はできません

ニーズに応じて、他のソリューションを利用できます。サーバーをブラウズするために、SOCKSサーバーをセットアップできます。

SOCKSプロキシ

SOCKSプロキシの設定は難しくありません。OpenSSHに組み込まれています。 SOCKSサーバーを有効にするには、 a terminal で次のコマンドを実行します。

ssh user@Host -D1234

1234を優先ポートに置き換えます。ブラウザでは、localhostをホストとして、1234をSOCKS4/5サーバーのポートとして入力できます。

以下は、Firefoxブラウザーの例です。

  1. Edit->Preferencesに移動します
  2. Advancedセクションを開きます
  3. Networkタブに移動します
  4. 設定を押します
  5. Select手動プロキシ設定
  6. localhostSOCKS Hostと入力します
  7. ポートとして1234を入力します(SSHコマンドで指定されたものと同じポート)
  8. OKおよびCloseを押して、設定ダイアログを閉じます。

FIrefox setup example

17
Lekensteyn