Closed1
MacでVPN繋いだときに自動的にrouteを追加する
モチベーション
特定のホストへのアクセスだけVPNを使いたいが、毎回route打つのダルい
手順
設定 > VPN > (対象VPN) > オプション から 「すべてのトラフィックをVPN接続経由で送信」のチェックを外す
/etc/ppp/ip-up
に以下を記述
#!/bin/sh
umask 022
HOST="VPN_DE_ACCESS_SITAI_HOST.com"
if [[ "$4" =~ ^192\.168\.30\.[0-9]+$ ]]; then
/sbin/route add -host $HOST -interface ppp0 > /tmp/ip-up.log 2>&1
fi
メモ
$4はIPが入ってる
ip-upに渡されてくるppp0のアドレスはどんな変数に入っていますか?
ChatGPTの答え
/etc/ppp/ip-up スクリプトには、PPP接続が確立されたときに特定のパラメータが渡されます。これらのパラメータは、PPP接続の詳細を提供するために使用されます。以下のとおり、ip-up スクリプトに渡されるパラメータのリストです:
$1 - インターフェース名(例: ppp0)
$2 - TTYデバイス
$3 - 接続速度
$4 - ローカルIPアドレス
$5 - リモートIPアドレス
$6 - PPP接続のIPアドレス(ネゴシエーションされたリモートIPアドレス)
したがって、ppp0インターフェースのIPアドレスは $4 に格納されます。
AIが生成してくれたスクリプトがroute
になってて、/sbin/route
じゃないと動かなくてドハマりした。
ログ見当たらないし...
このスクラップは2024/06/07にクローズされました