sudo su screen -S server ssh -o Tunnel=point-to-point -w 0:0 [email protected] ifconfig tun0 10.0.0.2 pointopoint 10.0.0.1 h=$(dig +search +short "$(cat ~/client.txt)" | grep -i '^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' | head -n 1 | sed -e 's/[0-9]*$/0/g') g=$(netstat -nr | grep -i '^0.0.0.0.*0.0.0.0' | awk '{ print $2 }') route add -net "$h" netmask 255.255.255.0 gw "$g" for s in $(cat ~/servers.txt) ; do echo "[$s]" ; i=$(dig +search +short "$s") ; route add -host "$i" gw 10.0.0.1 ; done #route add -net 128.0.0.0 netmask 128.0.0.0 gw 10.0.0.1 #route add -net 0.0.0.0 netmask 128.0.0.0 gw 10.0.0.1 screen -S client echo 1 > /proc/sys/net/ipv4/ip_forward iptables -F ; iptables -X ; iptables -t nat -F ; iptables -t nat -X iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE while true ; do ifconfig tun0 10.0.0.1 pointopoint 10.0.0.2 ; sleep 3 ; done
You should change the following references above: infraopslab and em1
while true ; do ping -c 1 google.ca ; if [ $? -ne 0 ] ; then reboot ; fi ; sleep 3 ; done
netstat -nr | grep -Eiv '^(kernel|destination|0.0.0.0.*0.0.0.0|.*0.0.0.0)' | while read l ; do d=`echo "$l" | awk '{ print $1 }'` ; g=`echo "$l" | awk '{ print $2 }'` ; n=`echo "$l" | awk '{ print $3 }'` ; echo "$d $g $n" ; for t in net host ; do route del "-$t" "$d" netmask "$n" gw "$g" > /dev/null 2>&1 ; done ; done