четверг, 21 июля 2011 г.

скрипт по настройке VPN (PPTP)

сохраняем содержимое блока в текстовый файл, делаем его исполняемым (chmod +x file) и запускаем ./file
#!/bin/bash

CONFDIR=/etc/ppp/peers

RUNAS=$(id -u $(whoami))

if [ $RUNAS -ne 0 ]
then
echo "Запустите скрипт с правами суперпользователя"
exit 0
fi

echo "Введите имя VPN подключения:"
read CONNAME

if [ -e $CONFDIR/$CONNAME ]
then
echo "Удалить существующий файл конфигурации?"
echo "default: yes"
read DELCONF
case $DELCONF in
y|yes|1) cat /dev/null >$CONFDIR/$CONNAME;;
n|no|0) exit 0;;
*) cat /dev/null >$CONFDIR/$CONNAME;;
esac
else
touch $CONFDIR/$CONNAME
fi

echo "Ведите адрес VPN сервера:"
read SERVER
echo "Введите имя пользователя:"
read USER
echo "Введите пароль: "
read PSWD

for i in "pty \"pptp $SERVER --nolaunchpppd\"" "lock" "noauth" "nobsdcomp" "nodeflate" "noccp" "nomppe" "nomppe-40" "refuse-pap" "refuse-eap" "refuse-chap" "refuse-mschap" "require-mppe-128" "name $USER" "remotename $CONNAME" "ipparam $CONNAME"
do
echo $i >>$CONFDIR/$CONNAME
done

echo "Установить как маршрут по умолчанию?"
echo "default: yes"
read DEFROUTE
case $DEFROUTE in
y|yes|1) echo "defaultroute" >>$CONFDIR/$CONNAME; echo "replacedefaultroute" >>$CONFDIR/$CONNAME;;
n|no|0) echo "" >/dev/null;;
*) echo "defaultroute" >>$CONFDIR/$CONNAME; echo "replacedefaultroute" >>$CONFDIR/$CONNAME;;
esac

echo "Использовать DNS сервера получаемые от VPN сервера?"
echo "default: yes"
read USEPEERDNS
case $USEPEERDNS in
y|yes|1) echo "usepeerdns" >>$CONFDIR/$CONNAME;;
n|no|0) echo "" >/dev/null;;
*) echo "usepeerdns" >>$CONFDIR/$CONNAME;;
esac

echo "Восстанавливать соединение после сбоя?"
echo "default: yes"
read PERSIST
case $PERSIST in
y|yes|1) echo "persist" >>$CONFDIR/$CONNAME;;
n|no|0) echo "" >/dev/null;;
*) echo "persist" >>$CONFDIR/$CONNAME;;
esac

echo "$USER $CONNAME \"$PSWD\" *" >>/etc/ppp/chap-secrets

echo "*** Для запуска соединения используейте команду \"sudo pon $CONNAME\" ***"
echo "*** для отключения \"sudo poff $CONNAME\" ***"
echo ""
echo "Запустить соединение сейчас?"
echo "default: no"
read CONNECT
case $CONNECT in
y|yes|1) pon $CONNAME; sleep 10; ifconfig ppp0;;
n|no|0) exit 0;;
*) exit 0;;
esac

Взято с http://forum.telenet.ru/index.php?showtopic=209497
 

Комментариев нет:

Отправить комментарий