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