Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- REMOTE_HOST=1.2.3.4
- 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"
- LOGGER=$(which logger)
- if [ ! -x $LOGGER ]; then
- echo "logger not installed"
- exit 1
- fi
- do_msg() {
- echo "${0}: ${1}"
- $LOGGER "${0}: ${1}" > /dev/null 2>&1
- }
- do_abort() {
- do_msg $1
- exit 1
- }
- case "${1}" in
- start)
- ssh -vv \
- -o PermitLocalCommand=yes \
- -o LocalCommand="${0} dolocal" \
- -o ServerAliveInterval=60 \
- -w 0:0 root@$REMOTE_HOST \
- '$REMOTE_COMMAND'
- ;;
- dolocal)
- OLD_DEFAULT_GW=$(ip route| egrep default | egrep -o "([12345678900]{1,3}\.*){4}")
- ifconfig tun0 10.1.0.2 pointopoint 10.1.0.1 netmask 255.255.255.0
- route add -host $REMOTE_HOST gw ${OLD_DEFAULT_GW} dev wlan0
- route add default gw 10.1.0.1 dev tun0
- route del default gw ${OLD_DEFAULT_GW} wlan0
- /etc/firewall/firewall.sh start
- ;;
- stop)
- # call script to restart inet facing interfaces to reset default routes etc
- ;;
- esac
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment