#!/bin/bash #DEBUG="" DEBUG="echo" #DEBUG=":" LOG=":" #LOG="echo" # Includes #----------------------------------------------------------------------------------------------------------------------------------- . /usr/local/lib/network.bash # Global Variables #----------------------------------------------------------------------------------------------------------------------------------- LOG_FILE=/var/log/openvpn/up-down.log # Main #----------------------------------------------------------------------------------------------------------------------------------- Dev="$1" Local_MTU="$2" Remote_MTU="$3" Local_Address="$4" Local_Netmask="$5" Phase="$6" network_tab_load network_dst_tab_dev_lookup "${dev}" network_dst_tab_get "${dst_id}" echo -n >>${LOG_FILE} "$(date): Up: [${Dev}] Local_MTU: [${Local_MTU} Remote_MTU: [${Remote_MTU}] Local_Address: [${Local_Address}] Local_Netmask: [${Local_Netmask}] Target_Table: [${target_table}] Dst_Id: [${dst_id}] Phase: [${Phase}]" if [[ "${dst_table}" != "" ]] then echo >>${LOG_FILE} " Status: [OK]" echo >>${LOG_FILE} "$(date): Up: ${Dev}: ip route add table ${dst_table} default dev ${Dev}" ${DEBUG} ip route del table ${dst_table} default ${DEBUG} ip route add table ${dst_table} default dev ${Dev} # ( # sleep 3 # # i=0 # # while [[ ${remote_address} == "" && $i -lt 5 ]] # do # remote_address=$(/usr/local/sbin/ns-launch 3 ${dst_table} /usr/local/bin/my_address_get 2>/dev/null) # echo >>${log_file} "$(date): Up: ${Dev}: Remote_Address=${remote_address} try=$i" # # i=$(($i + 1)) # sleep 5 # done # # if [[ remote_address != "" ]] # then # echo >>${log_file} "$(date): Up: ${Dev}: set ${remote_address} to vpn${dst_id}.vpn.rx3" # /usr/local/sbin/ip_host_update vpn${dst_id} vpn.rx3 ${remote_address} 60 # else # echo >>${log_file} "$(date): Up: ${Dev}: VPN not working?" # fi # # echo >>${log_file} "$(date): Up: ${Dev}: Done!" # ) & echo >>${LOG_FILE} "$(date): Up: ${Dev}: Partially Done..." else echo >>${LOG_FILE} " Status: [ERROR]!" echo >>${LOG_FILE} "$(date): Up: [${Dev}] Done" fi