Страница 1 из 1
Новый клиент pptp-linux
Добавлено: 28 июл 2018, 03:45
Andreas17
Не так давно приказал долго жить мой старенький маршрутизатор ASUS. Пришлось переходить на кабельное соединение.
И тут я для себя обнаружил пренеприятнейшую новость. Т.к. мой провайдер предоставляет доступ в интернет по VPN (PPTP), а скорость за последние годы сильно возросла (до 100 мегабит), то вылезла целая куча подводных камней.
Во-первых, скорость на закачку оказалась всего около 20 мегабит.
С отдачей получше, но тоже далека до номинальной.
С этим всё просто. В опции запуска pptp добавил --nobuffer --loglevel 0.
Во-вторых, при загрузке канала по максимуму пропадает интернет. PPP-соединение в ifconfig висит, а инета нет. Ничего даже не пингется.
В логах постоянно пишет какую-то фигню:
Код: Выделить всё
nm-pptp-service-8383 warn[decaps_gre:pptp_gre.c:426]: discarding bogus packet 32210 (expecting 32217)
Помогает переподключение.
Конечно, можно для этих целей приспособить скрипт типа:
Код: Выделить всё
#!/bin/bash
while [ 1 ]
do
ping -c 1 -w 1 8.8.4.4 > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo $(date +'%d.%m.%Y %H:%M:%S') >> "~/pptp.log"
nmcli con down inet
nmcli con up inet
fi
sleep 10
done
Но т.к. эти переподключения происходят при нагрузке каждые 10-20 сек., то сёрфить инет в браузере становится невыносимо.
Немного погуглив понял, что надо либо патчить наш клиент (к слову, он аж 2008 года выпуска
), либо собирать новый
с блэкджеком и куртизанками.
Второй вариант показался более интересным, учитывая, что как раз в начале этого года вышла новая версия 1.10.0.
https://sourceforge.net/projects/pptpcl ... tp-1.10.0/
Собранные пакеты можно установить из моего репозитория:
Код: Выделить всё
# sudo urpmi.addmedia andreas_personal http://abf-downloads.rosalinux.ru/andreas_personal/repository/rosa2016.1/x86_64/main/release/
или
Код: Выделить всё
# sudo urpmi.addmedia andreas_personal http://abf-downloads.rosalinux.ru/andreas_personal/repository/rosa2016.1/i586/main/release/
Далее:
З.Ы. Вот уже час гоняю торрентами на максимальных загрузке/отдаче. Полёт нормальный!
Новый клиент pptp-linux
Добавлено: 07 авг 2018, 14:50
keleg
Обновленный клиент в тестингах. Можете проверить?
Новый клиент pptp-linux
Добавлено: 08 авг 2018, 05:51
Andreas17
keleg, ну я сейчас на нём сижу). Пока решил новый роутер не покупать. А что значит тестинги?
Новый клиент pptp-linux
Добавлено: 08 авг 2018, 05:56
Andreas17
Аа, понял, всмысле имеется ввиду тестовый репозиторий. Ок, сегодня попробую.
Новый клиент pptp-linux
Добавлено: 08 авг 2018, 23:03
Andreas17
Третий час гоняю торрентами. Ни одного обрыва.
А можно ещё что-нибудь в пакет добавить, чтобы pptp уже "искаробки" стартовал с опциями --nobuffer --loglevel 0?
А то приходиться использовать такой костыль:
Код: Выделить всё
# cd /usr/sbin/
# sudo mv pptp pptpo
# sudo kwrite pptp
В файл вставить следующий скрипт:
#!/bin/bash
/usr/sbin/pptpo $* --nobuffer --loglevel 0
# sudo chmod +x pptp
Или это невозможно?
Новый клиент pptp-linux
Добавлено: 09 авг 2018, 07:53
keleg
В линуксе все возможно. Вопрос в том, чтоб это не повлияло на другие режимы - можете посмотреть, в других дистрибутивах реализовано такое?
Новый клиент pptp-linux
Добавлено: 09 авг 2018, 18:49
Andreas17
Из других диструбутивов в наличии Kubuntu 18.04. У них клиент версии 1.9.0. По скорости даже хуже, чем наш старенький 1.7.2.
В районе 15 мегабит. Но сколько я не нагружал канал, разрывов не было. Пропатчили.
Ну а скорость они навряд ли будут исправлять. PPTP - древняя технология и применяется разве что в странах бывшего Союза.
С роутерами то понятно, приходиться допиливать. А в Линуксах кому оно там надо?
Потому этот "костыль" я подсмотрел у отечественных убунтоводов.
keleg писал(а): ↑09 авг 2018, 07:53
Вопрос в том, чтоб это не повлияло на другие режимы - можете посмотреть
На другие режимы не влияет. Это чисто опции pptp:
Usage:
/usr/sbin/pptpo <hostname> [<pptp options>] [[--] <pppd options>]
Or using pppd's pty option:
pppd pty "/usr/sbin/pptpo <hostname> --nolaunchpppd <pptp options>"
Available pptp options:
--version Display version number and exit
--phone <number> Pass <number> to remote host as phone number
--nolaunchpppd Do not launch pppd, for use as a pppd pty
--quirks <quirk> Work around a buggy PPTP implementation
Currently recognised values are BEZEQ_ISRAEL only
--debug Run in foreground (for debugging with gdb)
--sync Enable Synchronous HDLC (pppd must use it too)
--timeout <secs> Time to wait for reordered packets (0.01 to 10 secs)
--nobuffer Disable packet buffering and reordering completely
--idle-wait Time to wait before sending echo request
--max-echo-wait Time to wait before giving up on lack of reply
--logstring <name> Use <name> instead of 'anon' in syslog messages
--localbind <addr> Bind to specified IP address instead of wildcard
--rtmark <n> Use specified policy routing mark for all packets
--nohostroute Do not add host route towards <hostname>
--loglevel <level> Sets the debugging level (0=low, 1=default, 2=high)
--test-type <type> Damage the packet stream by reordering
--test-rate <n> Do the test every n packets
Но сдаётся мне, что loglevel и так по умолчанию равен 0. Т.к. если посмотреть в системном мониторе, то процессы pptp, pptpcm и pptpgw запускаются с этой опцией изначально.
Получается, что вся фишка в отключении буфера.
Новый клиент pptp-linux
Добавлено: 14 авг 2018, 12:20
keleg
а без nobuffer новая версия точно рвет соединение?
Новый клиент pptp-linux
Добавлено: 14 авг 2018, 15:33
Andreas17
Не, не рвёт, я же пропатчил. Работает стабильно.
Но скорость максимальную (если таковая имеется) без опции nobuffer не тянет.
З.Ы. надо будет NM поковырять. Это он запускает pptp в виде службы. Наверное где-то должны быть конфиги всего этого дела.
Новый клиент pptp-linux
Добавлено: 15 авг 2018, 17:57
keleg
Т.к. ситуация нечастая, вам все карты в руки. Исправите - будем очень рады и включим в репы.
Новый клиент pptp-linux
Добавлено: 16 авг 2018, 06:08
VictorR2007
А если параметр "nobuffer" попробовать добавить в файл /etc/ppp/options.pptp?
Новый клиент pptp-linux
Добавлено: 18 авг 2018, 02:26
Andreas17
keleg писал(а): ↑15 авг 2018, 17:57
Т.к. ситуация нечастая, вам все карты в руки. Исправите - будем очень рады и включим в репы.
Ок.
VictorR2007 писал(а): ↑16 авг 2018, 06:08
А если параметр "nobuffer" попробовать добавить в файл /etc/ppp/options.pptp?
Это первое, что я попробовал. Но похоже работает только, если соединение поднимать через консоль, типа:
А надо через NM.
Новый клиент pptp-linux
Добавлено: 18 авг 2018, 03:22
VictorR2007
Andreas17 писал(а): ↑18 авг 2018, 02:26
А надо через NM.
Файлы настроек pptp хранятся в /etc/NetworkManager/system-connections/
Может там можно добавить этот параметр.
А здесь пишут
https://wiki.debian.org/ru/pptp-linux
что нужно добавлять эти параметры в файл «псевдотерминала pty (файл "/etc/ppp/$TUNNEL").»
Полагаю, что должен быть создан равноимённый файл с файлом в /etc/NetworkManager/system-connections
А может файл и создаётся при запуске вашим скриптом.
Новый клиент pptp-linux
Добавлено: 18 авг 2018, 06:15
Andreas17
VictorR2007, там описана ручная настройка VPN. Я когда-то во Фряхе поднимал через MPD - чуть с ума не сошёл.
NM же всё это делает за юзера. Пару кликов и вуаля...
А в /etc/NetworkManager/system-connections - да, лежат файлы соединений. Я уже структуру этих файлов расковырял по man nm-settings.
Нет там настроек pptp. Только ppp и общие vpn. Ну ещё какой-то подозрительный параметр data. Но я и так и сяк в него пихал разные ключи. Не видит чёрт бы его побрал.
Но оно и понятно. Сейчас скачал исходники плагина pptp для NM. Там все ключи запуска намертво гвоздями прибиты. И ничего дополнительно в переменную не передаётся.
Так что надо патчить и пересобирать этот плагин.
Ну или включить тот "костыль" в pptp-клиент. Будет 2 файла - исполняемый типа pptp-cli и под именем pptp скрипт с опциями запуска.
Если юзеру не нужна норм скорость, то он просто открывает скрипт и дописывает/удаляет нужные параметры.
Новый клиент pptp-linux
Добавлено: 18 авг 2018, 06:21
Andreas17
А, да, ещё вариант. Можно дополнительно пропатчить pptp-клиент, чтобы он работал с опцией nobuffer по умолчанию.
Новый клиент pptp-linux
Добавлено: 22 авг 2018, 05:38
keleg
Сможете патч написать?
Новый клиент pptp-linux
Добавлено: 22 авг 2018, 21:51
Andreas17
Без проблем. Но я тут подумал. А может лучше "научить" плагин pptp для NM читать опции из файла /etc/ppp/options.pptp?
Откуда он их и должен читать, но разрабы почему-то то ли не дописали, то ли влом было это реализовывать.
Новый клиент pptp-linux
Добавлено: 29 авг 2018, 23:53
Andreas17
Пропатчил плагин NM для поддержки options.pptp. В сам файл опций pptp клиента добавил нужные. Старые не удалял, а закоментил (вдруг кто-то захочет настроить вручную
) Патч на скорость убрал. В нём теперь нет необходимости - всё делает NM.
Установить как обычно:
и ребут.
Проверил, всё работает как положено. Но ещё несколько дней буду гонять в экстремальном режиме торрентами и прогами облачных хранилищ.
З.Ы. версию pptp-плагина обновил на более новую - 1.2.6 (у нас 1.2.4).
Новый клиент pptp-linux
Добавлено: 30 авг 2018, 05:36
VictorR2007
Andreas17 писал(а): ↑29 авг 2018, 23:53
З.Ы. версию pptp-плагина обновил на более новую - 1.2.6 (у нас 1.2.4).
Не совсем так.
Сейчас идет тест последнего Networkmanager и остальных сетевых приложений.
https://bugzilla.rosalinux.ru/show_bug.cgi?id=9282
Новый клиент pptp-linux
Добавлено: 16 сен 2018, 22:40
Andreas17
Прошло уже больше двух недель, как я перешёл на патченный плагин и новый клиент. За это время глюков, лагов или чего-либо ещё не замечено. NM запускает pptp-клиент ровно с теми параметрами, которые прописана в /etc/ppp/options.pptp.
Можно пользовать.
Новый клиент pptp-linux
Добавлено: 17 сен 2018, 15:38
VictorR2007
Новый клиент pptp-linux
Добавлено: 17 сен 2018, 18:27
Andreas17
VictorR2007, значит в последствии добавят в офф. репозиторий? Круто!
А вот у меня такой вопрос.
Есть некоторые программы, которые давно не обновлялись. Допустим я собрал последнюю версию. Кому и куда писать, чтобы приняли обнову?
Новый клиент pptp-linux
Добавлено: 17 сен 2018, 19:24
VictorR2007
Andreas17 писал(а): ↑17 сен 2018, 18:27
Допустим я собрал последнюю версию. Кому и куда писать, чтобы приняли обнову?
Можно в отдельной теме написать.
Если я не увижу, то можно заострить моё внимание.
А там уже все обсудим.
Новый клиент pptp-linux
Добавлено: 18 сен 2018, 08:18
keleg
Можно для начала собрать в свой репозиторий на ABF а потом сделать пул-реквест в общий.
Новый клиент pptp-linux
Добавлено: 18 сен 2018, 20:51
Andreas17
Ясно, спс.
Новый клиент pptp-linux
Добавлено: 20 сен 2018, 00:02
VictorR2007
Похоже, этот вариант не работает с паролями из NM.
https://bugzilla.rosalinux.ru/show_bug.cgi?id=9197
Новый клиент pptp-linux
Добавлено: 22 сен 2018, 06:51
Andreas17
VictorR2007, извиняюсь, что сразу не ответил, был занят.
В треде приведён какой-то странный кусок логов.
Логи должны быть такие...
Я так понял, вы с товарищами пытаетесь подключиться к некому бесплатному vpn-сервису
https://www.vpnkeys.com/get-free-vpn-instantly/
Только можно плиз подробнее что не так. Потому что у меня всё подключает...
По поводу файла /etc/ppp/options.pptp, то NM его не использует. У него все параметры прибиты гвоздями в исходниках.
Это я добавил патчем возможность их заюзать. Но те, что закомменчены выше, это для ручной настройки!
Сам NM хранит настройки соединений в /etc/NetworkManager/system-connections.
У меня там лежит файл vpn1 с содержанием:
Код: Выделить всё
[connection]
id=vpn1
uuid=eaeb3c87-e650-4de5-afe4-1352cd83730f
type=vpn
permissions=user:andreas:;
[vpn]
gateway=free1.worldvpn.net
password-flags=0
require-mppe=yes
user=vpnkeys
service-type=org.freedesktop.NetworkManager.pptp
[vpn-secrets]
password=2192203
[ipv4]
dns-search=
method=auto
[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto
Новый клиент pptp-linux
Добавлено: 22 сен 2018, 07:08
VictorR2007
Andreas17 писал(а): ↑22 сен 2018, 06:51
VictorR2007, извиняюсь, что сразу не ответил, был занят.
А сможете установить пакеты из обсуждаемых сборок и проверить
https://bugzilla.rosalinux.ru/show_bug.cgi?id=9197
Вдруг при сборке что-то отвалилось.
Новый клиент pptp-linux
Добавлено: 22 сен 2018, 17:13
Andreas17
ОК, сейчас переставлю.
Новый клиент pptp-linux
Добавлено: 22 сен 2018, 17:53
Andreas17
Установил Ваши сборки. Проблем не вижу...
У меня несколько вопросов:
1. Машину перезагружаете после установки/переустановки/удаления?
Потому что NM использует сервисы и их нужно рестартовать. Какие именно я не знаю. Так что лучше ребут ОС.
2. Соединение PPTP настраивали? Там на странице этого сервиса написано -
Код: Выделить всё
Under the ‘Security and Compression’ label, tick the checkbox labeled ‘Use Point-to-Point encryption (MPEE)’
3. Как с интернетом обстоит дело? PPTP очень плохо дружит с NAT. Если у провайдера криво настроено оборудование или роутер где-то косячит, то могут быть проблемы.
Новый клиент pptp-linux
Добавлено: 22 сен 2018, 19:59
VictorR2007
Andreas17 писал(а): ↑22 сен 2018, 17:53
Соединение PPTP настраивали? Там на странице этого сервиса написано
Under the ‘Security and Compression’ label, tick the checkbox labeled ‘Use Point-to-Point encryption (MPEE)’
Ага, так начало работать.
Новый клиент pptp-linux
Добавлено: 22 сен 2018, 20:59
Andreas17
А мой провайдер вообще шифрование не использует, поэтому я все галочки снимаю.
Ну это правильно, pptp и так проц грузит не кисло.
Новый клиент pptp-linux
Добавлено: 22 сен 2018, 21:04
VictorR2007
Andreas17 писал(а): ↑22 сен 2018, 20:59
А мой провайдер вообще шифрование не использует, поэтому я все галочки снимаю.
Ну это правильно, pptp и так проц грузит не кисло.
Просто у меня usb модем сейчас от билайн, так как сейчас на отдыхе на юге.
Дома буду только в пятницу.
Новый клиент pptp-linux
Добавлено: 22 сен 2018, 21:08
Andreas17
VictorR2007, у Вас дома тоже интернет через VPN?
Новый клиент pptp-linux
Добавлено: 22 сен 2018, 22:12
PastorDi
Норм, отправил в тестинг.
Новый клиент pptp-linux
Добавлено: 22 сен 2018, 22:24
VictorR2007
Andreas17 писал(а): ↑22 сен 2018, 21:08
VictorR2007, у Вас дома тоже интернет через VPN?
Нет.
Но проверять всё равно нужно, что собираю, перед отправкой на QA.
Это впервые без проверки отправил, так как совсем был не в теме.
Впрочем, как и сейчас.
Новый клиент pptp-linux
Добавлено: 14 окт 2018, 11:19
keleg
Andreas17 писал(а): ↑22 сен 2018, 17:13
ОК, сейчас переставлю.
В тестинг улетело еще одно обновление nm-pptp
Было бы здорово, если б вы протестили его в своих боевых условиях.
Новый клиент pptp-linux
Добавлено: 14 окт 2018, 12:19
mikhailnov
Отправил ваш патч в апстрим, добавив немного комментариев:
https://github.com/NetworkManager/Netwo ... ptp/pull/2
Новый клиент pptp-linux
Добавлено: 15 окт 2018, 21:24
Andreas17
keleg писал(а): ↑14 окт 2018, 11:19
В тестинг улетело еще одно обновление nm-pptp
Было бы здорово, если б вы протестили его в своих боевых условиях.
Версия 1.2.8? Уже гоняю.
Новый клиент pptp-linux
Добавлено: 19 окт 2018, 18:25
keleg
Andreas17 писал(а): ↑15 окт 2018, 21:24
Версия 1.2.8? Уже гоняю.
Ну и как?
Новый клиент pptp-linux
Добавлено: 20 окт 2018, 05:16
Andreas17
keleg писал(а): ↑19 окт 2018, 18:25
Ну и как?
Проблем не наблюдаю. Работает также стабильно, как и предыдущая версия.
Но оно и не удивительно, больших изменений они не делали:
=======================================================
NetworkManager-pptp-1.2.8
Overview of changes since NetworkManager-pptp-1.2.6
=======================================================
This is a new stable release of NetworkManager-pptp. Notable changes include:
* Migrate project home to gitlab (
https://gitlab.gnome.org/GNOME/NetworkManager-pptp)
* Improve project description in doap file.
* Fix build without GTK/Gnome.
* Build fixes for CI integration.
* Update Catalan translation.
http://ftp.acc.umu.se/pub/GNOME/sources ... 1.2.8.news
Клёво, если бы приняли. Тогда во всех Линухах pptp заработал бы без костылей.
Новый клиент pptp-linux
Добавлено: 16 май 2022, 08:58
va9(2)
А не спам ли это ↑?
Новый клиент pptp-linux
Добавлено: 16 май 2022, 09:18
irton
как они капчу прошли, тайна великая сия есть
Новый клиент pptp-linux
Добавлено: 16 май 2022, 13:45
Mamluk
Они и посложнее проходят. Я долго был администратором на форуме нашего города, там вообще капча была не для средних умов и с двумя подтверждениями по нетмайлу. Проходили как-то...