web-dev-qa-db-ja.com

Mac OS X LeopardでVPNを介してネットワークトラフィックを選択的にルーティングする方法

自宅から会社のネットワーク(VPN経由)に接続しているときに、自分のネットワークトラフィックをすべてVPNに送りたくない。たとえば、自宅で仕事をしているとき、自宅のすべてのファイルをTime Capsuleにバックアップしても、社内のネットワークにアクセスできるようにしたいと考えています。

私はLeopardの内蔵VPNクライアントを使っています。 「VPN接続を介してすべてのトラフィックを送信する」のチェックを外してみました。そうした場合、私の会社の内部Webサイトへのアクセスは、curlまたはWebブラウザ経由でなくなります(内部IPはまだ到達可能です)。 VPN経由でルーティングするIPまたはドメインのセットを選択して、残りを自分のネットワークに保持できるのであれば理想的です。これは、Leopardの内蔵VPNクライアントで達成できますか?あなたが何かソフトウェアの推薦があれば、私もそれらを聞きたいです。

93
newtonapple

以下の内容でファイル/ etc/ppp/ip-upを作成します。

#!/bin/sh
/sbin/route add <SUBNET> -interface $1 

<SUBNET>をサブネットに置き換えて、VPN経由でルーティングしたい(例:192.168.0.0/16)

rootとして実行します。

chmod 0755 /etc/ppp/ip-up

このファイルはVPNに接続するたびに実行されます。

スクリプトに与えられたパラメータ:

  • $1:VPNインターフェース(例:ppp0
  • $2:不明、私の場合は0でした
  • $3:VPNサーバーのIP
  • $4:VPNゲートウェイアドレス
  • $5:LAN接続用の通常の(非VPN)ゲートウェイ
82

私は同様のことをやりたかった。 VPNを接続してから、そのVPNを介して追加のネットワークをルーティングします。私は次のようなAppleScriptを書きました。

-- Connect Work VPN

tell application "System Events"
    tell network preferences
        tell current location
            tell service "Work"
                connect
                tell current configuration
                    repeat until get connected = true
                        delay 1
                    end repeat
                end tell
            end tell
        end tell
    end tell
end tell

set gateway to "192.168.1.1"

do Shell script "route add 172.16.0.0/16 " & gateway with administrator privileges

"Work"をあなたのVPN接続の名前に、192.168.1.1をあなたのゲートウェイアドレスに、そして172.16.0.0/16をあなたがルーティングしたいネットワークのアドレスに変更する必要があります。最後の行を異なるアドレスで繰り返すことで、追加のネットワークを追加できます。

11
Martin Hilton

MacOSのネットワーク環境設定には隠された機能があります。あなたはインターフェースをソートできます

システム環境設定 - >ネットワーク - >左下のgearをクリック - > Set service Order...

<code>Set service Order...</code>VPN Ordering

ネットワークインタフェースを、使用したい順番に並べ替えすることが重要です。 LAN以外のすべてのデータをVPNに送信する場合は、VPNインターフェイスを一番上に配置します。このように並べ替え

  1. VPN
  2. イーサネット
  3. 空港

こんな感じじゃない:

  1. 空港
  2. イーサネット
  3. VPN

これにより、Session Options内の次の設定を確認する必要がなくなります。

VPN接続経由ですべてのトラフィックを送信する

L2TP VPN接続でテスト済み

8
user31513

私はオンラインで私が何かを見つけることができるかどうかを調べています、そして理解できる限りあなたが普通のようにあなたのコンピュータを使うことができるようにしたい一方社内のウェブサイトにも接続できるようにカスタムルーティングテーブルを設定する必要があります。

このリンク は明らかに10.4にのみ適用されますが、コマンドラインのものはまだ動作するかもしれません。

1
Alexis Hirst