Search     or:     and:
 LINUX 
 Language 
 Kernel 
 Package 
 Book 
 Test 
 OS 
 Forum 
 iakovlev.org 
 Languages
 С
 GNU С Library 
 Qt 
 STL 
 Threads 
 C++ 
 Samples 
 stanford.edu 
 ANSI C
 Libs
 LD
 Socket
 Pusher
 Pipes
 Encryption
 Plugin
 Inter-Process
 Errors
 Deep C Secrets
 C + UNIX
 Linked Lists / Trees
 Asm
 Perl
 Python
 Shell
 Erlang
 Go
 Rust
 Алгоритмы
NEWS
Последние статьи :
  Тренажёр 16.01   
  Эльбрус 05.12   
  Алгоритмы 12.04   
  Rust 07.11   
  Go 25.12   
  EXT4 10.11   
  FS benchmark 15.09   
  Сетунь 23.07   
  Trees 25.06   
  Apache 03.02   
 
TOP 20
 C++ Templates 3...1502 
 MINIX...1079 
 William Gropp...945 
 Kamran Husain...931 
 Mike Perry...928 
 K&R 3...926 
 Rodriguez 6...925 
 Secure Programming for Li...925 
 Rodriguez 4...924 
 Максвелл 3...923 
 Kamran Husain...922 
 Steve Pate 3...922 
 Максвелл 5...921 
 Steve Pate 2...921 
 Trees...919 
 Стивенс 9...918 
 Rodriguez 8...918 
 DevFS...917 
 TCP 1...917 
 Stevens-> Глава 5...916 
 
  01.08.2023 : 3530166 посещений 

iakovlev.org

Shell VPN

Этот скрипт позволяет с помощью pptp реализовать доступ к интернету из внутренней локальной сети.
 
 #!/bin/sh
 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:.
 export PATH
 
 #
 # network settings
 #
 USER= ваш_логин
 NETWORK=192.168.55.120
 NETMASK=255.255.255.0
 VPNSERVER=192.168.0.253
 GATEWAY=192.168.55.253
 DEVICE=eth0
 
 # vpn stuff
 #
 PPPD=/usr/sbin/pppd
 PPTP=/usr/sbin/pptp
 
 if [ ! -x $PPPD ]; then
 	echo "$0: $PPPD not found"
 	exit 1
 fi
 
 if [ ! -x $PPTP ]; then
 	echo "$0: $PPTP not found"
 	exit 1
 fi
 
 #
 # here we go
 #
 case "$1" in
     start)
 	if [ ! -d /var/run/pptp ]; then
 		mkdir /var/run/pptp
 	fi
 	if [ -f /var/run/pptp/remote ]; then
 	    if ping -vc1 'cat /var/run/pptp/remote'; then 
 	    	exit 1
 	    fi
 	    killall -HUP pptp
 	    killall -TERM pppd
 	    sleep 2
 	fi
 	rm -rf /var/run/pptp/* >/dev/null
 	route del default
 route add -net $NETWORK netmask $NETMASK gw $GATEWAY dev $DEVICE
 	echo -n "===> Starting vpn: "
 	($PPTP $VPNSERVER defaultroute noauth user $USER && \
 	    echo -n "done") || echo -n "failed"
 	echo
     ;;
     stop)
 	echo -n "===> Stopping vpn: "
 	killall -HUP pptp
 	killall -TERM pppd
 	sleep 2
 	rm /var/run/pptp/* >/dev/null
 route del -net $NETWORK netmask $NETMASK gw $GATEWAY dev $DEVICE
 	route add default gw $GATEWAY dev $DEVICE
 	echo "done"
     ;;
     restart)
 	$0 stop
 	sleep 2
 	$0 start
     ;;
     *)
 	echo "*** Usage: vpn {start|stop|restart}"
 	exit 1
     ;;
 esac
 
 exit 0
 
 
  	
 
 
         
Оставьте свой комментарий !

Ваше имя:
Комментарий:
Оба поля являются обязательными

 Автор  Комментарий к данной статье