Alexx)) пишет:Делаем исполняемым: chmod 711 vpn
замените на 700
кстати, скрипт вовсе не обязательно качать непонятно откуда, а лучше скопировать:
#!/bin/sh
LINK_NAME=vpn
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
script_name=$0
check_vpn_run() {
[ -f "/var/run/ppp-$LINK_NAME.pid" ] && return 0
return 1
}
usage() {
echo "Usage: $script_name {start|stop|configure|status}"
exit 1
}
configure_vpn() {
touch /etc/ppp/peers/$LINK_NAME
chmod 600 /etc/ppp/peers/$LINK_NAME
correct=""
while [ "$correct" != "yes" ]
do
read -p'Server [vpn.corbina.net]: ' server
if [ -z $server ]; then
server="vpn.corbina.net"
fi
read -p'Login: ' username
read -p'Password: ' password
echo "============================="
echo "Server: $server"
echo "Login: $username"
echo "Password: $password"
echo "============================="
read -p'Correct? (yes/no):' correct
done
cat <<EOT > /etc/ppp/peers/$LINK_NAME
noipdefault
nodefaultroute
noauth
refuse-pap
nobsdcomp
nodeflate
novj
linkname $LINK_NAME
user '$username'
password '$password'
updetach
mtu 1460
pty 'pptp $server --nolaunchpppd'
EOT
}
start_vpn() {
if [ ! -f "/etc/ppp/peers/$LINK_NAME" ]; then
echo "$script_name: VPN-connection not configured" >&2
exit 1
fi
default_gw=`route -n|awk '/^0\.0\.0\.0 .* eth/{print $2}'|head -1`
if [ -z "$default_gw" ]; then
echo "$script_name: No default route" >&2
exit 1
fi
pppd call $LINK_NAME
status=$?
if [ $status -ne 0 ]; then
echo "$script_name: pppd error: $status" >&2
exit 1
fi
if [ -f "/var/run/ppp-$LINK_NAME.pid" ]; then
ppp_iface=`tail -1 /var/run/ppp-$LINK_NAME.pid`
route add -host $server gw $default_gw
route add -net default dev $ppp_iface
fi
}
stop_vpn() {
pid=`head -1 /var/run/ppp-$LINK_NAME.pid`
kill $pid
route del -host $server
route del -net default dev
}
status_vpn() {
if check_vpn_run; then
echo "VPN-connection is UP"
else
echo "VPN-connection is DOWN"
fi
}
case "$1" in
start)
if check_vpn_run; then
echo "VPN-connection already started"
exit 0
fi
start_vpn
;;
stop)
if check_vpn_run; then
stop_vpn
else
echo "VPN-connection not started"
fi
;;
configure)
configure_vpn
;;
status)
if check_vpn_run; then
echo "VPN-connection is UP"
else
echo "VPN-connection is DOWN"
fi
;;
*)
usage
;;
esac
дополнил скрипт. теперь так:
1) установить пакет pptp-linux (как - зависит от дистрибутива)
2) скопировать приведённый скрипт в текстовый файл, и сохранить как vpn
3) переместить файл
Консоль:
# mv vpn /usr/local/bin
4) дать права
Консоль:
# chmod 700 /usr/local/bin/vpn
5) конфигурация
Консоль:
# vpn configure
если сервер vpn.corbina.net, то можно его не вводить (просто нажать ENTER)
пароль видно (блин, какой дурак придумал прятать этот пароль?!
)
Если всё правильно, наберите
yes, иначе повторите ввод.
6) запуск
Консоль:
# vpn start
остановка
Консоль:
# vpn stop
проверка
Консоль:
# vpn status
7) ??????????
PROFIT
PS: переделал для себя. т.ч. пишите, если что не так.
Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)