特定の接続のみ VPN 経由させる方法。「すべてのトラフィックを VPN 経由で接続」にチェックは不要。

7,731 view

ネットワークから VPN 接続構成を作成し、難なく VPN 接続はできたのだけど、サーバーにつながらない。原因は ネットワーク > 詳細 > オプション > セッションオプション の「すべてのトラフィックをVPN経由で接続」にチェックが入っていなかったから。

まぁここに到達するまで大変だったけども、無事にサーバーには接続できた。

できたのはいいけど、このままだと態々 VPN でファイルアップして、表示の確認するときは、VPN を切って確認するというあまりにも面倒なことになる。

VPN の接続優先度を下げておき、特定のアドレスだけ VPN 接続できるように経路を追加する

  • VPN接続の優先度を普段の接続方法の優先度より下げておく(図1)
  • ネットワーク > 該当のVPN接続の詳細 > オプション > セッションオプション の「すべてのトラフィックをVPN経由で接続」のチェックを外す(図2)

2014-04-01_17_50_06_vpn_01
図1

2014-04-01_18_00_42_vpn_02
図2

と、下準備をした上で、VPN で接続。
そのあとターミナルから以下コマンドを実行。

$ sudo route add -net xxx.xxx.xxx.xxx -interface ppp0

または

$ sudo route add -host hoge.example.com -interface ppp0

interface 名の確認方法は、VPN 接続をした上で以下で確認できる。

$ ifconfig

で、ppp0 というのがあればそれ。(複数PPPoE接続のインターフェースがあった場合、0の数字が違う場合がある?)

この状態で、VPN 接続を維持しながら指定したサーバーへアクセスしつつ、ウェブサイトの閲覧などが出来るようになった!

ただ、VPN 接続を切るとコマンドで追加したルーティング設定は無くなるので、VPN の接続を確立させる度に、コマンドを実行する必要がある。

シェルスクリプトによる自動化

も出来るらしいのだけれども、そこまではやってない。

※ Mac OS 10.9 Mavericks

コメントを残す

  • コメント欄には個人情報を入力しないようにしてください。

  • 入力いただいたメールアドレスは公開されませんがサーバーに保存されます。
  • 入力いただいた情報の他に、IPアドレスを取得させていただきます。取得した IPアドレス はスパム・荒らしコメント対処ために利用され、公開することはありません。