SSH PPP VPN 2 HOST

Aus xinux.net
Zur Navigation springen Zur Suche springen
#!/bin/bash
test $# -ne 3 && ( echo  $0 'start|stop IP PORT ' ; exit 1 )

LOCAL_NET=10.80.0.0/13
SSH_CMD="ssh $2 -p $3 -l root"
SRV_PPP_IP=10.79.255.1
CLI_PPP_IP=10.79.255.2
PATH=/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11/:
PPPD=/usr/sbin/pppd
SSH=/usr/bin/ssh
ADD_SNAT="/sbin/iptables -t nat -I POSTROUTING -s $LOCAL_NET -d $SRV_PPP_IP -j SNAT --to-source  $CLI_PPP_IP"
DEL_SNAT="/sbin/iptables -t nat -D POSTROUTING -s $LOCAL_NET -d $SRV_PPP_IP -j SNAT --to-source  $CLI_PPP_IP"

function killpppd  ()
{
for PS in $(ps -alx  | grep pppd | grep noauth | tr -s " " | cut -f 3 -d " ")
do
kill $PS
done
}
if ! test -f $PPPD  ; then echo "can't find $PPPD";  exit 3; fi


case "$1" in
  start)
     echo -n "Starting vpn to $SERVER_HOSTNAME: "
    $PPPD updetach noauth passive pty  \
    "$SSH_CMD -o Batchmode=yes ${PPPD} nodetach notty noauth" \
    ipparam vpn $CLI_PPP_IP:$SRV_PPP_IP
    $ADD_SNAT
    echo "connected"
    ;;

  stop)
        echo -n "Stopping vpn to $SERVER_HOSTNAME: "
        killpppd
        $DEL_SNAT
    ;;
esac