Guest User

Untitled

a guest
Jan 16th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. #!/bin/bash
  2. BOOT=${1-yes}
  3. echo $BOOT
  4. while true;
  5. do
  6. wan=`ip -4 a | grep inet | grep -v '172.1[6-9]\..*\..*\|172.2[0-9]\..*\..*\|172.3[0-1]\..*\..*\|192.168\..*\..*\|10.[0-255].\..*\..*\|127.0.0.1\|172.17.0.1' | wc -l`
  7. lan=`ip -4 a | grep -e '10\..*\..*\..*' | wc -l`
  8. if [ $wan -gt 0 ] && [ $lan -gt 0 ]; then
  9. echo "Use LAN with WAN"
  10.  
  11. WAN_ADDR=`ip -4 a | grep inet | grep -v '172.1[6-9]\..*\..*\|172.2[0-9]\..*\..*\|172.3[0-1]\..*\..*\|192.168\..*\..*\|10.[0-255].\..*\..*\|127.0.0.1\|172.17.0.1' | awk '{print $2}' | cut -d '/' -f 1`
  12. echo $WAN_ADDR
  13. WAN_NET=`echo $WAN_ADDR | cut -d "." -f 1,2,3`
  14. echo $WAN_NET
  15. LAN_ADDR=`ip -4 a | grep -e '10.[0-255].\..*\..*' | awk '{print $2}' | cut -d '/' -f 1`
  16. echo $LAN_ADDR
  17. LAN_PREFIX=`ip -4 a | grep -e '10.[0-255].\..*\..*' | awk '{print $2}' | cut -d '/' -f 2`
  18. echo $LAN_PREFIX
  19. IFS=. read -r i1 i2 i3 i4 <<< $LAN_ADDR
  20. D2B=({0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1})
  21. binIP=${D2B[$i1]}${D2B[$i2]}${D2B[$i3]}${D2B[$i4]}
  22. binIP0=${binIP::$LAN_PREFIX}$(printf '0%.0s' $(seq 1 $((32-$LAN_PREFIX))))
  23. LAN_GATE=$((2#${binIP0::8})).$((2#${binIP0:8:8})).$((2#${binIP0:16:8})).$(echo 1)
  24. LAN_NET=`echo $LAN_ADDR | cut -d "." -f 1,2,3`
  25.  
  26. WAN_DEV=`ip -4 a | grep $WAN_NET | awk '{print $7}'`
  27.  
  28. LAN_DEV=`ip -4 a | grep $LAN_NET | awk '{print $7}'`
  29.  
  30. # check if route to wan was set
  31. WAN_GATE=`ip r | grep "default via $WAN_NET" | wc -l`
  32. echo $WAN_NET
  33. echo $LAN_GATE
  34. echo "ADD route"
  35. ip route add 10.10.0.0/16 via $LAN_GATE dev $LAN_DEV
  36. ip route add 172.24.8.0/24 via $LAN_GATE dev $LAN_DEV
  37. if [ $WAN_GATE -lt 1 ]; then
  38. echo "Adding default route"
  39. ip route del default
  40. dhclient $WAN_DEV
  41. #ip route add default via $WAN_NET.1
  42. fi
  43. echo "ADD route done"
  44.  
  45. else
  46. if [ $wan -gt 0 ]; then
  47. echo "Use only WAN"
  48. dhclient $WAN_DEV
  49. elif [ $lan -gt 0 ]; then
  50. echo "Use only LAN"
  51. dhclient $LAN_DEV
  52. fi
  53. fi
  54. if [ $BOOT == 'yes' ]; then
  55. exit 0
  56. fi
  57. sleep 1
  58. done
Add Comment
Please, Sign In to add comment