Could you ssh into the router, edit /etc/init.d/startvpn, change the start openvpn line to
/usr/sbin/openvpn --config "$ovpn" --script-security 2 --route-delay 2 --route-up /usr/bin/ovpn_check_route --remap-usr1 SIGHUP --writepid /var/run/ovpn_client.pid &
The content of file /usr/bin/ovpn_check_route as follow:
root@GL-AR150:/# cat /usr/bin/ovpn_check_route
#!/bin/sh
route=""
[ -d /sys/class/net/tun0 ] && {
route=$(cat /proc/net/route|grep tun0)
if [ -z "$route" ];then
logger "check route failed tun0,restart ovpn"
/etc/init.d/startvpn restart
fi
env -i ACTION="ifup" INTERFACE="ovpn" DEVICE="tun0" /sbin/hotplug-call iface
}
[ -d /sys/class/net/tap0 ] && {
route=$(cat /proc/net/route|grep tap0)
if [ -z "$route" ];then
logger "check route failed tap0,restart ovpn"
/etc/init.d/startvpn restart
fi
env -i ACTION="ifup" INTERFACE="ovpn" DEVICE="tap0" /sbin/hotplug-call iface
}
logger "check route success"