Новый клиент pptp-linux

Ответить
Аватара пользователя
Andreas17
Сообщения: 140
Зарегистрирован: 21 май 2017, 20:07
Operating system: AMD Athlon II X4 640 / 12 ГБ ОЗУ / NVIDIA GTX 650 / ROSA FRESH R10 Plasma 5
Откуда: Москва

Новый клиент pptp-linux

Сообщение Andreas17 » 28 июл 2018, 03:45

Не так давно приказал долго жить мой старенький маршрутизатор ASUS. Пришлось переходить на кабельное соединение.
И тут я для себя обнаружил пренеприятнейшую новость. Т.к. мой провайдер предоставляет доступ в интернет по VPN (PPTP), а скорость за последние годы сильно возросла (до 100 мегабит), то вылезла целая куча подводных камней. :(

Во-первых, скорость на закачку оказалась всего около 20 мегабит. :crazy: С отдачей получше, но тоже далека до номинальной.
С этим всё просто. В опции запуска 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 года выпуска :shock: ), либо собирать новый с блэкджеком и куртизанками.
Второй вариант показался более интересным, учитывая, что как раз в начале этого года вышла новая версия 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/
Далее:

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

# sudo urpmi --auto-update
# reboot
З.Ы. Вот уже час гоняю торрентами на максимальных загрузке/отдаче. Полёт нормальный! 8)

keleg
Сообщения: 5274
Зарегистрирован: 15 сен 2011, 01:58

Новый клиент pptp-linux

Сообщение keleg » 07 авг 2018, 14:50

Обновленный клиент в тестингах. Можете проверить?

Аватара пользователя
Andreas17
Сообщения: 140
Зарегистрирован: 21 май 2017, 20:07
Operating system: AMD Athlon II X4 640 / 12 ГБ ОЗУ / NVIDIA GTX 650 / ROSA FRESH R10 Plasma 5
Откуда: Москва

Новый клиент pptp-linux

Сообщение Andreas17 » 08 авг 2018, 05:51

keleg, ну я сейчас на нём сижу). Пока решил новый роутер не покупать. А что значит тестинги?

Аватара пользователя
Andreas17
Сообщения: 140
Зарегистрирован: 21 май 2017, 20:07
Operating system: AMD Athlon II X4 640 / 12 ГБ ОЗУ / NVIDIA GTX 650 / ROSA FRESH R10 Plasma 5
Откуда: Москва

Новый клиент pptp-linux

Сообщение Andreas17 » 08 авг 2018, 05:56

Аа, понял, всмысле имеется ввиду тестовый репозиторий. Ок, сегодня попробую.

Аватара пользователя
Andreas17
Сообщения: 140
Зарегистрирован: 21 май 2017, 20:07
Operating system: AMD Athlon II X4 640 / 12 ГБ ОЗУ / NVIDIA GTX 650 / ROSA FRESH R10 Plasma 5
Откуда: Москва

Новый клиент pptp-linux

Сообщение Andreas17 » 08 авг 2018, 23:03

Третий час гоняю торрентами. Ни одного обрыва. :beer:

А можно ещё что-нибудь в пакет добавить, чтобы 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
Или это невозможно?

keleg
Сообщения: 5274
Зарегистрирован: 15 сен 2011, 01:58

Новый клиент pptp-linux

Сообщение keleg » 09 авг 2018, 07:53

В линуксе все возможно. Вопрос в том, чтоб это не повлияло на другие режимы - можете посмотреть, в других дистрибутивах реализовано такое?

Аватара пользователя
Andreas17
Сообщения: 140
Зарегистрирован: 21 май 2017, 20:07
Operating system: AMD Athlon II X4 640 / 12 ГБ ОЗУ / NVIDIA GTX 650 / ROSA FRESH R10 Plasma 5
Откуда: Москва

Новый клиент pptp-linux

Сообщение Andreas17 » 09 авг 2018, 18:49

Из других диструбутивов в наличии 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 запускаются с этой опцией изначально.
Получается, что вся фишка в отключении буфера.

keleg
Сообщения: 5274
Зарегистрирован: 15 сен 2011, 01:58

Новый клиент pptp-linux

Сообщение keleg » 14 авг 2018, 12:20

а без nobuffer новая версия точно рвет соединение?

Аватара пользователя
Andreas17
Сообщения: 140
Зарегистрирован: 21 май 2017, 20:07
Operating system: AMD Athlon II X4 640 / 12 ГБ ОЗУ / NVIDIA GTX 650 / ROSA FRESH R10 Plasma 5
Откуда: Москва

Новый клиент pptp-linux

Сообщение Andreas17 » 14 авг 2018, 15:33

Не, не рвёт, я же пропатчил. Работает стабильно. :)
Но скорость максимальную (если таковая имеется) без опции nobuffer не тянет.

З.Ы. надо будет NM поковырять. Это он запускает pptp в виде службы. Наверное где-то должны быть конфиги всего этого дела.

keleg
Сообщения: 5274
Зарегистрирован: 15 сен 2011, 01:58

Новый клиент pptp-linux

Сообщение keleg » 15 авг 2018, 17:57

Т.к. ситуация нечастая, вам все карты в руки. Исправите - будем очень рады и включим в репы.

Аватара пользователя
VictorR2007
Сообщения: 5314
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Новый клиент pptp-linux

Сообщение VictorR2007 » 16 авг 2018, 06:08

А если параметр "nobuffer" попробовать добавить в файл /etc/ppp/options.pptp?

Ответить