OpenWRTにOpenVPNクライアントをインストールし、ゲームトラフィックを含むすべてのトラフィックをVPN経由で転送したいと思います。
ただし、サーバーはクライアントにパスをプッシュしません。 OpenWRTでip route
コマンドを使用してip rule
設定してこれを達成するにはどうすればよいですか?
- 更新 -
実は、オープンネットワークただ仮想マシンなので、VirtualBoxにデプロイしました。ホスト上のすべてのトラフィックは仮想マシンを介して転送されます。 IPルーティングを使用してトラフィックを静的にルーティングする方法についての記事を読みましたが、ルールのアドレス部分を置き換えるip route add
ために使用する必要があるIPアドレスはまだわかりませんip rule add
。
答え1
VPNを介してルータからのすべてのトラフィックをルーティングするには、OpenVPNを介してデフォルトルートを設定します。インターネットゲートウェイを介してOpenVPNサーバーの外部IPへのパスを設定する必要があります(自動設定されていない場合)。
ip route add <openvpn server external ip> via <default internet gateway>
ip route change default via <openvpn gateway (internal) ip>
トラフィックが発生する場所(または他の基準)に応じて異なるルートを適用するには、別々のルートテーブルを使用して作成する必要があります。ルールいつ使用しますか?
たとえば、新しいテーブルIDは次のようになります。10
:
ip route add default via <openvpn gateway (internal) ip> table 10
ip rule add from <your network (address+netmask)> table 10
ip route flush cache
パスを変更する必要はありません。基本別のルーティングテーブルを使用する場合は、ルーティングテーブル。
OpenVPNサーバーは、ネットワーク上のホストへのパスを自動的に認識しません。これらのルーティングを設定するか、OpenVPNクライアントでNATを使用する必要があります。
答え2
ここでIPv4について話しているようですが?これがデフォルトルーターの場合、クライアントにパスを提供する必要はありません。一般的な状況では、クライアントはすでにルーターがデフォルトのルートに設定されているため、ルーター(この場合はOpenWRT)は残りのトランスポートを簡単にソートできます。
ただし、質問に答えるには、通常DHCPサーバーを使用してクライアントにルーティング情報を提供できます。 IPアドレス、DNS(照会)情報、およびクライアントへのルーティングを提供します。最も一般的には、ルーティングテーブル全体ではなく、前述のデフォルトパスにのみ適用されます。
答え3
OpenVPN サーバー構成に以下を追加する必要があります。
push "redirect-gateway def1"
これにより、VPNサーバーゲートウェイを介して128.0.0.0ルートが確立され、すべてのトラフィックがそれを通過し始めます。
アップストリームと正しいルーティングのためのMASQUERADEはすでにOpenWRTに設定されているため、カスタムルーティングを含む残りの構成は不要になる可能性があります。