Ошибка соединения PPTP: GRE: неверная контрольная сумма из pppd
Я установил PPTP-сервер на своем собственном сервере. Я следую этому руководству https://www.digitalocean.com/community/articles/how-to-setup-your-own-vpn-with-pptp
Но когда я пытаюсь использовать свой мобильный телефон или компьютер для подключения к PPTP-серверу, он говорит, что PPTP-сервер зависает, имя пользователя или пароль неверны. Но я проверил свое имя пользователя и пароль, они в порядке. В моем журнале PPTP-сервера, что-то вроде этого:
Dec 14 03:57:46 localhost pptpd[2071]: CTRL: Client 121.32.107.56 control connection started
Dec 14 03:57:46 localhost pptpd[2071]: CTRL: Starting call (launching pppd, opening GRE)
Dec 14 03:57:46 localhost pppd[2072]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
Dec 14 03:57:46 localhost pppd[2072]: pppd 2.4.5 started by root, uid 0
Dec 14 03:57:46 localhost pppd[2072]: Using interface ppp1
Dec 14 03:57:46 localhost pppd[2072]: Connect: ppp1 <--> /dev/pts/3
Dec 14 03:57:46 localhost pptpd[2071]: GRE: Bad checksum from pppd.
Dec 14 03:58:16 localhost pppd[2072]: LCP: timeout sending Config-Requests
Dec 14 03:58:16 localhost pppd[2072]: Connection terminated.
Dec 14 03:58:16 localhost pppd[2072]: Modem hangup
Dec 14 03:58:16 localhost pppd[2072]: Exit.
Dec 14 03:58:16 localhost pptpd[2071]: GRE: read(fd=6,buffer=804f620,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
Dec 14 03:58:16 localhost pptpd[2071]: CTRL: PTY read or GRE write failed (pty,gre)=(6,7)
Dec 14 03:58:16 localhost pptpd[2071]: CTRL: Reaping child PPP[2072]
Dec 14 03:58:16 localhost pptpd[2071]: CTRL: Client 121.32.107.56 control connection finished
1 ответ
Если вы проверите различные форумы и списки рассылки, вы найдете заметки о параметре MPPE (шифрование PPP) и MS Chap v2. Если вы еще не пробовали изменить эти настройки, я предлагаю вам поискать информацию о них в Google - они могут помочь в вашем случае.
Они не помогли в моем случае.
Оказывается, есть пакеты, называемые пакетами GRE, которые могут быть заблокированы в вашей конфигурации. Большинство инструкций, которые я нашел в сети, не упоминают об этом - но это важно.
Вот страница, которая упоминает Протокол 47:
http://forums.whirlpool.net.au/archive/1957524
Итог: если есть что-то между, например, вашим кабельным модемом (то есть: ваш публичный IP-адрес) и вашим VPN-сервером: проблема может быть просто в том, что пакеты GRE не проходят. Так,
Если вы используете один из многих общедоступных блоков маршрутизатора: перейдите на страницы администратора для этого блока и проверьте дополнительные параметры. Вы захотите найти и включить функцию "PPTP passthrough", которая знает, как обрабатывать пакеты GRE. (Помните, что многие интернет-провайдеры предоставляют вам кабельный модем со встроенным маршрутизатором.)
Если вы используете Arno IPTables Firewall: включите плагин для PPTP (он находится в папке плагинов - следуйте инструкциям).
К сожалению, для вашей конфигурации может потребоваться другое решение - что-то для обработки NAT-пакетов GRE между вашим VPN-сервером и вашим (кабельный модем / общедоступный IP-адрес). Я предполагаю, что маршрутизаторы будут проблемой для многих людей, поэтому я надеюсь, что это примечание тоже помогает в твоем случае.
Вам может понадобиться сделать это:
net.netfilter.nf_conntrack_helper = 1
Затем добавьте
modprobe ip_nat_pptp
. В моем случае это решено. Я использовал Ubuntu 18.04.2 LTS, версия ядра 4.15.0-45-generic.