したがって、いくつかのレイヤーソリューションを実行せずにp2pを実際にブロックすることはできないことはわかっていますが、私の問題ははるかに単純です。私はトレントが問題ない(誰も気にしない)国にいますが、youtubeやfacebookなどの基本的なサイトへのアクセスは厳しく検閲されています。このため、私はVPSをレンタルし、その上でopenvpnを実行し、その接続を自分自身と親しい家族の何人かと一緒に使用します。問題は、VPNモードで意図的に「スリップ」してトレントアプリを実行していない可能性があることです。これにより、VPNがロックされる可能性があります。

すべてのqbittorrentを、8999などの特定のポートを常に使用し、ポート8999を使用するvpsへの接続をブロックするように設定できると考えています。それは可能ですか?どうすればこれを続けることができますか?効果はありますか?

VPSはubuntu20.04を実行しています

answer

免責事項:ファイアウォールルールを試してみる前に、VPNにアクセスする別の方法があることを確認してください。あなたは本当に簡単に自分を締め出すことができます。VPNプロバイダーが提供するコンソールのようなものが理想的です。これがない場合はat、iptablesルールセットを試してみる前に自動的にフラッシュするジョブを設定してください。

OpenVPNインターフェースからカーネルに向かうトラフィックをフィルタリングできます。

iptables -A INPUT -i tun0 -p tcp --dport 8999 -j REJECT

tun0OpenVPNが作成するインターフェースに置き換えてください)

これにより、VPNインターフェイスを介して着信するポート8999が拒否されます。この変更は永続的ではないことに注意してください。この変更を永続化する方法については、使用しているiptables-wrapperのドキュメントを参照してください。

Ubuntuのデフォルトはufw、次のようになります。

ufw deny in on tun0 proto tcp to any port 8999

その結果:

[email protected]:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
8999/tcp on tun0           DENY        Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
8999/tcp (v6) on tun0      DENY        Anywhere (v6)

セキュリティの観点からは、明示的に許可したものを除いて、すべてをブロックするiptablesルールセットを設定することをお勧めします。

「すべてではないが何かのためのVPN」の問題に対する私の解決策は、HTTPプロキシを使用することです。これは、Webブラウザトラフィックのみをトンネリングするのに適しています。

セットアップは本当に簡単です:

  • VPNクライアントがデフォルトルートを変更ないことを確認してくださいredirect-gatewayOpenVPNやAllowedIPs = 0.0.0.0/0WireGuardなど)
  • VPNサブネット上でプロキシサーバー(Squidなど)を実行およびリッスンする
  • このプロキシを使用するようにWebブラウザのみを設定する

プロキシについて知らないすべてのアプリケーションは、インターネットに直接トラフィックを送信し続けます。

もちろん、いくつかの注意点があります。VPNが接続されていない場合、ブラウザは機能しません。一部のブラウザでは、ネイティブまたは拡張機能を使用して、プロキシをすばやく切り替えることができます。他のトラフィック(SSHなど)をトンネリングする場合、このソリューションはほとんどの場合機能しません(ただし、すべてのTCP接続で機能する可能性があります)。


BitTorrentのようなピアツーピアアプリケーションは通常、ブロックされたポートを回避することができます。逆接続やランダムポートなどを使用できます。私はそんなに壊れやすいものに頼らないでしょう。