私は SSH トンネルをセットアップしており (Linux 上)、すべてのネットワーク トラフィックをそのトンネル経由でルーティングしたいと考えています。ただし、Tor も実行しており、Tor トラフィックが SSH トンネル経由でルーティングされることは望んでいません。 を使用してすべてのトラフィックを SSH トンネル経由でルーティングできますredsocks
(SSH で SOCKS プロキシを実行し、 を実行しredsocks
、iptables
すべてのトラフィックを にリダイレクトするルールを使用してredsocks
、すべてのトラフィックがトンネル経由でルーティングされるようにします)。
しかし、Tor にトンネルを回避させて直接接続させる方法がわかりません...以前はこれに最適なオプションiptables
がありました--pid-owner
が、適切に実装できなかったため削除されました。
では、今これを行う最善の方法は何でしょうか? (SSH トンネル アプローチは固定されており、別の種類の VPN に切り替えることはできません。)
答え1
tor
実行しているのと同じシステムで実行しますredsocks
。tor
リモート システムの socks ポート 9050に例外を設定します(iptables
これを許可するルールなどを設定します)。- Tor を使用するには、localhost の代わりに {リモート システム IP}:9050 に接続するようにブラウザに指示します。
- ローカルでも実行している場合は
privoxy
、リモート システムでも実行することを検討してください。
もう 1 つは、特定のポートを別のローカル プロキシ サーバーに転送できる別の SOCKS プロキシを使用することです。squid
これは可能だと思います。
答え2
iptables オプションは一致--uid-owner
の一部である-m owner
ため、見つけるのに苦労した可能性があります。
次のようなルールが機能します:
-A OUTPUT -m owner --uid-owner 998 -m conntrack --ctstate NEW -j ACCEPT
ここで、998 は Tor の UID です。これを既存のファイアウォールに適合させます。