ОСь FreeBSD 6.4-RELEASEalpha# mpd5 --version
Version 5.2 (..... 23:50 28-Dec-2008)mpd5 работает уже несколько лет без изменений и проблем нет, но не нравится следующая ситуация: если подключаться к серверу с винды, то полный процесс подключения занимает порядка 3-х секунд, а если подключаться с какого-нить раутера (допустим D-Link серии DIR-...) - подключение проходит моментально. Тоже самое происходит и отключении соединения.
Я пытался расшифровать логи, почему задержка происходит на строках:
Jan 16 13:34:44 alpha mpd: [L_inet-1] LCP: state change Req-Sent --> Ack-Sent
Jan 16 13:34:46 alpha mpd: [L_inet-1] LCP: SendConfigReq #2
прошелся еще раз по ману и не смог найти опции, которая может на это влиять.Кто знает как решить такую проблемку?
конфиг мпд:
alpha# cat /usr/local/etc/mpd5/mpd5.conf | grep -v #
startup:
set user .... ..... admin
set console self 127.0.0.1 5005
set console open
set web self .....
set web open
set web enable auth
default:
load pptp_server
pptp_server:
create bundle template B_inet
set bundle no compression
set iface idle 0
set iface enable tcpmssfix
set iface session 0
set ipcp yes vjcomp
set ipcp ranges 10.10.0.1/22 0.0.0.0
create link template L_inet pptp
set link action bundle B_inet
set link keep-alive 5 30
set link no pap chap-msv1 eap
set link enable chap
set link yes chap-md5 chap-msv2
set link mtu 1460
set link mru 1460
set link enable incoming
set link yes acfcomp protocomp
set pptp disable windowing
set pptp disable outcall
set pptp disable delayed-ack
load radius
radius:
set auth enable radius-auth
set auth acct-update 300
set auth enable radius-acct
set radius server 127.0.0.1 .... 1812 1813
set radius retries 3
set radius timeout 3
set radius me 127.0.0.1
set radius enable message-authenticлог при подключении юзера с винды, с задержкой:
Jan 16 14:35:05 alpha mpd: [L_inet-38] Accepting PPTP connection
Jan 16 14:35:05 alpha mpd: [L_inet-38] Link: OPEN event
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: Open event
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: state change Initial --> Starting
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: LayerStart
Jan 16 14:35:05 alpha mpd: [L_inet-38] PPTP: attaching to peer's outgoing call
Jan 16 14:35:05 alpha mpd: [L_inet-38] Link: UP event
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: Up event
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: state change Starting --> Req-Sent
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: SendConfigReq #1
Jan 16 14:35:05 alpha mpd: [L_inet-38] ACFCOMP
Jan 16 14:35:05 alpha mpd: [L_inet-38] PROTOCOMP
Jan 16 14:35:05 alpha mpd: [L_inet-38] MRU 1460
Jan 16 14:35:05 alpha mpd: [L_inet-38] MAGICNUM 68fa86d0
Jan 16 14:35:05 alpha mpd: [L_inet-38] AUTHPROTO CHAP MSOFTv2
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: rec'd Configure Request #0 (Req-Sent)
Jan 16 14:35:05 alpha mpd: [L_inet-38] MRU 1400
Jan 16 14:35:05 alpha mpd: [L_inet-38] MAGICNUM 5fb108da
Jan 16 14:35:05 alpha mpd: [L_inet-38] PROTOCOMP
Jan 16 14:35:05 alpha mpd: [L_inet-38] ACFCOMP
Jan 16 14:35:05 alpha mpd: [L_inet-38] CALLBACK 6
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: SendConfigRej #0
Jan 16 14:35:05 alpha mpd: [L_inet-38] CALLBACK 6
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: rec'd Configure Request #1 (Req-Sent)
Jan 16 14:35:05 alpha mpd: [L_inet-38] MRU 1400
Jan 16 14:35:05 alpha mpd: [L_inet-38] MAGICNUM 5fb108da
Jan 16 14:35:05 alpha mpd: [L_inet-38] PROTOCOMP
Jan 16 14:35:05 alpha mpd: [L_inet-38] ACFCOMP
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: SendConfigAck #1
Jan 16 14:35:05 alpha mpd: [L_inet-38] MRU 1400
Jan 16 14:35:05 alpha mpd: [L_inet-38] MAGICNUM 5fb108da
Jan 16 14:35:05 alpha mpd: [L_inet-38] PROTOCOMP
Jan 16 14:35:05 alpha mpd: [L_inet-38] ACFCOMP
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: state change Req-Sent --> Ack-Sent
Jan 16 14:35:07 alpha mpd: [L_inet-38] LCP: SendConfigReq #2
Jan 16 14:35:07 alpha mpd: [L_inet-38] ACFCOMP
Jan 16 14:35:07 alpha mpd: [L_inet-38] PROTOCOMP
Jan 16 14:35:07 alpha mpd: [L_inet-38] MRU 1460
Jan 16 14:35:07 alpha mpd: [L_inet-38] MAGICNUM 68fa86d0
Jan 16 14:35:07 alpha mpd: [L_inet-38] AUTHPROTO CHAP MSOFTv2
Jan 16 14:35:07 alpha mpd: [L_inet-38] LCP: rec'd Configure Ack #2 (Ack-Sent)
Jan 16 14:35:07 alpha mpd: [L_inet-38] ACFCOMP
Jan 16 14:35:07 alpha mpd: [L_inet-38] PROTOCOMP
Jan 16 14:35:07 alpha mpd: [L_inet-38] MRU 1460
Jan 16 14:35:07 alpha mpd: [L_inet-38] MAGICNUM 68fa86d0
Jan 16 14:35:07 alpha mpd: [L_inet-38] AUTHPROTO CHAP MSOFTv2
Jan 16 14:35:07 alpha mpd: [L_inet-38] LCP: state change Ack-Sent --> Opened
Jan 16 14:35:07 alpha mpd: [L_inet-38] LCP: auth: peer wants nothing, I want CHAP
Jan 16 14:35:07 alpha mpd: [L_inet-38] CHAP: sending CHALLENGE #1 len: 21
Jan 16 14:35:07 alpha mpd: [L_inet-38] LCP: LayerUp
Jan 16 14:35:07 alpha mpd: [L_inet-38] LCP: rec'd Ident #2 (Opened)
Jan 16 14:35:07 alpha mpd: [L_inet-38] MESG: MSRASV5.10
Jan 16 14:35:07 alpha mpd: [L_inet-38] LCP: rec'd Ident #3 (Opened)
Jan 16 14:35:07 alpha mpd: [L_inet-38] MESG: MSRAS-0-PERSCOMP
Jan 16 14:35:07 alpha mpd: [L_inet-38] CHAP: rec'd RESPONSE #1 len: 63
Jan 16 14:35:07 alpha mpd: [L_inet-38] Name: "andrei803"
Jan 16 14:35:07 alpha mpd: [L_inet-38] AUTH: Trying RADIUS
Jan 16 14:35:07 alpha mpd: [L_inet-38] RADIUS: Authenticating user '...........'
Jan 16 14:35:07 alpha mpd: [L_inet-38] RADIUS: Rec'd RAD_ACCESS_ACCEPT for user '.........'
Jan 16 14:35:07 alpha mpd: [L_inet-38] AUTH: RADIUS returned: authenticated
Jan 16 14:35:07 alpha mpd: [L_inet-38] CHAP: Auth return status: authenticated
Jan 16 14:35:07 alpha mpd: [L_inet-38] CHAP: Reply message: S=993FF3348CB4C8743CC9AC9DDAFE40D5294130F6
Jan 16 14:35:07 alpha mpd: [L_inet-38] CHAP: sending SUCCESS #1 len: 46
Jan 16 14:35:07 alpha mpd: [L_inet-38] LCP: authorization successful
...лог при подключении раутера, без задержки:
Jan 16 14:21:48 alpha mpd: [L_inet-20] Accepting PPTP connection
Jan 16 14:21:48 alpha mpd: [L_inet-20] Link: OPEN event
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: Open event
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: state change Initial --> Starting
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: LayerStart
Jan 16 14:21:48 alpha mpd: [L_inet-20] PPTP: attaching to peer's outgoing call
Jan 16 14:21:48 alpha mpd: [L_inet-20] Link: UP event
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: Up event
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: state change Starting --> Req-Sent
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: SendConfigReq #1
Jan 16 14:21:48 alpha mpd: [L_inet-20] ACFCOMP
Jan 16 14:21:48 alpha mpd: [L_inet-20] PROTOCOMP
Jan 16 14:21:48 alpha mpd: [L_inet-20] MRU 1460
Jan 16 14:21:48 alpha mpd: [L_inet-20] MAGICNUM cde468e4
Jan 16 14:21:48 alpha mpd: [L_inet-20] AUTHPROTO CHAP MSOFTv2
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: rec'd Configure Request #1 (Req-Sent)
Jan 16 14:21:48 alpha mpd: [L_inet-20] ACFCOMP
Jan 16 14:21:48 alpha mpd: [L_inet-20] PROTOCOMP
Jan 16 14:21:48 alpha mpd: [L_inet-20] MAGICNUM 3fc2b282
Jan 16 14:21:48 alpha mpd: [L_inet-20] MRU 1462
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: SendConfigAck #1
Jan 16 14:21:48 alpha mpd: [L_inet-20] ACFCOMP
Jan 16 14:21:48 alpha mpd: [L_inet-20] PROTOCOMP
Jan 16 14:21:48 alpha mpd: [L_inet-20] MAGICNUM 3fc2b282
Jan 16 14:21:48 alpha mpd: [L_inet-20] MRU 1462
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: state change Req-Sent --> Ack-Sent
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: rec'd Configure Ack #1 (Ack-Sent)
Jan 16 14:21:48 alpha mpd: [L_inet-20] ACFCOMP
Jan 16 14:21:48 alpha mpd: [L_inet-20] PROTOCOMP
Jan 16 14:21:48 alpha mpd: [L_inet-20] MRU 1460
Jan 16 14:21:48 alpha mpd: [L_inet-20] MAGICNUM cde468e4
Jan 16 14:21:48 alpha mpd: [L_inet-20] AUTHPROTO CHAP MSOFTv2
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: state change Ack-Sent --> Opened
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: auth: peer wants nothing, I want CHAP
Jan 16 14:21:48 alpha mpd: [L_inet-20] CHAP: sending CHALLENGE #1 len: 21
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: LayerUp
Jan 16 14:21:48 alpha mpd: [L_inet-20] CHAP: rec'd RESPONSE #1 len: 59
Jan 16 14:21:48 alpha mpd: [L_inet-20] Name: "pisya"
Jan 16 14:21:48 alpha mpd: [L_inet-20] AUTH: Trying RADIUS
Jan 16 14:21:48 alpha mpd: [L_inet-20] RADIUS: Authenticating user '.....'
Jan 16 14:21:48 alpha mpd: [L_inet-20] RADIUS: Rec'd RAD_ACCESS_ACCEPT for user '.....'
Jan 16 14:21:48 alpha mpd: [L_inet-20] AUTH: RADIUS returned: authenticated
Jan 16 14:21:48 alpha mpd: [L_inet-20] CHAP: Auth return status: authenticated
Jan 16 14:21:48 alpha mpd: [L_inet-20] CHAP: Reply message: S=89D368C23CC8E218774BFB184AA903DFBFEC5B32
Jan 16 14:21:48 alpha mpd: [L_inet-20] CHAP: sending SUCCESS #1 len: 46
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: authorization successful
...
>Кто знает как решить такую проблемку?снести венду! проверено - помогает )))
>
>>Кто знает как решить такую проблемку?
>
>снести венду! проверено - помогает )))ыыыыыы
set ipcp no vjcomp
set bundle enable compression
set ccp yes mppc
set mppc yes e40
set mppc yes e56
set mppc yes e128
set mppc yes stateless
set link yes acfcomp protocomp
set link no pap chap
set link mtu 1460
Что если это поправить и добавить в pptp_server секцию?
>[оверквотинг удален]
>
> set link yes acfcomp
>protocomp
> set link no pap
>chap
> set link mtu 1460
>
>
>
>Что если это поправить и добавить в pptp_server секцию?попробовать можно, но я не думаю что включение сжатия на это повлияет. Проверю.
Иногда помогает no-orig-auth
Оба варианта не улучшают ситуации: 1 - включает компрессию и выключает vjcomp, 2 - полезна когда один link используется как для входящих, так и исходящих соединений.Если вглядеться в логи, то получаем следующее:
1. Винда:
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: SendConfigReq #1
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: rec'd Configure Request #0 (Req-Sent)
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: SendConfigRej #0
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: rec'd Configure Request #1 (Req-Sent)
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: SendConfigAck #1
Jan 16 14:35:05 alpha mpd: [L_inet-38] LCP: state change Req-Sent --> Ack-Sent
Jan 16 14:35:07 alpha mpd: [L_inet-38] LCP: SendConfigReq #2
Jan 16 14:35:07 alpha mpd: [L_inet-38] LCP: rec'd Configure Ack #2 (Ack-Sent)2. Раутер (ну или линуха с пакетов pptpclient):
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: SendConfigReq #1
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: rec'd Configure Request #1 (Req-Sent)
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: SendConfigAck #1
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: state change Req-Sent --> Ack-Sent
Jan 16 14:21:48 alpha mpd: [L_inet-20] LCP: rec'd Configure Ack #1 (Ack-Sent)Вкратце: С - сервер, В - винда.
случай 1:
С - вот тебе конфа
В - вот тебе моя конфа
С - меня не устраивает твоя с твоим CALLBACK
В - а твоя мне подходит
С - отлично, подтвердим (отправляет ACK и переводит в состояние подтверждения)
думает 2 секунды (по умолчанию)
С - еще раз отправляет конфу
В - подтверждаюС - сервер, Р - раутер
случай 2:
С - вот тебе конфа
Р - отлично, мне подходит
С - подтвердим (переходит в ожидание подтверждения)
Р - ноу проблем, я согласен.Почему-то винда хочет свою конфу сунуть, а также требуется чтобы после ACK пакетов и ожидания, отправлялась конфа еще раз. Этот период ожидания (2 секунды который) устанавливается параметром:
set link fsm-timeout ...
значения которого 1,2,3... секунд, 0 не выставляется.Параметры:
always-ack, delayed-ack, включение-отключение callback ситуации не меняют.У кого какие мысли?
Дело в том, что винда точно может цепляться через PPTP практически без задержки (менее секунды), хочется понять что на это влияет в mpd5.
>Дело в том, что винда точно может цепляться через PPTP практически без
>задержки (менее секунды), хочется понять что на это влияет в mpd5.
>спросите в
http://sourceforge.net/projects/mpd/forums/forum/44693
была большая проблема, при подключении клиента через адсл модем длинк 2100, кажется.
связь держалась максимум 1 минуту(
поменял на 2300 - всё стало шоколадно.
хотя, конечно, не всегда на стороне клиента можно поменять модемы.
>была большая проблема, при подключении клиента через адсл модем длинк 2100, кажется.
>
>связь держалась максимум 1 минуту(
>поменял на 2300 - всё стало шоколадно.
>хотя, конечно, не всегда на стороне клиента можно поменять модемы.похоже это оффтоп, дело не в модеме