URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 90960
[ Назад ]

Исходное сообщение
"Проблема с VPN-клиентом РРТР через MPD5"

Отправлено rt1975 , 16-Фев-11 23:36 
Суть в следующем. Подключение к провайдеру БИГТелеком осуществляется через VPN-соединение. Поднял его средствами MPD5. При неактивности соединения ~10-20 минут соединение отваливается, после чего не восстанавливается. Если рвать принудительно - например, выдернуть сетевой шнурок, дождаться обрыва и подключить вновь - все работает нормально. Звонил прову - у них нет опции разрыва соединения по неактивности.
Получается, косяк где-то в настройках.. Сможете ткнуть носом? Буду очч благодарен. Фря 8.1 MPD 5.5
Конфиг MPD:

default:
        load pptp_client


pptp_client:

        create bundle static B1
        set iface up-script "/usr/local/etc/mpd5/ng0_up.sh"
        set iface down-script "/usr/local/etc/mpd5/ng0_down.sh"
        set iface idle 0
        set iface enable tcpmssfix
        set iface route default
        set ipcp ranges 0.0.0.0/0 0.0.0.0/0
        set ipcp no vjcomp

        create link static L1 pptp
        set link action bundle B1
        set auth authname "12345678"
        set auth password "12345678"
        set link disable multilink
        set link max-redial 999
        set link latency 0
        set link mtu 1476
        set link keep-alive 20 75
        set pptp peer vpn.bigtelecom.ru
        set pptp disable windowing
        open

В скриптах поднимаю и прибиваю нат на второй интерфейс ng0.

Вот логи успешного соединения:

Feb 16 22:12:21 server mpd: process 2636 started, version 5.5 (root@server.com 19:56 23-Jan-2011)
Feb 16 22:12:21 server mpd: Label 'startup' not found
Feb 16 22:12:21 server mpd: [B1] Bundle: Interface ng0 created
Feb 16 22:12:21 server mpd: [L1] Link: OPEN event
Feb 16 22:12:21 server mpd: [L1] LCP: Open event
Feb 16 22:12:21 server mpd: [L1] LCP: state change Initial --> Starting
Feb 16 22:12:21 server mpd: [L1] LCP: LayerStart
Feb 16 22:12:21 server mpd: [L1] PPTP call successful
Feb 16 22:12:21 server mpd: [L1] Link: UP event
Feb 16 22:12:21 server mpd: [L1] LCP: Up event
Feb 16 22:12:21 server mpd: [L1] LCP: state change Starting --> Req-Sent
Feb 16 22:12:21 server mpd: [L1] LCP: SendConfigReq #1
Feb 16 22:12:21 server mpd: [L1]   ACFCOMP
Feb 16 22:12:21 server mpd: [L1]   PROTOCOMP
Feb 16 22:12:21 server mpd: [L1]   ACCMAP 0x000a0000
Feb 16 22:12:21 server mpd: [L1]   MRU 1500
Feb 16 22:12:21 server mpd: [L1]   MAGICNUM f10b2598
Feb 16 22:12:21 server mpd: [L1] LCP: rec'd Configure Request #1 (Req-Sent)
Feb 16 22:12:21 server mpd: [L1]   AUTHPROTO CHAP MSOFTv2
Feb 16 22:12:21 server mpd: [L1]   MAGICNUM 2d59dcc5
Feb 16 22:12:21 server mpd: [L1] LCP: SendConfigAck #1
Feb 16 22:12:21 server mpd: [L1]   AUTHPROTO CHAP MSOFTv2
Feb 16 22:12:21 server mpd: [L1]   MAGICNUM 2d59dcc5
Feb 16 22:12:21 server mpd: [L1] LCP: state change Req-Sent --> Ack-Sent
Feb 16 22:12:21 server mpd: [L1] LCP: rec'd Configure Ack #1 (Ack-Sent)
Feb 16 22:12:21 server mpd: [L1]   ACFCOMP
Feb 16 22:12:21 server mpd: [L1]   PROTOCOMP
Feb 16 22:12:21 server mpd: [L1]   ACCMAP 0x000a0000
Feb 16 22:12:21 server mpd: [L1]   MRU 1500
Feb 16 22:12:21 server mpd: [L1]   MAGICNUM f10b2598
Feb 16 22:12:21 server mpd: [L1] LCP: state change Ack-Sent --> Opened
Feb 16 22:12:21 server mpd: [L1] LCP: auth: peer wants CHAP, I want nothing
Feb 16 22:12:21 server mpd: [L1] LCP: LayerUp
Feb 16 22:12:21 server mpd: [L1] CHAP: rec'd CHALLENGE #1 len: 25
Feb 16 22:12:21 server mpd: [L1]   Name: "VPN4"
Feb 16 22:12:21 server mpd: [L1] CHAP: Using authname "12345678"
Feb 16 22:12:21 server mpd: [L1] CHAP: sending RESPONSE #1 len: 62
Feb 16 22:12:21 server mpd: [L1] CHAP: rec'd SUCCESS #1 len: 46
Feb 16 22:12:21 server mpd: [L1]   MESG: S=2F84C0799E2B8007B1E09D263EC498FEC64C25DC
Feb 16 22:12:21 server mpd: [L1] LCP: authorization successful
Feb 16 22:12:21 server mpd: [L1] Link: Matched action 'bundle "B1" ""'
Feb 16 22:12:21 server mpd: [L1] Link: Join bundle "B1"
Feb 16 22:12:21 server mpd: [B1] Bundle: Status update: up 1 link, total bandwidth 64000 bps
Feb 16 22:12:21 server mpd: [B1] IPCP: Open event
Feb 16 22:12:21 server mpd: [B1] IPCP: state change Initial --> Starting
Feb 16 22:12:21 server mpd: [B1] IPCP: LayerStart
Feb 16 22:12:21 server mpd: [B1] IPCP: Up event
Feb 16 22:12:21 server mpd: [B1] IPCP: state change Starting --> Req-Sent
Feb 16 22:12:21 server mpd: [B1] IPCP: SendConfigReq #1
Feb 16 22:12:21 server mpd: [B1]   IPADDR 0.0.0.0
Feb 16 22:12:21 server mpd: [B1] IPCP: rec'd Configure Request #1 (Req-Sent)
Feb 16 22:12:21 server mpd: [B1]   COMPPROTO VJCOMP, 16 comp. channels, allow comp-cid
Feb 16 22:12:21 server mpd: [B1]   IPADDR 172.16.1.1
Feb 16 22:12:21 server mpd: [B1]     172.16.1.1 is OK
Feb 16 22:12:21 server mpd: [B1] IPCP: SendConfigRej #1
Feb 16 22:12:21 server mpd: [B1]   COMPPROTO VJCOMP, 16 comp. channels, allow comp-cid
Feb 16 22:12:21 server mpd: [B1] IPCP: rec'd Configure Nak #1 (Req-Sent)
Feb 16 22:12:21 server mpd: [B1]   IPADDR 87.255.21.1
Feb 16 22:12:21 server mpd: [B1]     87.255.21.1 is OK
Feb 16 22:12:21 server mpd: [B1] IPCP: SendConfigReq #2
Feb 16 22:12:21 server mpd: [B1]   IPADDR 87.255.21.1
Feb 16 22:12:21 server mpd: [B1] IPCP: rec'd Configure Request #2 (Req-Sent)
Feb 16 22:12:21 server mpd: [B1]   IPADDR 172.16.1.1
Feb 16 22:12:21 server mpd: [B1]     172.16.1.1 is OK
Feb 16 22:12:21 server mpd: [B1] IPCP: SendConfigAck #2
Feb 16 22:12:21 server mpd: [B1]   IPADDR 172.16.1.1
Feb 16 22:12:21 server mpd: [B1] IPCP: state change Req-Sent --> Ack-Sent
Feb 16 22:12:21 server mpd: [B1] IPCP: rec'd Configure Ack #2 (Ack-Sent)
Feb 16 22:12:21 server mpd: [B1]   IPADDR 87.255.21.1
Feb 16 22:12:21 server mpd: [B1] IPCP: state change Ack-Sent --> Opened
Feb 16 22:12:21 server mpd: [B1] IPCP: LayerUp
Feb 16 22:12:21 server mpd: [B1]   87.255.21.1 -> 172.16.1.1
Feb 16 22:12:21 server mpd: [B1] IFACE: Up event


После чего идет разрыв.  Логи:

Feb 16 21:22:40 server mpd: [L1] PPTP call terminated
Feb 16 21:22:40 server mpd: [L1] Link: DOWN event
Feb 16 21:22:40 server mpd: [L1] LCP: Down event
Feb 16 21:22:40 server mpd: [L1] LCP: state change Opened --> Starting
Feb 16 21:22:40 server mpd: [L1] Link: Leave bundle "B1"
Feb 16 21:22:40 server mpd: [B1] Bundle: Status update: up 0 links, total bandwidth 9600 bps
Feb 16 21:22:40 server mpd: [B1] IPCP: Close event
Feb 16 21:22:40 server mpd: [B1] IPCP: state change Opened --> Closing
Feb 16 21:22:40 server mpd: [B1] IPCP: SendTerminateReq #3
Feb 16 21:22:40 server mpd: [B1] IPCP: LayerDown
Feb 16 21:22:40 server mpd: [B1] IFACE: Down event
Feb 16 21:22:40 server mpd: [B1] IPCP: Down event
Feb 16 21:22:40 server mpd: [B1] IPCP: LayerFinish
Feb 16 21:22:40 server mpd: [B1] Bundle: No NCPs left. Closing links...
Feb 16 21:22:40 server mpd: [B1] IPCP: state change Closing --> Initial
Feb 16 21:22:40 server mpd: [L1] LCP: LayerDown
Feb 16 21:22:40 server mpd: [L1] Link: reconnection attempt 1 in 3 seconds
Feb 16 21:22:43 server mpd: [L1] Link: reconnection attempt 1
Feb 16 21:22:43 server mpd: [L1] PPTP call successful
Feb 16 21:22:43 server mpd: [L1] Link: UP event
Feb 16 21:22:43 server mpd: [L1] LCP: Up event
Feb 16 21:22:43 server mpd: [L1] LCP: state change Starting --> Req-Sent
Feb 16 21:22:43 server mpd: [L1] LCP: SendConfigReq #2
Feb 16 21:22:43 server mpd: [L1]   ACFCOMP
Feb 16 21:22:43 server mpd: [L1]   PROTOCOMP
Feb 16 21:22:43 server mpd: [L1]   ACCMAP 0x000a0000
Feb 16 21:22:43 server mpd: [L1]   MRU 1500
Feb 16 21:22:43 server mpd: [L1]   MAGICNUM 2fad8706
Feb 16 21:22:45 server mpd: [L1] LCP: SendConfigReq #3
Feb 16 21:22:45 server mpd: [L1]   ACFCOMP
Feb 16 21:22:45 server mpd: [L1]   PROTOCOMP
Feb 16 21:22:45 server mpd: [L1]   ACCMAP 0x000a0000
Feb 16 21:22:45 server mpd: [L1]   MRU 1500
Feb 16 21:22:45 server mpd: [L1]   MAGICNUM 2fad8706
Feb 16 21:22:45 server mpd: [L1] LCP: rec'd Configure Request #1 (Req-Sent)
Feb 16 21:22:45 server mpd: [L1]   AUTHPROTO CHAP MSOFTv2
Feb 16 21:22:45 server mpd: [L1]   MAGICNUM 89bccaad
Feb 16 21:22:45 server mpd: [L1] LCP: SendConfigAck #1
Feb 16 21:22:45 server mpd: [L1]   AUTHPROTO CHAP MSOFTv2
Feb 16 21:22:45 server mpd: [L1]   MAGICNUM 89bccaad
Feb 16 21:22:45 server mpd: [L1] LCP: state change Req-Sent --> Ack-Sent
Feb 16 21:22:45 server mpd: [L1] LCP: rec'd Configure Ack #3 (Ack-Sent)
Feb 16 21:22:45 server mpd: [L1]   ACFCOMP
Feb 16 21:22:45 server mpd: [L1]   PROTOCOMP
Feb 16 21:22:45 server mpd: [L1]   ACCMAP 0x000a0000
Feb 16 21:22:45 server mpd: [L1]   MRU 1500
Feb 16 21:22:45 server mpd: [L1]   MAGICNUM 2fad8706
Feb 16 21:22:45 server mpd: [L1] LCP: state change Ack-Sent --> Opened
Feb 16 21:22:45 server mpd: [L1] LCP: auth: peer wants CHAP, I want nothing
Feb 16 21:22:45 server mpd: [L1] LCP: LayerUp
Feb 16 21:22:45 server mpd: [L1] CHAP: rec'd CHALLENGE #1 len: 24
Feb 16 21:22:45 server mpd: [L1]   Name: "VPN"
Feb 16 21:22:45 server mpd: [L1] CHAP: Using authname "12345678"
Feb 16 21:22:45 server mpd: [L1] CHAP: sending RESPONSE #1 len: 62
Feb 16 21:22:45 server mpd: [L1] CHAP: rec'd SUCCESS #1 len: 46
Feb 16 21:22:45 server mpd: [L1]   MESG: S=1C067D093FC8D3CE0D91A26DF748D5CC1BC95760
Feb 16 21:22:45 server mpd: [L1] LCP: authorization successful
Feb 16 21:22:45 server mpd: [L1] Link: Matched action 'bundle "B1" ""'
Feb 16 21:22:45 server mpd: [L1] Link: Join bundle "B1"
Feb 16 21:22:45 server mpd: [B1] Bundle: Status update: up 1 link, total bandwidth 64000 bps
Feb 16 21:22:45 server mpd: [B1] IPCP: Open event
Feb 16 21:22:45 server mpd: [B1] IPCP: state change Initial --> Starting
Feb 16 21:22:45 server mpd: [B1] IPCP: LayerStart
Feb 16 21:22:45 server mpd: [B1] IPCP: Up event
Feb 16 21:22:45 server mpd: [B1] IPCP: state change Starting --> Req-Sent
Feb 16 21:22:45 server mpd: [B1] IPCP: SendConfigReq #4
Feb 16 21:22:45 server mpd: [B1]   IPADDR 0.0.0.0
Feb 16 21:22:45 server mpd: [B1] IPCP: rec'd Configure Request #1 (Req-Sent)
Feb 16 21:22:45 server mpd: [B1]   COMPPROTO VJCOMP, 16 comp. channels, allow comp-cid
Feb 16 21:22:45 server mpd: [B1]   IPADDR 172.16.1.1
Feb 16 21:22:45 server mpd: [B1]     172.16.1.1 is OK
Feb 16 21:22:45 server mpd: [B1] IPCP: SendConfigRej #1
Feb 16 21:22:45 server mpd: [B1]   COMPPROTO VJCOMP, 16 comp. channels, allow comp-cid
Feb 16 21:22:45 server mpd: [B1] IPCP: rec'd Configure Nak #4 (Req-Sent)
Feb 16 21:22:45 server mpd: [B1]   IPADDR 87.255.21.1
Feb 16 21:22:45 server mpd: [B1]     87.255.21.1 is OK
Feb 16 21:22:45 server mpd: [B1] IPCP: SendConfigReq #5
Feb 16 21:22:45 server mpd: [B1]   IPADDR 87.255.21.1
Feb 16 21:22:45 server mpd: [B1] IPCP: rec'd Configure Request #2 (Req-Sent)
Feb 16 21:22:45 server mpd: [B1]   IPADDR 172.16.1.1
Feb 16 21:22:45 server mpd: [B1]     172.16.1.1 is OK
Feb 16 21:22:45 server mpd: [B1] IPCP: SendConfigAck #2
Feb 16 21:22:45 server mpd: [B1]   IPADDR 172.16.1.1
Feb 16 21:22:45 server mpd: [B1] IPCP: state change Req-Sent --> Ack-Sent
Feb 16 21:22:45 server mpd: [B1] IPCP: rec'd Configure Ack #5 (Ack-Sent)
Feb 16 21:22:45 server mpd: [B1]   IPADDR 87.255.21.1
Feb 16 21:22:45 server mpd: [B1] IPCP: state change Ack-Sent --> Opened
Feb 16 21:22:45 server mpd: [B1] IPCP: LayerUp
Feb 16 21:22:45 server mpd: [B1]   87.255.21.1 -> 172.16.1.1
Feb 16 21:22:45 server mpd: [B1] system: command "/usr/local/etc/mpd5/ng0_up.sh ng0 inet 87.255.21.1/32 172.16.1.1 '-' '' '' '87.255.0.194'" returned 256
Feb 16 21:22:45 server mpd: [B1] IPCP: parameter negotiation failed
Feb 16 21:22:45 server mpd: [B1] IPCP: state change Opened --> Stopping
Feb 16 21:22:45 server mpd: [B1] IPCP: SendTerminateReq #6
Feb 16 21:22:45 server mpd: [B1] IPCP: LayerDown
Feb 16 21:22:45 server mpd: [B1] IPCP: rec'd Terminate Ack #6 (Stopping)
Feb 16 21:22:45 server mpd: [B1] IPCP: state change Stopping --> Stopped
Feb 16 21:22:45 server mpd: [B1] IPCP: LayerFinish
Feb 16 21:22:45 server mpd: [B1] Bundle: No NCPs left. Closing links...
Feb 16 21:22:45 server mpd: [B1] Bundle: closing link "L1"...
Feb 16 21:22:45 server mpd: [L1] Link: CLOSE event
Feb 16 21:22:45 server mpd: [L1] LCP: Close event
Feb 16 21:22:45 server mpd: [L1] LCP: state change Opened --> Closing
Feb 16 21:22:45 server mpd: [L1] Link: Leave bundle "B1"
Feb 16 21:22:45 server mpd: [B1] Bundle: Status update: up 0 links, total bandwidth 9600 bps
Feb 16 21:22:45 server mpd: [B1] IPCP: Close event
Feb 16 21:22:45 server mpd: [B1] IPCP: state change Stopped --> Closed
Feb 16 21:22:45 server mpd: [B1] IPCP: Down event
Feb 16 21:22:45 server mpd: [B1] IPCP: state change Closed --> Initial
Feb 16 21:22:45 server mpd: [L1] LCP: SendTerminateReq #4
Feb 16 21:22:45 server mpd: [L1] LCP: LayerDown
Feb 16 21:22:45 server mpd: [L1] LCP: rec'd Terminate Ack #4 (Closing)
Feb 16 21:22:45 server mpd: [L1] LCP: state change Closing --> Closed
Feb 16 21:22:45 server mpd: [L1] LCP: LayerFinish
Feb 16 21:22:45 server mpd: [L1] PPTP call terminated
Feb 16 21:22:45 server mpd: [L1] Link: DOWN event
Feb 16 21:22:45 server mpd: [L1] LCP: Down event
Feb 16 21:22:45 server mpd: [L1] LCP: state change Closed --> Initial

И все.. попыток восстановить соединение нет. В чем трабла?


Содержание

Сообщения в этом обсуждении
"Проблема с VPN-клиентом РРТР через MPD5"
Отправлено михалыч , 17-Фев-11 04:50 
Перемудрили.
Вы после установки mpd файлик такой mpd.conf.sample просматривать пробовали?
Там для вашего случая конкретно написано

pptp_client:
#
# PPTP client: only outgoing calls, [u]auto reconnect[/u],
# ipcp-negotiated address, one-sided authentication,
# default route points on ISP's end
#

        create bundle static B1
        set iface route default
        set ipcp ranges 0.0.0.0/0 0.0.0.0/0

        create link static L1 pptp
        set link action bundle B1
        set auth authname MyLogin
        set auth password MyPass
        set link max-redial 0
        set link mtu 1460
        set link keep-alive 20 75
        set pptp peer 1.2.3.4
        set pptp disable windowing
        open

Сравните свой файл с этим примером и найдите 10 отличий. ))
Приведите свой файл к этому виду и все у вас заработает как надо.


"Проблема с VPN-клиентом РРТР через MPD5"
Отправлено rt1975 , 18-Фев-11 11:08 
>[оверквотинг удален]
>         set link max-redial 0
>         set link mtu 1460
>         set link keep-alive 20
> 75
>         set pptp peer 1.2.3.4
>         set pptp disable windowing
>         open
> Сравните свой файл с этим примером и найдите 10 отличий. ))
> Приведите свой файл к этому виду и все у вас заработает как
> надо.

гмм.. Если бы было все так просто.. Объясню подробнее - при РАЗРЫВЕ соединения реконнект идет, связь восстанавливается. У меня же причина в другом - MPD гасит канал при НЕАКТИВНОСТИ. В среднем через 10-15 минут, после чего вновь его не поднимает, в логах это видно. Причем эта же картина наблюдается в том числе и с той версией конфига, который привели Вы. Мне необходимо найти причину, по которой это происходит.


"Проблема с VPN-клиентом РРТР через MPD5"
Отправлено sherlock , 17-Фев-11 16:59 
... поскипано

> Feb 16 21:22:40 server mpd: [L1] LCP: LayerDown
> Feb 16 21:22:40 server mpd: [L1] Link: reconnection attempt 1 in 3
> seconds
> Feb 16 21:22:43 server mpd: [L1] Link: reconnection attempt 1

... поскипано

> Feb 16 21:22:45 server mpd: [B1] system: command "/usr/local/etc/mpd5/ng0_up.sh ng0 inet
> 87.255.21.1/32 172.16.1.1 '-' '' '' '87.255.0.194'" returned 256
> Feb 16 21:22:45 server mpd: [B1] IPCP: parameter negotiation failed
> И все.. попыток восстановить соединение нет. В чем трабла?

Ну как видно, переподсоединится сервер все-же пытается, НО, скрипт выдает ошибку (256), почему? в результате дальнейшие попытки прекращаются!!! Не увидел в логах запуска скрипта по DOWN, может чего-то не подчищается?


"Проблема с VPN-клиентом РРТР через MPD5"
Отправлено rt1975 , 18-Фев-11 11:13 
>[оверквотинг удален]
>> seconds
>> Feb 16 21:22:43 server mpd: [L1] Link: reconnection attempt 1
> ... поскипано
>> Feb 16 21:22:45 server mpd: [B1] system: command "/usr/local/etc/mpd5/ng0_up.sh ng0 inet
>> 87.255.21.1/32 172.16.1.1 '-' '' '' '87.255.0.194'" returned 256
>> Feb 16 21:22:45 server mpd: [B1] IPCP: parameter negotiation failed
>> И все.. попыток восстановить соединение нет. В чем трабла?
> Ну как видно, переподсоединится сервер все-же пытается, НО, скрипт выдает ошибку (256),
> почему? в результате дальнейшие попытки прекращаются!!! Не увидел в логах запуска
> скрипта по DOWN, может чего-то не подчищается?

В этом скрипте прибивается нат на виртуальный интерфейс:

#!/bin/sh -
if [ -f /var/run/natd2.pid ] ; then
kill `cat /var/run/natd2.pid`
fi

Прсле разрыва дефолтный маршрут также прибивается. Тем более, что впн-сервер находится в сети провайдера и путь к нему прописан статическим маршрутом. Что еще должно чистится, кроме таблицы роутинга?
Да, и еще - если есть активность на интерфейсе (например, в локалке запущена аська), то канал не рвется сутками.. Как только активность пропадает (например, компы в локалке выключаются на ночь) - мин через 10-15 канал отваливается.


"Проблема с VPN-клиентом РРТР через MPD5"
Отправлено sherlock , 18-Фев-11 20:00 

>[оверквотинг удален]
> if [ -f /var/run/natd2.pid ] ; then
> kill `cat /var/run/natd2.pid`
> fi
> Прсле разрыва дефолтный маршрут также прибивается. Тем более, что впн-сервер находится
> в сети провайдера и путь к нему прописан статическим маршрутом. Что
> еще должно чистится, кроме таблицы роутинга?
> Да, и еще - если есть активность на интерфейсе (например, в локалке
> запущена аська), то канал не рвется сутками.. Как только активность пропадает
> (например, компы в локалке выключаются на ночь) - мин через 10-15
> канал отваливается.

завершите скрипт exit 0
а вот почему отключается, не понятно, если бы Mpd ложил канал по неактивности, то уверяю, в логах была бы запись об этом:


Oct  1 12:21:48 mrk mpd: [common_B-1] IFACE: Idle timeout

вот она, нашел у себя, хотя у меня сервер, а не клиент, но думаю клиент бы так-же написал.
Так что ищите подходы к провайдеру, поинтересуйтесь у соседей, страдают они так-же или нет.