インフィニットループ 技術ブログ

2014年05月08日 (木)

著者 : maki

“特定のIP経由”に制限されたサーバーへVPN経由で快適にアクセスする方法 (Mac編)

お久しぶりです。makiです。
VPNを使う際、全てのトラフィックをVPN経由にしてしまうと無駄に重くなったり、調べ物をしていてブログサイトにアクセスできなくなる、等の弊害が出てしまうことがありました。
そこでVPNが必要なアドレスにだけVPNを経由するようにしてみました。

業務で携わっているサービスが夜中に障害発生した!など、会社にいない時に対応しなければならないことがありますが、管理ツール等はたいてい事前に許可されたIPアドレス以外からの接続を制限しています。
障害ではなくとも、一緒にお仕事をさせて頂いている会社にあるサーバーへアクセスする際、自分の会社のIPでアクセスする必要がある場合もあるでしょう。
そこでVPNを使用するのですが、IP制限のかかったWebサイトにアクセスするために、ネットワーク設定の詳細から「全てのトラフィックをVPN接続経由で送信」にチェックを入れるとアクセスできるようになります。
しかしこの設定、VPN接続を経由する必要のないアクセスも全て、VPN接続経由になってしまいます。
そこで今回紹介する、”必要なところにだけVPN接続を経由する方法” の出番です。
/etc/ppp/ip-up

#!/bin/sh
if [ "$1" = "ppp0" ]; then
/sbin/route -nv add -net 198.51.100.1 -interface ppp0
/sbin/route -nv add -net 198.51.100.2 -interface ppp0
/sbin/route -nv add -net 198.51.100.3 -interface ppp0
fi

※ IPアドレスの部分は、ダミーです。適宜必要なIPアドレスに読み替えて下さい。
if [ "$1" = "ppp0" ]; の部分が、VPN接続は1セッション決め打ちの記述になってます。複数VPN接続を行う方はご注意下さい。

このファイルは VPN 接続した時に実行されるファイルで、作成後に実行権限を付ける必要があります。

sudo chmod +x /etc/ppp/ip-up

VPN接続中の場合は、一旦接続解除して繋ぎ直しましょう。
先ほどの「全てのトラフィックをVPN接続経由で送信」のチェックは外しておきます。
ここで指定したIPアドレスのみ、VPN接続経由でアクセスされるようになります。
リモート対応中に必要な調べ物のアクセス(google等)は、いつもどおり直接アクセスされることになり、VPNによるネットワーク遅延を回避することができます。
ちなみに記述するIPアドレスの調べ方ですが、私は Firefox の Live IP Address という機能拡張を使っています。
アドオンバー(通称”ステータスバー”)に開いているページのIPアドレスを表示させられる他、メニューバーのツールから、IPアドレスをコピーすることができて便利なツールです。
Live IP Address :: Add-ons for Firefox
https://addons.mozilla.org/ja/firefox/addon/live-ip-address/
【参考情報】
VPN(PPTP)接続時に自動でrouteを実行させたい。 | Apple サポートコミュニティ
https://discussionsjapan.apple.com/thread/10088702
MacでPPTP(VPN)接続しつつ、通常の接続も行えるようにする方法
http://www.lancard.com/blog/2011/02/26/pptp-and-normal-with-same-time-on-mac/
route – ルーティングテーブルの表示/設定を行う
http://www.atmarkit.co.jp/fnetwork/netcom/route/route.html

お知らせ

弊社が開発に関わっているiPhone向けアプリ「勇者と1000の魔王」「ソードオブナイツ」好評配信中です!!
ぜひ遊んでみてください。

勇者と1000の魔王[ドットRPG]
カテゴリ:ゲーム>ロールプレイング
価格:無料(一部有料アイテムあり)


ソード オブ ナイツ ◆王道本格無料RPG-SOK-◆
カテゴリ:ゲーム>ロールプレイング
価格:無料(一部有料アイテムあり)

ブログ記事検索

このブログについて

このブログは、札幌市・仙台市の「株式会社インフィニットループ」が運営する技術ブログです。 お仕事で使えるITネタを社員たちが発信します!