VPN (PPTP): перестает работать Интернет под нагрузкой
При использовании пакета pptp-linux
возникает проблема следующего характера. При скачивании большого объема информации на высокой скорости, например, через торрент, VPN соединение перестает отправлять и принимать пакеты. При этом соединение не разрывается, но Интернет не работает.
В качестве решения предлагается увеличить значение MISSING_WINDOW
в файле pqueue.h
с 300 до 6000 и пересобрать пакет.
В Debian эту операцию можно произвести следующим образом.
Создаем рабочий каталог и переходим в него.
# mkdir ~/pptp-linux
# cd ~/pptp-linux
Скачиваем исходные коды пакета pptp-linux
.
# apt-get source pptp-linux
Определяем версию пакета. Для этого необходимо выполнить команду ls
. В выводе команды будет только один каталог. На момент написания статьи, последняя версия пакета – pptp-linux-1.7.2
.
Переходим в каталог с исходниками пакета:
# cd pptp-linux-1.7.2
Редактируем файл pqueue.h
. Находим строчку
#define MISSING_WINDOW 300
и заменяем значение 300 на 6000.
Устанавливаем необходимые для сборки пакета зависимости:
# apt-get build-dep pptp-linux
Собираем пакет:
# dpkg-buildpackage -rfakeroot
После выполнения этой команды в родительском каталоге появится файл pptp-linux_1.7.2-7-i386.deb
(для другой версии пакета и архитектуры имя будет другим). Перейдем в родительский каталог командой
# cd ..
Удаляем старый пакет pptp-linux
:
# apt-get remove pptp-linux
В выводе этой команды следует обратить внимание на текст после строчки
Пакеты, которые будут УДАЛЕНЫ:
Эти пакеты зависят от пакета pptp-linux
и не смогут работать без установленного pptp-linux
. Поэтому они также будут удалены. Следует скопировать список этих пакетов для последующей установки.
Устанавливаем собранный пакет:
# dpkg -i pptp-linux_1.7.2-7-i386.deb
После чего следует восстановить удаленные пакеты командой
# apt-get install ...
Вместо многоточия необходимо подставить список пакетов, скопированных на предыдущем шаге за исключением пакета pptp-linux.