デフォルトのMountainLionネットワーク設定でVPN(Cisco IPSec)を使用しています。 Lion(およびi Snow Leopard)では、ルーティングをすべてのトラフィックにデフォルトゲートウェイを使用するように戻すために次のことを行い、VPNを通過する必要のある特定のIP範囲にいくつかのルートを設定しました。
# Route traffic through VPN:
route -nv add -net IPRANGE -interface utun0
#...more lines for the different IP-ranges that should go through VPN)
# Route all other traffic through the old default gateway:
route change default DEFAULT-GATEWAY-IP
これはMountainLionでは機能しないようです。 Cisco IPSecの(新しい実装?)は、ブラウザでアクセスすると、ルーティングテーブルに多くのルートを動的に追加するようです。
私はこれをたくさんデバッグしましたが(ping、traceroute'ing)、まだ解決策が見つかりません。
私が解決しようとしている基本的な問題は、VPNを介して特定のIP範囲のトラフィックをルーティングすることです。他のすべてはVPNに接続されていないため、動作するはずです。それを達成する他のソリューションは問題ありません私と一緒に=)
VPN設定パネル(システム環境設定、VPN項目、詳細設定)で、すべてのトラフィックをVPN経由でルーティングしないように指定した場合、VPNに接続した後、ルートは変更されません。次に、VPNの内部にある必要な特定のものだけのルートを取得するには、次のファイルを作成する必要があります。
/ etc/ppp/ip-up
含む
#!/bin/bash
/sbin/route add -net 10.10.10 -interface ppp0
ここで、「10.10.10」は、内部にいる場所のサブネットに対応します。上記は、サブネットが255.255.255.0である10.10.10/24ネットワークにアクセスしたい場合に機能します。サブネットが255.255.0.0の場合、代わりに「10.10」に置き換えます。
ファイルを作成したら、VPN接続後に実行されるようにファイルのアクセス許可を設定します。
chmod 755 /etc/ppp/ip-up
接続する必要のあるVPNが複数あり、それぞれに異なるルートを追加する必要がある場合は、何を言うべきかわかりません。ただし、これは1つのVPNでのみ機能します。