web-dev-qa-db-ja.com

OpenVPNはリダイレクトゲートウェイをオプションにします

現在、複数のクライアントに対してOpenVPNサーバーを実行しています。すべてのトラフィックはVPNを介して送信されます(ゲートウェイとして設定されています。 "redirect-gateway def1"をプッシュしてください)。

これまでのところ、すべて正常に動作しています。ただし、これらのサーバーがOVPNデーモンをゲートウェイとして使用せずに、この仮想プライベートネットワークにいくつかのサーバーを接続したいと思います。

これらのサーバーには、WANとLAN IPアドレスの両方からアクセスできる必要があります。特定のサービスには、LAN側からのみアクセスできます。

クライアントがプッシュリダイレクトゲートウェイオプションを無視する方法はありますか?

よろしく、Tuinslak

15
Tuinslak

クライアントのopenvpn設定に「route-nopull」を追加するだけで、サーバーからプッシュされたコマンドはすべて無視されます。ローカルネットにアクセスするには、ここで追加する必要があります。接続するローカルネットが192.168.5.0/24の場合は、「ルート192.168.5.0 255.255.255.0 "からクライアントのopenvpn構成にルーティングします。

15
Christian

'redirect-gateway'がすべてのクライアントではなく一部のクライアントに必要な場合は、 'client-config-dir'オプションを追加します。

 client-config-dir /etc/openvpn/clients

そしてそのディレクトリ内に各クライアントCNのファイルを置きます。ファイルClient1には

プッシュリセット

これにより、サーバーはデフォルトで「リダイレクトゲートウェイ」をプッシュしません。

HTH

8
janjust

--upスクリプトのデフォルトゲートウェイを置き換えるだけです。 --downで何もする必要はなく(私は思う)、それをup.shに設定することもできます。

client.conf

up up.sh

up.sh(chmod + x)

#!/bin/bash
/sbin/ip route replace default 1.2.3.4

ここで、1.2.3.4はクライアントのデフォルトゲートウェイです。

2016年12月の時点で、これに対する新しい、より簡単なソリューションがあります。

この行をOpenVPN構成に追加するだけです。

pull-filter ignore redirect-gateway

文字通り、サーバーからプルするオプションをフィルタリングし、redirect-gatewayオプションを無視します。

https://community.openvpn.net/openvpn/wiki/IgnoreRedirectGateway によると、これは2016年12月頃にリリースされたOpenVPN 2.4で追加されました。)

1
mwfearnley