Отправляет email-рассылки с помощью сервиса Sendsay

pptp-command

Доброго времени суток, линуксоиды.

Я уже задавал этот вопрос, меня отослали к манам. Я понимаю,
что правильно сделали. :) Но проблема манами не решилась:

Настроил по статье на Open.net pptp с помощью
pptp-command setup

Ввёл CHAP реквизиты.

После попыток запустить pptp-commnd start
до-о-о-о-олго думает, потом
Time out.

Вот что говорит Syslog:
Oct 24 20:35:39 10 pptp[2884]: anon log[main:pptp.c:243]: The synchronous pptp
option is NOT activated
Oct 24 20:35:39 10 pptp[2887]: anon log[ctrlp_rep:pptp_ctrl.c:243]: Sent control
packet type is 1 'Start-Control-Connection-Request'
Oct 24 20:35:39 10 pptp[2887]: anon log[ctrlp_disp:pptp_ctrl.c:721]: Received
Start Control Connection Reply
Oct 24 20:35:39 10 pptp[2887]: anon log[ctrlp_disp:pptp_ctrl.c:755]: Client connection
established.
Oct 24 20:35:40 10 pptp[2887]: anon log[ctrlp_rep:pptp_ctrl.c:243]: Sent control
packet type is 7 'Outgoing-Call-Request'
Oct 24 20:35:40 10 pptp[2887]: anon log[ctrlp_disp:pptp_ctrl.c:841]: Received
Outgoing Call Reply.
Oct 24 20:35:40 10 pptp[2887]: anon log[ctrlp_disp:pptp_ctrl.c:880]: Outgoing
call established (call ID 0, peer's call ID 10).
Oct 24 20:35:40 10 kernel: CSLIP: code copyright 1989 Regents of the University
of California
Oct 24 20:35:40 10 kernel: PPP generic driver version 2.4.2
Oct 24 20:35:40 10 pppd[2896]: pppd 2.4.2 started by root, uid 0
Oct 24 20:35:40 10 pppd[2896]: Using interface ppp0
Oct 24 20:35:40 10 pppd[2896]: Connect: ppp0 <--> /dev/pts/3
Oct 24 20:35:42 10 pptp[2887]: anon log[ctrlp_disp:pptp_ctrl.c:933]: PPTP_SET_LINK_INFO
received from peer_callid 0
Oct 24 20:35:42 10 pptp[2887]: anon log[ctrlp_disp:pptp_ctrl.c:936]: send_accm
is 00000000, recv_accm is 00000000
-------Вот видимо главная ошибка
Oct 24 20:35:45 10 pppd[2896]: Unknown MS-CHAP authentication failure: E=691
R=1 C=76A6829EC51945B3EEE52F5A95D5D6AC V=3
Oct 24 20:35:45 10 pptp[2887]: anon log[ctrlp_disp:pptp_ctrl.c:933]: PPTP_SET_LINK_INFO
received from peer_callid 0
Oct 24 20:35:45 10 pptp[2887]: anon log[ctrlp_disp:pptp_ctrl.c:936]: send_accm
is 00000000, recv_accm is 00000000
Oct 24 20:35:45 10 pppd[2896]: Connection terminated.
Oct 24 20:35:45 10 pppd[2896]: Exit.
Oct 24 20:35:45 10 pptp[2908]: anon warn[decaps_hdlc:pptp_gre.c:197]: short read
(-1): Input/output error
Oct 24 20:35:45 10 pptp[2908]: anon warn[decaps_hdlc:pptp_gre.c:209]: pppd may
have shutdown, see pppd log
Oct 24 20:35:45 10 pptp[2887]: anon log[callmgr_main:pptp_callmgr.c:228]: Closing
connection
Oct 24 20:35:45 10 pptp[2887]: anon log[ctrlp_rep:pptp_ctrl.c:243]: Sent control
packet type is 12 'Call-Clear-Request'
Oct 24 20:35:45 10 pptp[2887]: anon log[ctrlp_disp:pptp_ctrl.c:912]: Call disconnect
notification received (call id 10)
Oct 24 20:35:45 10 pptp[2887]: anon log[ctrlp_rep:pptp_ctrl.c:243]: Sent control
packet type is 12 'Call-Clear-Request'
Oct 24 20:35:45 10 pptp[2887]: anon log[pptp_conn_close:pptp_ctrl.c:425]: Closing
PPTP connection
Oct 24 20:35:45 10 pptp[2887]: anon log[ctrlp_rep:pptp_ctrl.c:243]: Sent control
packet type is 3 'Stop-Control-Connection-Request'
Oct 24 20:35:45 10 pptp[2887]: anon log[ctrlp_disp:pptp_ctrl.c:782]: Received
Stop Control Connection Reqply.
Oct 24 20:35:45 10 pptp[2887]: anon log[call_callback:pptp_callmgr.c:77]: Closing
connection

Кто может подсказать как это вылечить?
В мане есть Exemple с использованием pppd, но я не знаю назначения ни
одного параметра в том примере. Они все настраиваются в
/etc/pppd/configure.pptp, но что они означают...

Ответить   Mon, 24 Oct 2005 21:05:52 +0300 (#462110)

 

Ответы:

Русскин Алексей пишет:

Привожу как это настраивал я вручную без всяких гуи и пр. Работало на
ASPLinux7.3, теперь также работает на Mandrake 10.1 Все эти настройки
поставляемые с дистром у меня не заработали - разбираться дальше не стал,
настроил по своему.
Итак:
1. Идем в /etc/ppp
-файл опций pppd (через который и осуществляется соединение точка-точка
с провайдером сквозь ethernet), который он смотрит первым: /etc/ppp/options
у меня тут всего одна строка
lock #(создавать файл блокировки - все что в скобках - в файле быть не должно)
(не забываем про возврат каретки после последней строки в конф. файлах :)
-файл оций pppd нашего pppt соединения, назовем его pptp.options, кладем
его в /etc/ppp/peers/
его минимальный рабочий вид:
#require-mppe-40
#require-mppe-128
#require-mppe

#lcp-echo-interval 30
lcp-echo-interval 120 #(не помню зачем :)
lcp-echo-failure 5 #(-"-)

require-mschap-v2
refuse-pap
refuse-chap
refuse-mschap
refuse-eap

defaultroute #(указывает pppd после соединения установить маршрут по умолчанию
на шлюз #провайдера)

noauth #(не аутентифицировать сервер провайдера)
nomppe
2. Идем в /etc/sysconfig/network-scripts/
создаем файл

(забыл сказать - все это под root)
его вид:
ONBOOT=no #(если надо подкл. сразу при загрузке - то yes)
BOOTPROTO=static
PEERDNS=no #(у меня свой сервер DNS, поэтому no, обычно надо yes, тогда
после соединения pppd пропишет адреса DNS выданные провайдерским
сервером в /etc/resolv.conf)
DEVICE=pptp0
USERCTL=no
PERSIST=no
DEBUG=yes
DEFROUTE=yes #(очень нужная опция - у нас она дублируется с pptp.options)
PPPOPTIONS="call options.pptp" #(указываем pppd прочесть наш файл
/etc/ppp/peers/pptp.options)
VPN_HOST=192.168.122.21 #(ip сервера VPN провайдера, в примере
выдуманный, надо подставить свой)
VPN_USER=имя #(имя пользователя, т.е. логин входа на сервер провайдера
по VPN)
3. Тут приведу тексты скриптов, взятых из ASPLinux7.2, т.к. в mandrake я
их не нашел.
Файл /etc/sysconfig/network-scripts/ifup-pptp
#!/bin/sh
# Based on Red Hat's ppp scripts
# MSG - yinya***@e*****.com
# 06/28/2000

# Changes:
# 06/28/2000 - modified scripts from original ssh vpn scripts.

PATH=/sbin:/usr/sbin:/bin:/usr/bin

if [ "$1" = watch ] ; then
shift
DEVICE=$1
shift

PID=`grep -v ppp /var/run/ppp-${DEVICE}.pid`

while ( test -e "/var/run/ppp-${DEVICE}.pid" && \
test -d "/proc/${PID}" ) ; do
sleep 5s
done

[ -e /var/run/${DEVICE}-up ] || exit 0
fi

# Get the configuration for this connection
cd /etc/sysconfig/network-scripts
. network-functions

CONFIG=$1
[ -f "$CONFIG" ] || CONFIG=ifcfg-$1
source_config

if [ "$2" = "boot" -a "${ONBOOT}" = "no" ]; then
exit
fi

[ -x /usr/sbin/pppd ] || {
echo "/usr/sbin/pppd does not exist or is not executable"
echo "ifup-pptp for $DEVICE exiting"
logger -p daemon.info -t ifup-vpn \
"/usr/sbin/pppd does not exist or is not executable for
$DEVICE"
exit 1
}

opts="lock lcp-echo-interval 30 lcp-echo-failure 4 noipdefault noauth"
if [ "${DEFROUTE}" = yes ] ; then
# pppd will no longer delete an existing default route
# so we have to help it out a little here.
route del default >/dev/null 2>&1
opts="$opts defaultroute"
fi
if [ "${PEERDNS}" != no ] ; then
opts="$opts usepeerdns"
fi
if [ -n "${MRU}" ] ; then
opts="$opts mru ${MRU}"
fi
if [ -n "${MTU}" ] ; then
opts="$opts mtu ${MTU}"
fi
if [ -n "${IDLETIMEOUT}" ] ; then
opts="$opts idle ${IDLETIMEOUT}"
fi
if [ -n "${IPADDR}${REMIP}" ] ; then
# if either IP address is set, the following will work.
opts="$opts ${IPADDR}:${REMIP}"
fi
if [ "${DEBUG}" = yes ] ; then
opts="$opts debug"
fi

if [ -z "${VPN_USER}" ] ; then
(logger -p daemon.info -t ifup-pptp \
"vpn: VPN_USER is not defined, authentication
credentials required." &)&
exit 1
else
opts="$opts user ${VPN_USER}"
fi
if [ -z "${VPN_HOST}" ] ; then
(logger -p daemon.info -t ifup-pptp \
"vpn: VPN_HOST is not defined, to whom do I connect?" &)&
exit 1
else
opts="$opts remotename ${VPN_HOST}"
fi

(logger -p daemon.info -t ifup-pptp \
"vpn: pppd started for ${DEVICE} to ${VPN_HOST}" &)&

/usr/sbin/pptp "${VPN_HOST}" updetach $opts ${PPPOPTIONS} \
ipparam $DEVICE linkname $DEVICE
LINKUP=$?

if [ "${LINKUP}" -ne "0" ]; then
(logger -p daemon.info -t ifup-pptp \

"pptp: pppd failed to start" &)&
exit 1
fi

REALDEVICE=`grep ppp /var/run/ppp-${DEVICE}.pid`
for net in ${ROUTES}; do
unset NETWORK NETMASK
eval `echo $net | sed -e 's:\(.*\)/\(.*\):NETWORK=\1;NETMASK=\2:'`
route add -net ${NETWORK} netmask ${NETMASK} dev ${REALDEVICE}
done

if [ "${PERSIST}" = yes ] ; then
touch /var/run/${DEVICE}-up
"$0" watch "${DEVICE}" "$@" &
fi
Файл /etc/sysconfig/network-scripts/ifdown-pptp
#!/bin/bash
# Based on Red Hat's ppp scripts
# MSG - yinya***@e*****.com
# 06/28/2000
PATH=/sbin:/usr/sbin:/bin:/usr/bin

cd /etc/sysconfig/network-scripts
. network-functions

CONFIG=$1
source_config

file=/var/run/ppp-$DEVICE.pid

if [ ! -f $file ]; then
# ppp isn't running, or we didn't start it
exit 0
fi

# remove the "$DEVICE-up" file so ifup-vpn knows to quit
if [ "${PERSIST}" = yes ] ; then
vpnfile=/var/run/${DEVICE}-up
[ -f "$vpnfile" ] && rm -f "$vpnfile"
fi

# pppd appears to put its pid and the real device name in this file
PID=`head -1 $file`
[ -n "$PID" ] || exit 1

kill -TERM $PID > /dev/null 2>&1
# Give pppd a chance to exit
sleep 1
[ ! -d /proc/$PID ] && exit 0
sleep 2
[ ! -d /proc/$PID ] && exit 0

# killing ppp-watch twice in a row causes it to send a SIGKILL to pppd pgrp
kill -TERM $PID > /dev/null 2>&1
# ip-down won't run in this case
/etc/sysconfig/network-scripts/ifdown-post $1
[ ! -d /proc/$PID ] && exit 0

exit 1
Можно конечно все это и короче, и одной командой сделать, но над ней возможно
придется покорпеть
дольше.

4. Теперь нужно указать пароль chap аутентификациии
/etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
имя * пароль *
разумеется вместо имя и пароль нужно вставить настоящие и установить владельца
файла root и
разрешение 0600

5. Теперь само подключение. Я использовал для этого самопальный init скрипт
/etc/init.d/pptp
#!/bin/sh
#
# pptp-client Start pptp-client
#
#
# chkconfig: 2345 30 99
# description: PPTP client
#

# Source function library.
. /etc/rc.d/init.d/functions

#[ -f /usr/sbin/pptp -a -f /usr/local/bin/pptp-run ] || exit 0
[ -f /usr/sbin/pptp ] || exit 0

RETVAL=0

# See how we were called.
case "$1" in
start)
route add -host 192.168.122.21 gw 172.27.23.1 eth0
echo -n "Starting system pptp-client: "
nohup /etc/sysconfig/network-scripts/ifup ifcfg-pptp0 >/dev/null 2>&1
&
success
RETVAL=$?
echo
;;
stop)
echo -n "Shutting down system pptp-client: "
/etc/sysconfig/network-scripts/ifdown ifcfg-pptp0
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/pptp-client
route del -host 192.168.122.21 gw 172.27.23.1 eth0
;;
status)
status pptp
RETVAL=$?
;;
restart|reload)
$0 stop
$0 start
RETVAL=$?
;;
*)
echo "Usage: pptp-client {start|stop|status|restart}"
exit 1
esac
exit $RETVAL
где 192.168.122.21 - адрес сервера VPN провайдера
192.168.122.21 - шлюз по умолчанию из локальной сети к серверу VPN
(подставьте свои значения)

Запуск подключения:

Останов подключения:

от root

Чтобы запускать от пользователя используем sudo
В файл /etc/sudoers добавляем строчку
имя_пользователя имя_своего_хоста = NOPASSWD: /etc/init.d/pptp
Теперь запуск выглядит так:

И в качестве бонуса скриптик гуи для подключения используя утилитку Xdialog
Создаем файлик например vpnsw.sh, делаем его исполняемым
#!/bin/bash

SCRIPT=/etc/init.d/pptp

if [ ! -f $SCRIPT ]; then
Xdialog --msgbox "Не найден скрипт запуска $SCRIPT" 7 40
exit 0
fi

if [ -f /var/run/ppp-pptp*.pid ]; then
Xdialog --yesno "Отключиться от VPN?" 7 40 && sudo $SCRIPT stop >/dev/null

else
Xdialog --yesno "Подключиться к VPN?" 7 40 && sudo $SCRIPT start >/dev/null

fi
Возможно где-то вкрались ошибки.
Если что не понятно - пишите.
Извиняйте за объем.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 22229; Возраст листа: 823; Участников: 1442
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/462605

Ответить   Tue, 25 Oct 2005 21:22:46 +0400 (#462605)

 

Доброго времени суток, avm7.

Вы писали 25 октября 2005 г., 20:22:46:

У меня тоже был ASP, теперь Mandrake 10.1 :))))

А что здесь нужно ввести, если IP машины, которая является VPN-сервером, 10.100.0.1
и видна "прямо", без посредников-маршрутизаторов. Т.е. мы в одной подсети 10.0.0.0
255.0.0.0. У меня IP 10.100.0.233.

А если я DNS прописал в /etc/resolv.conf сам, тогда что? :)
...

Здесь ведь ошибка, да?

Т.е. 10.100.0.1 в моём случае?

...

А здесь мне что ввести?

Здесь "nohup /etc/sysconfig/network-scripts/ifup ifcfg-pptp0 >/dev/null 2>&1
&" ?

Последний ip Вы имели ввиду 172.27.23.1, правильно?

Спасибо за "Объём" :)

Ответить   Wed, 26 Oct 2005 21:06:21 +0300 (#463435)

 

Русскин Алексей пишет:

Тут ничего больше добавлять не надо, pppd сам получит нужную инфу и установит
маршрут
Просто не надо будет устанавливать и убирать маршруты в pptp инит скрипте

Если "yes" - то pppd добавит в resolv.conf еще парочку адресов, а по отключении
удалит

Нет. А где?
Файл указанный в call pppd будет искать именно в /etc/ppp/peers/

Угу.

Просто убрать эту строку
и route del - тоже

В смысле?
В одну ли строку? Да.

У меня случай посложнее - я в сети 172...., а сервер в сети 192...., поэтому
сначала надо
указывать маршрут к серверу через шлюз. В вашем случае все эти строки с route
нужно убрать

Рад если поможет.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 22300; Возраст листа: 826; Участников: 1444
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/464312

Ответить   Fri, 28 Oct 2005 01:09:29 +0400 (#464312)

 

1) А в конфигурации есть такие опции?

require-mppe
require-mppe-128

2) Подключается ли из-под M$ (с тем же логином и паролем, из того же сегмента

сети) - а то с (моими) провайдерами всякое бывает

3) Было похожее из-за старого pppd : на AltMaster2.2 ни в какую,
а в 2.4 все сразу заработало

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 22236; Возраст листа: 824; Участников: 1442
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/462719

Ответить   Tue, 25 Oct 2005 17:01:01 +0300 (#462719)

 

25.10.05, Русскин Алексей<let***@i*****.ru> написал(а):

Какая версия ядра? какой тип ауьентификации на сервере к которому
подключаетесь?
если там MS-CHAP то нужно патчить ядро на предмет MPPE/MPPC, советую
поискать доку на opennet.ru
--
Best regards w00t

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 22237; Возраст листа: 824; Участников: 1442
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/462720

Ответить   w00t Tue, 25 Oct 2005 13:29:58 +0600 (#462720)