OpenVPNの redirect-gateway def1

NetBSD/amd64 のOpenVPNクライアントで redirect-gateway def1 を埋め込んですべてのパケットをVPN経由にしたいのだが

NOTE: unable to redirect default gateway -- Cannot read current default gateway from system

と出て既存の default route を読み取ってくれない問題が続いている。

んーーーーー、起動スクリプトで対処。 あらかじめOpenVPNサーバへの static route を default route と同じにしておく。

vpnserver=ip.add.re.ss
defroute=`netstat -nrfinet | grep default 2>/dev/null`
if [ "$defroute" ]; then
  defroute=`echo $defroute|awk '{print $2}'`
  route add $vpnserver $defroute 2>/dev/null
fi

で、vpnサーバ側のccdスクリプトで

push "route 0.0.0.0 128.0.0.0"
push "route 128.0.0.0 128.0.0.0"

これでOK。他にもやり方あるが。