Mac の VPN(L2TP) 接続時に自動で route を実行させる方法

提供: Wikiducca
移動: 案内検索

概要

iPhone のテザリング(各キャリア共通?) & Mac という環境で、特定の VPN 環境に接続するためには、毎回 route コマンドで、各セグメントへの経路を追加してやる必要がある。

この作業を自動化するための手順。

特定のVPNの例

172.20.100.0/24
172.20.101.0/24
172.20.102.0/24

シェルスクリプトを作成

$ sudo vi /etc/ppp/ip-up

ip-up の中身

#!/bin/sh
#
# $1 interface-name
# $2 tty-device
# $3 speed
# $4 local-IP-address
# $5 remote-IP-address
# $6 ipparam

if [ "$1" = "ppp0" ]; then
    /sbin/route add 172.20.100.0/24 -interface ppp0
    /sbin/route add 172.20.101.0/24 -interface ppp0
    /sbin/route add 172.20.102.0/24 -interface ppp0
fi

実行権限をつける

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

以上で、ppp0 インターフェイスが起動した際、上記のスクリプトが実行され、 route add されるようになる。

その他・メモ

VPN を切断する(ppp0 インターフェイスが落ちる)と、自動的に設定は消えるため、後片付けは不要。

参考・引用

- https://discussionsjapan.apple.com/thread/10088702?answerId=100557269122#100557269122