SSH PPP VPN 2 HOST
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