OpenVPN を使用してサーバー側にスプリット トンネルを設定するにはどうすればよいですか?

OpenVPN を使用してサーバー側にスプリット トンネルを設定するにはどうすればよいですか?

OpenVPN クライアントがすべての 134.94/16 トラフィックを非 VPN デフォルト ゲートウェイ経由でルーティングし、残りを VPN 経由でルーティングするようにしたいと考えています。不注意で、サーバー側の openvpn.conf に次の行を追加しました。

push "route 134.94.0.0 255.255.0.0 134.94.xxx.xxx"

ただし、これは無視されているようです。また、職場の管理者がゲートウェイ アドレスを変更する可能性があるため、ゲートウェイ アドレスを静的にしたくありません。では、クライアントが特定の IP アドレス範囲に対して古い非 VPN ゲートウェイを使用するようにするにはどうすればよいでしょうか。

答え1

特別なゲートウェイを使用しますnet_gateway。クライアント側の OpenVPN はこれを、元のデフォルト ゲートウェイ アドレスとして認識されるものに変換します。

push "route 134.94.0.0 255.255.0.0 net_gateway"

もちろん、プッシュが機能するためには、クライアントはpull独自のルート設定を行うのではなく、実際にサーバーから構成する必要があります。(そうであれば、route ...オプション全体をクライアントにも配置できます。)

「より具体的な」(ネットマスクが長い)ルートは常に短いルートよりも優先されることに注意してください。そのため、VPN サーバーが、たとえば /24 ルート(255.255.255.0)をプッシュした場合、/16 ルート(255.255.0.0)よりも高い優先度として扱われます。

関連情報