web-dev-qa-db-ja.com

OpenVPNがローカルルートを破壊するのを防ぐにはどうすればよいですか?

192.168.1.0にネットマスク255.255.255.0のローカルネットワークがあります。 OpenVPNを介して(クライアントとして)VPNに接続すると、既存のルートを覆い隠す192.168.1.0のルートがプッシュされ、ローカルネットワークにアクセスできなくなります。リモートマシンの192.168.1.0では何にもアクセスしません。プッシュされた他のルートを受け入れながら、それを無視したいと思います。私のクライアントはUbuntu10.10です。

1つの問題のあるルートをスキップするにはどうすればよいですか?

2
ataylor

使用

--route-up --route-noexec

openvpnのオプションを選択し、プッシュされているルートを完全に無視します。代わりに、トンネルを介してアクセスする特定のホストに静的ルートを追加します。

openvpn --route-noexec --route-up /tmp/myscript --config ./client.ovpn

ここで、/ tmp/myscriptは

route add -Host 192.168.1.69 gw ${route_net_gateway}

それに似たもので、私は実際にこれをテストしていませんが、動作するはずです。切断したときにもルートを削除することをお勧めします。

3

@hellomynameisjoelの answer に加えて、環境変数を介してroute-upスクリプトでプッシュされたルートにアクセスできることに注意してください。したがって、必要なルートのみを追加できます。

または、OpenVPN構成ファイルのデフォルトゲートウェイを使用してルートを追加することもできます。

route 192.168.1.0 netmask 255.255.255.0 net_gateway

この後、同一のプッシュルートの追加は失敗します。

P.S. ArchLinux/OpenVPN2.3.5でテスト済み。

0
Eugene Yarmash

ローカルネットワークは非常に大きいですか?ネットワークの番号を競合しない範囲に変更するのが最も簡単な場合があります。

それ以外の場合は、OpenVPNの起動後にルートを修正するスクリプトでopenvpn起動コマンドをラップすることができます。

0
Phil Hollenback