delugeのトラフィックをVPN(OpenVPN)経由でのみ許可し、他のトラフィックをiptablesを使用しないようにすることは可能ですか?
アプリケーションを具体的にターゲットにすることはできないため、依存関係のない唯一の解決策は、すべてのポートをVPNに転送するiptables構成を作成することです。しかし、何を転送するかを知っている必要があり、それはエラーが発生しやすいです。
より良い解決策は、Linuxコンテナを使用してアプリを内部で実行することです。次に、コンテナのネットワークカードにすべてのトラフィックをVPNに転送させます。これはArchのチュートリアルですが、基本的な概念はすべてのディストリビューションに適用されます。
https://wiki.archlinux.org/index.php/OpenVPN_in_Linux_containers
Delugeユーザーガイドには、それに関するページがあります: VPNを使用したDelugeのセットアップ 。基本的なトレント-VPNセットアップのスクリプトは このGitHubリポジトリ にあります。 README.mdファイルにはOpenVPNについて少しでもあります:
これらのスクリプトをOpenVPNで使用するには、リポジトリのクローンを作成し、
vpn_base.sh
でインターフェースとユーザーに正しい値を設定します。 openvpnクライアント構成を編集し、次の行を追加します。
up "/path/to/repo/link_up_user_filter.sh"
Openvpnクライアントの起動時に外部スクリプトを自動的に実行できるようにするには、引数
--script-security 2
を指定してopenvpnを実行するか、次の行をクライアント構成に追加します。
script-security 2
彼らがvpn_base.sh
で話している「値」は次のとおりです。
VPNIF="tun0"
NETIF="eth1"
VPNUSER="vpnuser"
TABLE_ID=42
MARK_ID=0x10
私はこれらのスクリプトにあまり精通していませんが、次のスクリプトに対応していると思います。
openvpn
?)セットアップが完了すると、スクリプトはいくつかのルーティング/ファイアウォールルールをセットアップし、DelugeトラフィックはOpenVPNを通過するはずです。
警告の言葉:これらのスクリプトはnat
、mangle
、およびfilter
をフラッシュするようですIPTables内のテーブル。これにより、これまでに作成したIPTables構成がすべて消去されます。
iptables -F -t nat
iptables -F -t mangle
iptables -F -t filter
必ず最初にiptables-save
を使用してテーブルを保存するか、user_filter/iptables_user_filter.sh
ファイルを編集してください。
さらに詳しい情報が必要な場合は、次のリンクを参考にしてください。