Как заставить PPTP VPN подключается не только через роутер, но и напрямую?

Имеется кабель от провайдера (ТТК). Провайдер раздаёт интернет просто по ethernet, без какой-либо авторизации и дополнительных протоколов типа PPPoE или VPN. Кабель подключен к роутеру Zyxel Keenetic Lite, и есть разные устройства подключаемые к роутеру (ноутбук с Ubuntu 14.04, разные Android устройства). Есть собственный VPN-сервер (PPTP, MS-CHAP v2, MPPE-128). Когда устройства подключены к роутеру, прекрасно получается соединиться с VPN-сервером (равно как и по мобильной сети, например).

Но если ноутбук подключить напрямую, не к роутеру, возникают ошибки (ниже). Ровно те же самые ошибки возникают и при настройке подключения в самом роутере.

Итак, при подключении с роутера или с ноутбука напрямую, лог сервера выглядит так:

pptpd[6304]: CTRL: Client x.x.x.x control connection started
pptpd[6304]: CTRL: Starting call (launching pppd, opening GRE)
pppd[6305]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
pppd[6305]: pptpd-logwtmp: $Version$
pppd[6305]: pppd 2.4.5 started by root, uid 0
pppd[6305]: using channel 152
pppd[6305]: Using interface ppp0
pppd[6305]: Connect: ppp0 <--> /dev/pts/1
pppd[6305]: sent [LCP ConfReq id=0x1 <mru 1492> <asyncmap 0x0> <auth chap MS-v2> <magic 0x36879b0e> <pcomp> <accomp>]
pptpd[6304]: GRE: Bad checksum from pppd.
pppd[6305]: sent [LCP ConfReq id=0x1 <mru 1492> <asyncmap 0x0> <auth chap MS-v2> <magic 0x36879b0e> <pcomp> <accomp>]
pppd[6305]: last message repeated 8 times
pppd[6305]: LCP: timeout sending Config-Requests
pppd[6305]: Connection terminated.
pppd[6305]: Modem hangup
pppd[6305]: Exit.
pptpd[6304]: GRE: read(fd=6,buffer=80504c0,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
pptpd[6304]: CTRL: PTY read or GRE write failed (pty,gre)=(6,7)
pptpd[6304]: CTRL: Reaping child PPP[6305]
pptpd[6304]: CTRL: Client x.x.x.x control connection finished

На стороне роутера/ноутбука в логе имеется следующее:

pptp[552] control connection
pptp[552] unix_sock
pptp[553] enable echo requests (30:3)
pptp[553] Sent control packet type is 1 'Start-Control-Connection-Request'
pptp[553] Received Start Control Connection Reply
pptp[553] Client connection established.
pptp[553] Sent control packet type is 7 'Outgoing-Call-Request'
pptp[553] Received Outgoing Call Reply.
pptp[553] PPTP_OUT_CALL_RPLY received for non-existant call: peer call ID (us) 45162 call ID (them) 3968.
pptp[553] read returned zero, peer has closed
pptp[553] Closing connection (shutdown)

Wireshark как раз показывает, что на клиент приходит LCP Configuration Request, но клиент не реагирует (судя по логу, он почему-то считает, что запрос предназначен не ему - строчка про PPTP_OUT_CALL_RPLY). При подключении через роутер клиент отвечает на Configuration Request и соединение далее устанавливается.

Собственно, вопрос в том, как это вылечить? Очень хочется настроить VPN на роутере.

UPD обнаружилась странная закономерность:
Sep 28 19:58:47pptp[376]PPTP_OUT_CALL_RPLY received for non-existant call: peer call ID (us) 54815 call ID (them) 0.
Sep 28 19:59:08pptp[380]PPTP_OUT_CALL_RPLY received for non-existant call: peer call ID (us) 54817 call ID (them) 128.
Sep 28 19:59:40pptp[382]PPTP_OUT_CALL_RPLY received for non-existant call: peer call ID (us) 54818 call ID (them) 256.
Sep 28 20:00:11pptp[384]PPTP_OUT_CALL_RPLY received for non-existant call: peer call ID (us) 54819 call ID (them) 384.
Sep 28 20:00:42pptp[386]PPTP_OUT_CALL_RPLY received for non-existant call: peer call ID (us) 54820 call ID (them) 512.
Sep 28 20:01:14pptp[389]PPTP_OUT_CALL_RPLY received for non-existant call: peer call ID (us) 54822 call ID (them) 640.
Sep 28 20:01:45pptp[391]PPTP_OUT_CALL_RPLY received for non-existant call: peer call ID (us) 54823 call ID (them) 768.
Sep 28 20:02:16pptp[393]PPTP_OUT_CALL_RPLY received for non-existant call: peer call ID (us) 54824 call ID (them) 896.
Sep 28 20:02:48pptp[395]PPTP_OUT_CALL_RPLY received for non-existant call: peer call ID (us) 54748 call ID (them) 1024.
Sep 28 20:03:19pptp[397]PPTP_OUT_CALL_RPLY received for non-existant call: peer call ID (us) 54749 call ID (them) 1152.
Sep 28 20:03:50pptp[399]PPTP_OUT_CALL_RPLY received for non-existant call: peer call ID (us) 54750 call ID (them) 1280.


Интересно, как меняются ID с каждым запросом.
  • Вопрос задан
  • 7609 просмотров
Пригласить эксперта
Ответы на вопрос 1
mobilesfinks
@mobilesfinks
сисадмин *nix
Может ваш провайдер режет ваш VPN траффик?
GRE: Bad checksum from pppd.
конкретно GRE протокол
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы