VPN接続先に複数のネットワークセグメントがある時に、そのネットワークセグメント宛の経路をルーティングする方法についての備忘録を残す。
VPN 接続確立時のルーティング追加スクリプト作成
VPN 接続確立時は /etc/ppp/ip-up
というスクリプトが呼ばれる。このファイルを以下のように修正し、「ppp 接続時に必要な経路を追加する」というスクリプトにする(存在しない場合は新規作成する)。例として「VPN にルーティングしたい経路」を「192.168.24.0/24」としている。
$ sudo nano /etc/ppp/ip-up
#!/bin/sh
if [ "$1" = "ppp0" ]; then
/sbin/route add -net 192.168.24.0/24 -interface ppp0
fi
尚、ファイルを新規作成した場合は、以下のように実行権限を付与しておく。
$ sudo chmod +x /etc/ppp/ip-up
ルーティングテーブルの確認
コマンドコンソールから、下記コマンドで確認できる。
$ netstat -rn
補足
- 複数の経路を VPN にルーティングしたい場合は以下のように route add を羅列する 。
/sbin/route add -net 192.168.11.0/24 -interface ppp0
/sbin/route add -net 192.168.22.0/24 -interface ppp0
/sbin/route add -net 192.168.33.0/24 -interface ppp0
- macOSの購入時のバージョンによっては、
ip-up
ファイルが入っている場合がある。そのファイルには下記のような引数に関するコメントが入っていた。参考まで。
# $1 interface-name
# $2 tty-device
# $3 speed
# $4 local-IP-address
# $5 remote-IP-address
# $6 ipparam
コメント