| #!/system/bin/sh |
| |
| # Use interface name if linkname is not available |
| |
| /system/bin/setprop "net.dns1" "$DNS1" |
| /system/bin/setprop "net.dns2" "$DNS2" |
| |
| # Retrieve the default gateway from /proc/net/route |
| RTAB=`cat /proc/net/route` |
| flag=-1; i=0; |
| for l in $RTAB; do |
| if (exp flag==1) then DGW=$l; flag=0; fi; |
| if (exp i%11 == 1) then |
| if (exp $l=="00000000") then flag=1; fi; |
| fi; |
| i=`exp i+1`; |
| done |
| FH=${DGW%????} |
| LH=${DGW#????} |
| A=`exp 0x${LH#??}` |
| B=`exp 0x${LH%??}` |
| C=`exp 0x${FH#??}` |
| D=`exp 0x${FH%??}` |
| GATEWAY="$A.$B.$C.$D" |
| VPNSERVER=`getprop "net.vpn.server_ip"` |
| |
| # Protect the route to vpn server |
| /system/bin/route add -net $VPNSERVER netmask 255.255.255.255 gw $GATEWAY |
| |
| # Route all traffic to vpn connection |
| /system/bin/route add -net 0.0.0.0 netmask 128.0.0.0 gw $IPREMOTE |
| /system/bin/route add -net 128.0.0.0 netmask 128.0.0.0 gw $IPREMOTE |
| |