私はポート 8080 で WebApp を実行しています。このアプリを実行するサーバーには、常にアウトバウンド VPN が接続されている必要があります。私は Ubuntu 20 で OpenVPN を使用しています。
VPNに接続すると、例えば次のようなWebアプリにアクセスできなくなります。https://サーバー名.com:8080
これはルーティングが原因だと思います。Web サーバーは VPN 経由でブラウザーに応答しますが、応答が送信要求と異なるため、ブラウザーは接続を中止します。
ルーティング テーブルなどでこれを回避できる方法はありますか? 何らかの方法で、リクエストが Web サーバーに直接送信された場合、VPN の外部で応答し、通常の NIC 経由で戻るのでしょうか?
答え1
これは実行可能ですが、実装するのは簡単ではありません。
実装する必要があるのは「ポリシー ベース ルーティング」(ソース ベース ルーティング) です。これは通常、2 番目のルーティング テーブルを設定し、iptables を使用してパケットが適切なテーブルから送信されるようにマークすることを必要とします。
netplanでこれを行うためのリンクは次のとおりです -https://serverspace.io/support/help/multiple-network-interfaces-ubuntu-20-04/これはこれを実装する新しい方法のようです。
「なぜ VPN と $$$ が必要なのか」に応じて、静的 IP を提供し、Web アプリケーションがすべてのインターフェイスにバインドされるようにする VPN を取得する方が簡単な場合があります。もちろん、これはすべてのトラフィックが「自分の」VPN IP から送信され、その IP まで追跡可能であることを意味します。これは、使用ケースによっては問題になる場合とならない場合があります。