mpd 5.3 (pptp-сервер). VPN-клиенты Windows не перезванивают

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
mongol80
проходил мимо
Сообщения: 2
Зарегистрирован: 2010-04-12 11:56:00

mpd 5.3 (pptp-сервер). VPN-клиенты Windows не перезванивают

Непрочитанное сообщение mongol80 » 2010-04-12 12:06:20

Использую РРТР-сервер на связке FreeBSD 8.0+mpd 5.3. Все прекрасно работает, однако есть одна очень серьезная проблема - при стопе или рестарте mpd (/usr/local/etc/rc.d/mpd5 restart или stop) или просто "killall mpd5" все клиенты Windows не отваливаются как должно быть, а завершают соединение - И НЕ ПЕРЕЗВАНИВАЮТ! (хотя в настройках виндового подключения установлена галка "перезвонить при разрыве соединения" и задано N-ое количество попыток). Если отключить клиента через веб-интерфейс [Close] - то он именно отваливается и перезванивает. Подскажите пожалуйста, каким образом заставить MPD5 при остановке или перезагрузке демона не посылать клиентам команду завершения, а просто обрывать соединение?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Гость
проходил мимо

Re: mpd 5.3 (pptp-сервер). VPN-клиенты Windows не перезванив

Непрочитанное сообщение Гость » 2010-04-12 12:22:13

ну напишите скрипт который будет перед рестартом mpd
отключать всех клиентов

хотя это больше на проблему винды похоже
точнее на особенность

у меня вот тоже диалап иногда в винде тупо само убиваеться
не всплывая об обрыве связи итд

mongol80
проходил мимо
Сообщения: 2
Зарегистрирован: 2010-04-12 11:56:00

Re: mpd 5.3 (pptp-сервер). VPN-клиенты Windows не перезванив

Непрочитанное сообщение mongol80 » 2010-04-13 13:58:42

Гость писал(а):ну напишите скрипт который будет перед рестартом mpdотключать всех клиентов
В моей ситуации этот вариант не совсем подходит, т.к. необходимо, чтоб не только при перезапуске демона мпд5, но допустим, при перезагрузке сервера (когда процессу mpd5 посылается сигнал завершения) VPN-клиенты перезванивали для автоматического соединения с сервером после его поднятия.

Проблему решил по-другому - копанием сырцов. :smile: Как оказалось - все дело в закрытии бандлов. На случай, если у кого-то возникнет подобная необходимость - рассказываю как я это сделал (все действия выполнялись на исходниках mpd версии 5.3):
1. Открываем для редактирования файл main.c, находящийся в папке с исходниками mpd5:

Код: Выделить всё

ee /usr/ports/net/mpd5/work/mpd-5.3/src/main.c 
2. Теперь переходим на тсроку 325, где видим следующее:

Код: Выделить всё

BundNcpsClose(b);

3. Всё, что нам нужно - это просто закомментировать данную строку. В результате получается:

Код: Выделить всё

/* BundNcpsClose(b); */
4. Сохраняем изменения, выходим из редактора и пересобираем мпд:

Код: Выделить всё

cd /usr/ports/net/mpd5/work/mpd-5.3
make install
Всё, теперь при завершении или перезапуске процесса mpd5 на виндовых VPN-клиентах подключение не просто бесследно пропадает, а рвется с последующими попытками переподключения (если они заданы).
Последний раз редактировалось mongol80 2010-04-13 14:03:36, всего редактировалось 1 раз.

Гость
проходил мимо

Re: mpd 5.3 (pptp-сервер). VPN-клиенты Windows не перезванив

Непрочитанное сообщение Гость » 2010-04-13 14:02:52

ну так вы бы сразу так и сказали
что вы из наших самураев
а не из гномов которые сдесь набеги устраивают

мы бы вам сразу так и сказали в каком файле что поправить

Аватара пользователя
Cancer
Гл. Кастратор
Сообщения: 1269
Зарегистрирован: 2008-03-25 12:21:36
Откуда: г. Ростов-на-Дону
Контактная информация:

Re: mpd 5.3 (pptp-сервер). VPN-клиенты Windows не перезванив

Непрочитанное сообщение Cancer » 2010-08-25 22:47:01

Та же сама проблема была пропадала связь и разрывалось соединение при перезагрузке mpd демона, решил так.

Перенёс комменты в начало строк и конфиг выравнял табуляцией (tab).

теперь даже при перезагрузке сервера соединение не теряется.


Вот конфиг

Код: Выделить всё

#################################################################
#
#       MPD configuration file
#
# This file defines the configuration for mpd: what the
# bundles are, what the links are in those bundles, how
# the interface should be configured, various PPP parameters,
# etc. It contains commands just as you would type them
# in at the console. Lines without padding are labels. Lines
# starting with a "#" are comments.
#
# $Id: mpd.conf.sample,v 1.46 2009/04/29 11:04:17 amotin Exp $
#
#################################################################

startup:
# Задаем пароль для доступа в web-intarface
# т.е меняем password на свой пароль
        set user admin password admin
# set user password cancer
# configure the console
        set console self 127.0.0.1 5005
        set console open
# configure the web server
        set web self 0.0.0.0 5006
        set web open

default:
        load pptp_server

pptp_server:
# Определяем диапазон выдаваемых IP удалённым клиентам
# у меня с ...200 по ...220
        set ippool add poolsat 192.168.10.200 192.168.10.220
        create bundle template B
        set iface enable proxy-arp
        set iface idle 0
        set iface enable tcpmssfix
        set ipcp yes vjcomp
# IP адрес сервера, который мы будем показывать клиентам
# в моем случае 192.168.10.254 (можно не реальный IP)
        set ipcp ranges 192.168.10.254/32 ippool poolsat
# Если есть свой ДНС сервер, то меняем IP адрес
        set ipcp dns 192.168.10.1

# Enable Microsoft Point-to-Point encryption (MPPE)
        set bundle enable compression
        set ccp yes mppc
        set mppc yes compress e40 e56 e128 stateless

# Create clonable link template named L
        create link template L pptp
# Set bundle template to use
        set link action bundle B
# Multilink adds some overhead, but gives full 1500 MTU
        set link enable multilink
        set link yes acfcomp protocomp
        set link no pap chap eap
        set link enable chap
        set link enable chap-msv1
        set link enable chap-msv2
# We reducing link mtu to avoid GRE packet fragmentation.
        set link mtu 1460
        set link keep-alive 10 60

# Configure PPTP and open link
        # Тут указываем IP сетевой карты которая смотрит в ИНЕТ
        # В моем случае в модем
        set pptp self 192.168.1.11
# Allow to accept calls
        set link enable incoming

Аватара пользователя
Cancer
Гл. Кастратор
Сообщения: 1269
Зарегистрирован: 2008-03-25 12:21:36
Откуда: г. Ростов-на-Дону
Контактная информация:

Re: mpd 5.3 (pptp-сервер). VPN-клиенты Windows не перезванив

Непрочитанное сообщение Cancer » 2010-08-26 18:55:49

Все таки не помогает если сервер перезагрузить происходит разрыв, (ошибся с выводом ранее, процесс завис поэтому не происходило разрыва =) )