特定のプログラムに対するVPN経由のトラフィック

特定のプログラムに対するVPN経由のトラフィック

DelugeのトラフィックはVPN(OpenVPN)のみを通過し、他のトラフィックはiptablesを通過できなくなりますか?

答え1

Deluge User Guideにはこれに関するページがあります。VPN による Deluge の設定。デフォルトのTorrent-VPN設定用のスクリプトは、以下にあります。このGitHubリポジトリ。 README.mdファイルには、OpenVPNに関するいくつかのコンテンツも含まれています。

OpenVPNでこれらのスクリプトを使用するには、リポジトリを複製してvpn_base.sh。 openvpn クライアント構成を編集し、次の行を追加します。

up "/path/to/repo/link_up_user_filter.sh"

openvpnクライアントの起動時に外部スクリプトの自動実行を許可するには、パラメータを使用してopenvpnを実行するか、クライアント--script-security 2構成に次の行を追加します。

script-security 2

彼らが言う「価値」vpn_base.shは次のとおりです。

VPNIF="tun0"
NETIF="eth1"
VPNUSER="vpnuser"
TABLE_ID=42
MARK_ID=0x10

私はこのスクリプトに慣れていませんが、次のように一致すると思います。

  • VPNトラフィック用のネットワークインターフェイス。
  • インターネットに接続するネットワークインタフェースです。
  • VPNソフトウェアを実行しているユーザー(openvpnあなたの場合?)
  • 使用可能なルーティングテーブル ID。
  • 使用可能なパケットタグ ID。

設定が完了すると、スクリプトはいくつかのルーティング/ファイアウォールルールを設定し、DelugeトラフィックはOpenVPNを通過する必要があります。

しかし、次のような警告の言葉があります。これらのスクリプトはIPTablesのテーブルとテーブルをnat更新するように見え、これまでに設定したすべてのIPTables設定を消去します。manglefilter

iptables -F -t nat
iptables -F -t mangle
iptables -F -t filter

iptables-saveまずフォームを保存するか、user_filter/iptables_user_filter.shファイルを編集してください。

詳しくは、次のリンクをご覧ください。

答え2

アプリケーションを具体的にターゲットにすることはできないため、依存関係のない唯一のソリューションは、すべてのポートをVPNに接続するiptables構成を作成することです。しかし、何を伝えるかを知る必要があり、間違えやすいです。

より良い解決策は、Linuxコンテナを使用してその中でアプリケーションを実行することです。その後、コンテナのネットワークカードがすべてのトラフィックをVPNに転送するようにします。これはArchのチュートリアルですが、基本的な概念はすべてのディストリビューションに適用されます。

https://wiki.archlinux.org/index.php/OpenVPN_in_Linux_containers

関連情報