ssh -Dを使用してsocksプロキシ経由ですべてのトラフィックをルーティングする


9

-Dを使用してすべてのトラフィックをsshプロキシ経由でルーティングする簡単な方法はありますか?

これを行うように個々の特定のアプリケーションを構成できますが、マシン上のすべてのトラフィックをルーティングする構成が必要です。ご協力いただきありがとうございます!


私がLinuxを使っていたので、iptablesを使用してルーティングできるので、理想的でした。
grm

回答:


10

Linuxの場合:

  1. iptables -t nat -A出力!-d 127.0.0.0/8 -j REDIRECT --to 1081
  2. 1081をリッスンするプログラムを実行し、リダイレクトされていない実際の宛先アドレスを取得し、SOCKSサーバーとネゴシエートしてリレーします。

私はそのようなプログラムをPerl(プロトタイプ品質)で個人的に使用するために作成し、Cでより良いバージョンを作成しています。それはまだ公開されていません。

更新:現在公開中:http : //github.com/vi/socksredirect/ prototype.plを使用します。より良いバージョンの開発に興味がある場合は、通知を送ってください。

アップデート2:それを少し改良版に作成http://github.com/vi/tcpsocksとsocatに関する2用のパッチ:http://github.com/vi/socksredirect/blob/master/socat-2.0.0-をb3-REDIRECT.patch

PS私の(そして時にはいくつかの隣人の)トラフィックのほとんどはtcpsocks-> sshを通過します。


非常に興味深いプロジェクトVi。ありがとう!これを見てみます。
grm

おそらく、より多くのiptablesルールを使用して、どのトラフィックをsocks化するかを選択する必要があります。「iptables -t nat -A OUTPUT -j QQQ」を使用し、次に「iptables -t nat -A QQQ <チェック> -j RETURN」の束を使用し、最後に「iptables -t nat -A QQQ -p tcp -j REDIRECT- -1234インチまで。
Vi。

ありがとうございました!これが実行可能かどうか疑問に思っていましたが、いつか試してみたいプロジェクトアイデアの長いリストに載っていました。
東武

@Tobuは、私はこれ以上実施している:今socatに関するパッチ(ありgithub.com/vi/socksredirect/blob/master/...これも軽量tcpsocksプログラム(用)github.com/vi/tcpsocks
Viに。

1
@ Tanmay、tunデバイスを使用すると、TCPパケットのみが表示され、それらをバイトのストリームにデコードするのが難しくなります(のようなものが必要になりますslirp)。REDIRECTまたはTPROXYでは、recvTCPヘッダーなしでデコードされたデータを提供する通常の方法を使用します。
Vi。

8

Avery Pennarunのsshuttleは、Vi回答と同様に機能しますが、必要な設定が少なく、BSDとOS X、およびLinuxで機能します。


2

代わりに、VPNの設定を検討する必要があります。


それはゲートウェイ側でより多くのアクセスを必要としないでしょうか?
grm

Ubuntuの自宅でVPNサーバー(poptop)をセットアップしました。職場では、Windowsに組み込まれているVPNクライアントを使用して接続するだけです。ネットワーク管理者などに迷惑をかけることはありません。
Espennilsen、2010

1

これを行う方法はないと思いますが、FreeCap(windows)、SocksCap(windows)、proxychains(linux)などのプログラムを試してみることもできます。


0

使用しているOSによって異なります。MacOSを使用している場合、それらを尊重しない人(Firefox ie)がいる場合でも、すべてのアプリケーションで使用する必要があるグローバルプロキシ設定があります。


特にMacOSでは、グローバルプロキシ設定の信頼を確認する必要があります。
chiggsy 2010年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.