
Linux でルーティング サーバーを設定しています。
- インターネットへのイーサネット リンク (eth0) (高速ですが、一部のサイトにアクセスできません)。
- ローカル ユーザーにインターネット アクセスを提供する OpenVPN リンク (tun0)。
- 2 番目のインターネット リンク (低速、無料) であるプロキシ サーバーへの OpenVPN リンク (tun1)。
私の目標は次のとおりです。一般的なインターネット アクセスについては、eth0 経由でルーティングします。eth0 にリンクできないサイトについては、tun1 経由でルーティングします。
最初の実験は成功しました。いくつかのテスト サイトに手動でルーティング テーブルを設定しましたが、期待どおりに動作しました。ただし、テスト サイトは数千あり、時間の経過とともに変化します。そのため、別の方法を探す必要があります。
私は、Quagga (Zebra と OSPFD を有効にして) を設定しようとしましたが、ユーザーがリンク 1 (eth0) 経由でサイトにアクセスできない場合は、自動的に tun1 を通過するようにしたいです。実際には、tun1 と eth0 の両方をデフォルト ルートとして設定しましたが、希望どおりの結果は得られません。
この問題により数日間ブロックされました。私は ospf に精通していないため、ospfd でそれが可能かどうかはわかりません。
皆さんの提案が必要です。もっと良い方法があれば訂正してください。
答え1
ここでの問題は、OpenVPN クライアント マシンでルーティング ルールを設定する必要があるということだと理解しています。OpenVPN サーバー構成でルート プッシュを試しましたか?
push "route IP MASK vpn_gateway";
(交換するIPそしてマスクルーティングターゲットに合わせて適宜変更します。
使用ccdオプションでは、クライアントごとに異なるルールを適用することもできます。man openvpn
詳細についてはお問い合わせください。引くまたはクライアントクライアント設定のディレクティブ。