web-dev-qa-db-ja.com

OpenVPNを介して特定のトラフィックをルーティングする方法は?

私は自宅でrtorrentとApache2を使用してサーバーを実行しています。 rtorrentトラフィックをOpenVPN経由でルーティングしたいと思います。また、OpenVPNとiptablesは初めてなので、ユーザーフレンドリーなガイドが必要です。

私が試したこと:私はこの件について2日間グーグルをしていましたが、私を助けることができるものは何も見つかりませんでした。私はopenvpnでトンネルをテストしました、そしてそれは私のIPを正しくルーティングします、しかしここに問題があります。 Apache2サーバーを実行しているので、トンネルがアクティブになると(もちろん)動作を停止します。

私が欲しいもの:トンネルをアクティブにしたいが、デフォルトではなく、rtorrentトラフィックのみがトンネルを通過し、最後に、rtorrentのみがVPN経由で接続する必要があります。

私を教える仕事をしている人はいますか?

2
junkyhlm

私は2つの主要なステップでこれを解決することができました:

  1. TUNインターフェースを使用するサービスプロバイダーを選択してください。
  2. もう少しテーブルルーティング

テーブルルーティング

http://lartc.org/howto/ で最も役立つハウツーを読み、そこで提供されている手順に従いました。

私のセットアップは、3つのテーブル(メイン、T1、T2)に分割された2つの物理NIC(eth0とeth1)になりました。 T1(eth1)はデフォルトのもの(Apache2、sshなど)をルーティングし、T2(eth0)はrtorrent接続専用です。

それは魅力のように機能します。したがって、同じ問題が発生した場合は、lartc.orgで確認すれば、問題は解決します。

TAPインターフェイスでこの構成を試したことがないので、機能するかどうかはわかりません。

1
junkyhlm

これは「高度なルーティング」の問題です。

これらの記事は役立つはずです:

http://kindlund.wordpress.com/2007/11/19/configuring-multiple-default-routes-in-linux/

http://www.rjsystems.nl/en/2100-adv-routing.php

したがって、基本的には、2つのルーティングテーブルを構成する必要があります。どちらも独自のデフォルトルートと、どのトラフィックがどのルーティングテーブルを使用するかを指定するルールを使用します。

あなたの場合、デフォルトでトラフィックが「通常の」ルートを使用し、vpnインターフェースとの間で送受信される「vpn」トラフィックが「vpn」ルートを使用するように指定します。次に、rtorrentの起動時に、-bオプションを使用してvpnインターフェイスを使用するIPアドレスにバインドします。

VPNを確立した後、毎回ルートテーブルジャグリングを行う必要があります。

動作するようになったら、ここで使用したコマンドをそのままにしてください。

0
Viljo Viitanen