Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- if [ "$script_type" == "up" -o "$script_type" == "down" ]
- then
- /rom/openvpn/updown.sh
- fi
- echo "VPN Client 2 Log" >> /root/vpn_2_log.txt
- echo " " >> /root/vpn_2_log.txt
- echo "Script type: " >> /root/vpn_2_log.txt
- echo " " >> /root/vpn_2_log.txt
- echo "VPN Client 1 IP list" $(nvram get vpn_client1_ip_list) >> /root/vpn_2_log.txt
- echo "VPN Client 2 IP list" $(nvram get vpn_client2_ip_list) >> /root/vpn_2_log.txt
- echo "Arg1:" $1 >> /root/vpn_2_log.txt
- echo "Arg2:" $2 >> /root/vpn_2_log.txt
- echo "Arg3:" $3 >> /root/vpn_2_log.txt
- echo "Arg4:" $4 >> /root/vpn_2_log.txt
- echo "Arg5:" $5 >> /root/vpn_2_log.txt
- echo " " >> /root/vpn_2_log.txt
- echo "Route Gateway 1:" $route_gateway_1 >> /root/vpn_2_log.txt
- echo "Route Gateway 2:" $route_gateway_2 >> /root/vpn_2_log.txt
- echo "Route VPN Gateway:" $route_vpn_gateway >> /root/vpn_2_log.txt
- echo "Route WAN Gateway 1:" $route_net_gateway >> /root/vpn_2_log.txt
- echo " " >> /root/vpn_2_log.txt
- echo "Starting IP rules:" >> /root/vpn_2_log.txt
- ip rule >> /root/vpn_2_log.txt
- echo " " >> /root/vpn_2_log.txt
- echo "Starting IP routes:" >> /root/vpn_2_log.txt
- echo "Starting table table main:" >> /root/vpn_2_log.txt
- ip route show table main >> /root/vpn_2_log.txt
- echo "-----" >> /root/vpn_2_log.txt
- echo "Starting table 101:" >> /root/vpn_2_log.txt
- ip route show table 101 >> /root/vpn_2_log.txt
- echo "-----" >> /root/vpn_2_log.txt
- echo "Starting main 102:" >> /root/vpn_2_log.txt
- ip route show table 102 >> /root/vpn_2_log.txt
- echo " " >> /root/vpn_2_log.txt
- VPN_IP_LIST=$(nvram get vpn_client2_ip_list)
- VPN_TBL=$(nvram get vpn_tbl_2)
- if [ "$VPN_TBL" == "" ]
- then
- VPN_TBL=101
- fi
- export VPN_GW VPN_IP VPN_TBL
- # delete rules for IPs not on list
- IP_LIST=`ip rule show|awk '$2 == "from" && $4=="lookup" && $5==ENVIRON["VPN_TBL"] {print $3}'`
- for IP in $IP_LIST
- do
- DEL_IP="y"
- for VPN_IP in $VPN_IP_LIST
- do
- if [ "$IP" == "$VPN_IP" ]
- then
- DEL_IP=
- fi
- done
- if [ "$DEL_IP" == "y" ]
- then
- ip rule del from $IP table $VPN_TBL
- fi
- done
- echo "Post delete IP rules:" >> /root/vpn_2_log.txt
- ip rule >> /root/vpn_2_log.txt
- echo " " >> /root/vpn_2_log.txt
- # add rules for any new IPs
- for VPN_IP in $VPN_IP_LIST
- do
- IP_LIST=`ip rule show|awk '$2=="from" && $3==ENVIRON["VPN_IP"] && $4=="lookup" && $5==ENVIRON["VPN_TBL"] {print $3}'`
- if [ "$IP_LIST" == "" ]
- then
- ip rule add from $VPN_IP table $VPN_TBL
- fi
- done
- if [ "$script_type" == "route-up" ]
- then
- VPN_GW=$route_vpn_gateway
- else
- VPN_GW=$route_net_gateway
- fi
- echo "Post adding VPN IP rules:" >> /root/vpn_2_log.txt
- ip rule >> /root/vpn_2_log.txt
- echo " " >> /root/vpn_2_log.txt
- # delete VPN routes
- NET_LIST=`ip route show|awk '$2=="via" && $3==ENVIRON["VPN_GW"] && $4=="dev" && $5==ENVIRON["dev"] {print $1}'`
- for NET in $NET_LIST
- do
- ip route del $NET dev $dev
- done
- echo "Post deletion IP routes:" >> /root/vpn_2_log.txt
- echo "Post deletion table table main:" >> /root/vpn_2_log.txt
- ip route show table main >> /root/vpn_2_log.txt
- echo "-----" >> /root/vpn_2_log.txt
- echo "Post deletion table 101:" >> /root/vpn_2_log.txt
- ip route show table 101 >> /root/vpn_2_log.txt
- echo "-----" >> /root/vpn_2_log.txt
- echo "Post deletion main 102:" >> /root/vpn_2_log.txt
- ip route show table 102 >> /root/vpn_2_log.txt
- echo " " >> /root/vpn_2_log.txt
- # route VPN IPs thru VPN gateway
- if [ "$VPN_IP_LIST" != "" ]
- then
- ip route del default table $VPN_TBL
- ip route add default via $VPN_GW table $VPN_TBL
- logger "Routing $VPN_IP_LIST via VPN gateway $VPN_GW"
- fi
- echo "Post addition IP routes:" >> /root/vpn_2_log.txt
- echo "Post addition table table main:" >> /root/vpn_2_log.txt
- ip route show table main >> /root/vpn_2_log.txt
- echo "-----" >> /root/vpn_2_log.txt
- echo "Post addition table 101:" >> /root/vpn_2_log.txt
- ip route show table 101 >> /root/vpn_2_log.txt
- echo "-----" >> /root/vpn_2_log.txt
- echo "Post addition main 102:" >> /root/vpn_2_log.txt
- ip route show table 102 >> /root/vpn_2_log.txt
- echo " " >> /root/vpn_2_log.txt
- # route other IPs thru WAN gateway
- if [ "$route_net_gateway" != "" ]
- then
- ip route del default
- ip route add default via $route_net_gateway
- fi
- echo "Post WAN IP routes:" >> /root/vpn_2_log.txt
- echo "Post WAN table table main:" >> /root/vpn_2_log.txt
- ip route show table main >> /root/vpn_2_log.txt
- echo "-----" >> /root/vpn_2_log.txt
- echo "Post WAN table 101:" >> /root/vpn_2_log.txt
- ip route show table 101 >> /root/vpn_2_log.txt
- echo "-----" >> /root/vpn_2_log.txt
- echo "Post WAN main 102:" >> /root/vpn_2_log.txt
- ip route show table 102 >> /root/vpn_2_log.txt
- echo " " >> /root/vpn_2_log.txt
- ip route flush cache
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement