【Mac】 VPN使用時に接続先を限定する

VPN接続時に特定のIP(VPN接続先ネットワーク)以外へのアクセスはVPN経由ではなくローカル環境ネットワークから直接インターネットへルーティングさせることによりネットワークトラフィックを快適にする

※リモート業務の場合、情シスの考えによっては全ての接続を社内経由にしたい時などあるので仕事で使用する際には情シスの許可をとってください

※VPN接続先を経由することにより接続を解放している外部サーバー設定も多いので要注意

※VPN先へDomain使用してアクセスしている場合はDNS設定に要注意(VPN側のDNS設定によってはhostsファイル編集する時もありそう)

macOS Monterey
Version12.3
VPN接続方法 L2TP/IPsec(PPPはトンネリング)

■環境設定のネットワークを開きVPN接続の詳細
「すべてのトラフィックをVPN接続経由で送信」のチェックを外す
設定画像

■ルーティング追加スクリプト作成
接続確立時は /etc/ppp/ip-up というスクリプトが呼ばれます
このファイルに以下を追加し「VPN接続時のIP経路を追加する」
例として「VPNにルーティングしたい経路」を「172.31.1.0/24」としている。

#VPN接続してppp0存在確認
$ ifconfig

#VPN接続切ってから
#viにてファイル編集
$ sudo vi /etc/ppp/ip-up
#!/bin/sh

if [ "$1" = "ppp0" ]; then
    /sbin/route add -net 172.31.1.0/24 -interface ppp0
fi

#viにてファイル保存
#ファイルは実行権限を付与
$ sudo chmod +x /etc/ppp/ip-up

#ルーティングテーブルの確認
$ netstat -rn

備考
複数の経路をルーティングする際には複数記載できる
/sbin/route add -net 172.31.1.0/22 -interface ppp0
/sbin/route add -net 172.31.4.0/22 -interface ppp0
/sbin/route add -net 172.31.8.0/22 -interface ppp0

コメントは受け付けていません。