Guest User

Untitled

a guest
Sep 30th, 2013
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. #!/bin/bash
  2. REMOTE_HOST=1.2.3.4
  3. REMOTE_COMMAND="ifconfig tun0 10.1.0.1 pointopoint 10.1.0.2 netmask 255.255.255.0; iptables -t nat -F POSTROUTING; iptables -t nat -A POSTROUTING -j MASQUERADE"
  4.  
  5. LOGGER=$(which logger)
  6. if [ ! -x $LOGGER ]; then
  7. echo "logger not installed"
  8. exit 1
  9. fi
  10. do_msg() {
  11. echo "${0}: ${1}"
  12. $LOGGER "${0}: ${1}" > /dev/null 2>&1
  13. }
  14. do_abort() {
  15. do_msg $1
  16. exit 1
  17. }
  18. case "${1}" in
  19. start)
  20. ssh -vv \
  21. -o PermitLocalCommand=yes \
  22. -o LocalCommand="${0} dolocal" \
  23. -o ServerAliveInterval=60 \
  24. -w 0:0 root@$REMOTE_HOST \
  25. '$REMOTE_COMMAND'
  26. ;;
  27. dolocal)
  28. OLD_DEFAULT_GW=$(ip route| egrep default | egrep -o "([12345678900]{1,3}\.*){4}")
  29. ifconfig tun0 10.1.0.2 pointopoint 10.1.0.1 netmask 255.255.255.0
  30. route add -host $REMOTE_HOST gw ${OLD_DEFAULT_GW} dev wlan0
  31. route add default gw 10.1.0.1 dev tun0
  32. route del default gw ${OLD_DEFAULT_GW} wlan0
  33. /etc/firewall/firewall.sh start
  34. ;;
  35. stop)
  36. # call script to restart inet facing interfaces to reset default routes etc
  37. ;;
  38. esac
  39. exit 0
Advertisement
Add Comment
Please, Sign In to add comment