web-dev-qa-db-ja.com

OpenVPNサーバーによってプッシュされたルートを拒否する方法は?

社内のOpenVPNサーバーへのインターネット経由でOpenVPNクライアント接続を確立すると、いくつかの静的ルートがプッシュされます。残念ながら、これらのルートは自分のルートと衝突するため、ローカルネットワーク環境内の一部の接続を切断します。これらのルートを拒否するにはどうすればよいですか?

31
mbaitoff

openvpnマニュアルを徹底的に調査した後、私の質問に対する回答を見つけました。

ルートを自動的に実行したくないが、独自のツールで処理する場合は、次のオプションを使用します。

   --route-noexec
          Don't add or remove routes automatically.  Instead pass routes to --route-up script using environmental variables.

ルート以外のサーバーによってプッシュされるすべてを受け入れる場合は、次のオプションを使用します。

  --route-nopull
          When used with --client or --pull, accept options pushed by server EXCEPT for routes.
          When used on the client, this option effectively bars the server from adding routes to the client's routing table, however note that
          this option still allows the server to set the TCP/IP properties of the client's TUN/TAP interface.
26
mbaitoff

時代は進んでおり、2017(OpenVPN 2.4)現在、これは

pull-filter accept "route 192.168."
pull-filter ignore "route 172."
pull-filter accept "route 1"
pull-filter ignore "route "

これ(不自然な例)は、192.168で始まるルートを学習できるようにし、172。ルートをすべて無視し、他のルートを1.anythingに許可してから、他のすべてのルートを無視します。

無視する redirect-gateway あなたはできる:

pull-filter ignore redirect-gateway

これらのコマンドは、クライアント構成ファイルに追加されます。

同様に、キーワードrejectを使用して、VPNサーバーに受け入れられなかったことを伝えることができます。これの使い方がわからない。

そして最後に、他の構成オプションもフィルタリングできます。 DNSはローカルサーバーによって処理されるため、提供されているDNSサーバーを無視するためにこれを使用しました。

36
Criggie