#!/bin/bash if [ $# -ne 4 ]; then echo "Usage : $0 " exit 1; fi set -x REMOTE=$1 PORT=$2 LOGIN=$3 PASS=$4 GW=$(ip route | awk '/default/ { print $3 }') route add -host $REMOTE gw $GW ( sleep 20; sshpass -p $PASS ssh -p $PORT $LOGIN@$REMOTE "PATH=/bin:/sbin:/usr/bin:/usr/sbin iptables -t nat -I POSTROUTING 1 -s 172.29.1.0/24 -j MASQUERADE" ; sshpass -p $PASS ssh -p $PORT $LOGIN@$REMOTE "PATH=/bin:/sbin:/usr/bin:/usr/sbin iptables -I FORWARD 1 -s 172.29.1.0/24 -j ACCEPT" ; sshpass -p $PASS ssh -p $PORT $LOGIN@$REMOTE "PATH=/bin:/sbin:/usr/bin:/usr/sbin iptables -I FORWARD 2 -d 172.29.1.0/24 -j ACCEPT" ) & pppd nodetach nodeflate nobsdcomp nomppe defaultroute replacedefaultroute usepeerdns noauth passive pty "sshpass -p $PASS ssh -p $PORT $LOGIN@$REMOTE PATH=/bin:/sbin:/usr/bin:/usr/sbin pppd nodetach nodeflate nobsdcomp nomppe notty noauth ms-dns 8.8.4.4" 172.29.1.1:172.29.1.2 sshpass -p $PASS ssh -p $PORT $LOGIN@$REMOTE "PATH=/bin:/sbin:/usr/bin:/usr/sbin iptables -t nat -D POSTROUTING 1" sshpass -p $PASS ssh -p $PORT $LOGIN@$REMOTE "PATH=/bin:/sbin:/usr/bin:/usr/sbin iptables -D FORWARD 2" sshpass -p $PASS ssh -p $PORT $LOGIN@$REMOTE "PATH=/bin:/sbin:/usr/bin:/usr/sbin iptables -D FORWARD 1"