ローカルネットワークと同じリモートネットワーク(192.168.1.0/24)にアクセスするようにOpenVPNを構成しようとしています。このため、VPNを介してトラフィックを強制するために、サーバー構成に以下を追加しました。
Push "route 192.168.1.0 255.255.255.0"
残念ながら、接続すると次のように表示されます。
route: writing to routing socket: File exists
add net 192.168.1.0: gateway 10.200.0.5: File exists
既存のルートが原因で、おそらく静的DHCPルートが原因です。
$ netstat -nr -f inet
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
...
192.168.1 link#6 UCS 4 0 en0 !
...
OpenVPNに接続および切断すると、この既存のルートがクリアされるため、再接続するとすべてが機能します。このルートが最初の接続で正しく構成されるようにOpenVPNを構成するにはどうすればよいですか?ローカルDHCP構成に依存したくないので、問題のあるルートをクリアするか、接続時にルートを置き換える必要があります。
注:サーバー構成でPush "redirect-gateway def1"
を設定しようとしましたが、この既存のルートのため、192.168.1.0/24のトラフィックはVPN経由でルーティングされません。
uname -a
:ダーウィンルークス-作業-MBP 18.6.0ダーウィンカーネルバージョン18.6.0:木4月25日23:16:27 PDT 2019;ルート:xnu-4903.261.4〜2/RELEASE_X86_64 x86_64redirect-gateway
フラグをblock-local
とともに使用して解決しました。基本的に、ローカルネットワークへのすべての接続をブロックし、VPNサーバーを介してすべてのトラフィックをリモートネットワークにルーティングします。