私は最近StrongSwanVPNをセットアップしましたが、ほとんどはこれに従います DigitalOceanガイド 。この奇妙なルーティングの問題に遭遇するまで、それはうまく機能しました。
以下のネットワーク図:
+-----------+ +-----------+ Internet +------------+ +-------------+
|VPN server |___|Router |. . . . . |WiFi gateway|___|Laptop |
|192.168.0.2| |192.168.0.1| |192.168.0.1 | |192.168.0.111|
+-----------+ +-----------+ +------------+ +-------------+
基本的に、ルーターと同じIPアドレス(または同じネットワーク)を持つWi-Fiに接続していると、LANへのアクセスが失われます。 192.168.0.XXX
に接続しようとすると、ラップトップはVPNサーバーのネットワークではなく、Wi-Fiルーターネットワークの背後にあるホストにアクセスしようとします。
クライアントのルーティングの問題だと思いますが、たとえばiOSから接続する場合にできることはあまりありません。
この動作を防ぐことができるサーバー設定はありますか?
ルーティングに関しては、すでにサブネット192.168.0.0/24を使用している場合は、ローカル接続でアクセスし、どこにもルーティングしません。通常実行するのは、パブリックIPアドレス上のVPNサーバーであり、その背後にあるプライベートネットワークへのアクセスをサポートします。
VPNサーバーを介してトンネルを設定することにより、トンネルを介して、そのネットワーク上のアダプターを効果的に提供できます。
両方のネットワークが同じネットワーク範囲を使用している場合、システムはどのマシンがどこにあるかを認識できず、通常、ローカル接続がリモート接続のコストが低いと識別し、すべてのネットワークトラフィックをローカルに送信します。
どうすればこれを解決できますか?
mayアドレスを再マップできるクライアントをセットアップすることは可能です。
ただし、サーバーでこれを行う方が簡単な場合があります。別のプライベートネットワーク範囲にアクセスするVPNサーバーに2番目のトンネルを設定します。次に、その範囲を使用してサーバー上にアダプターを定義します(セットアップによっては簡単な場合があります)。たとえば、IPTABLESを使用してIPアドレスを再マップできますが、おそらくまた少しトリッキーなARPを再マップする必要があります。 arptablesを使用できます(ロードバランサー環境でよく使用されます)。
これはすべてかなりの作業になるでしょう...