“Sorry for my English, it is not my native language”
We use PPTP VPN, there is a central (Rc router) router, routers from remote offices are connected to it
Periodically (several times a day, on average) VPNs are disconnected at offices, although their Internet connection works fine and there is a connection to Rc.
After VPN shutdown, the router from the remote office immediately reconnects and works on until the next disconnect.
When the connection to one of the offices falls, other VPN connections work fine. Then they will also turn off, each in its own random time.
This problem has always been, it does not directly depend on the version of RouterOS, but it seems that the more offices are connected, the more often it happens for everyone.
I made a debug of the moment the VPN connection of one of the remote offices fell (Rr1 router), on routers it looks like this:
- Rc - Virtual Machine with CHR (x86_64) P1 License, RouterOS v6.46.4
Office VPN interfaces are created dynamically, tried with static ones - there is no difference, breaks continue.
At the time of falling On Rc:
Internet works, other VPN connections work fine too
The average external traffic is less than 20 Mbit / s, the average processor load is less than 10%
Rc Log (cutting only about this connection):
—Rc Log----
Jun 19 13:30:33 Rc pptp,ppp,debug,packet debug: <35004>: sent LCP EchoReq id=0x0
Jun 19 13:30:33 Rc pptp,ppp,debug,packet debug: <magic 0x5b12475e>
Jun 19 13:30:34 Rc pptp,ppp,debug debug: <35004>: LCP missed echo reply
Jun 19 13:30:34 Rc pptp,ppp,debug,packet debug: <35004>: sent LCP EchoReq id=0x1
Jun 19 13:30:34 Rc pptp,ppp,debug,packet debug: <magic 0x5b12475e>
Jun 19 13:30:35 Rc pptp,ppp,debug debug: <35004>: LCP missed echo reply
Jun 19 13:30:35 Rc pptp,ppp,debug,packet debug: <35004>: sent LCP EchoReq id=0x2
Jun 19 13:30:35 Rc pptp,ppp,debug,packet debug: <magic 0x5b12475e>
Jun 19 13:30:36 Rc pptp,ppp,debug debug: <35004>: LCP missed echo reply
Jun 19 13:30:36 Rc pptp,ppp,debug,packet debug: <35004>: sent LCP EchoReq id=0x3
Jun 19 13:30:36 Rc pptp,ppp,debug,packet debug: <magic 0x5b12475e>
Jun 19 13:30:37 Rc pptp,ppp,debug debug: <35004>: LCP missed echo reply
Jun 19 13:30:37 Rc pptp,ppp,debug,packet debug: <35004>: sent LCP EchoReq id=0x4
Jun 19 13:30:38 Rc pptp,ppp,debug debug: <35004>: LCP missed echo reply
Jun 19 13:30:38 Rc pptp,ppp,debug debug: <35004>: LCP lowerdown
Jun 19 13:30:38 Rc pptp,ppp,debug debug: <35004>: LCP closed
Jun 19 13:30:38 Rc pptp,ppp,debug debug: <35004>: CCP lowerdown
Jun 19 13:30:38 Rc pptp,ppp,debug debug: <35004>: CCP closed
Jun 19 13:30:38 Rc pptp,ppp,debug debug: <35004>: BCP lowerdown
Jun 19 13:30:38 Rc pptp,ppp,debug debug: <35004>: BCP down event in starting state
Jun 19 13:30:38 Rc pptp,ppp,debug debug: <35004>: IPCP lowerdown
Jun 19 13:30:38 Rc pptp,ppp,debug debug: <35004>: IPCP closed
Jun 19 13:30:38 Rc pptp,ppp,debug debug: <35004>: IPV6CP lowerdown
—Rc Log----
We see that at some point the VPN connection from Rr1 stops flowing, Rc sends five LCP Requests, does not receive responses within a second and closes the connection.
2) At the same moment on Rr1
At the time of falling on Rr1:
Internet is working.
The average external traffic is less than 0.5 Mbit / s, the average processor load is less than 10%
Problems doesn’t depends of router model and OS version
----Rr1 Log-----
Jun 19 13:30:33 Rr1 pptp,ppp,debug,packet debug: pptp-out-axpl: rcvd LCP EchoReq id=0x0
Jun 19 13:30:33 Rr1 pptp,ppp,debug,packet debug: <magic 0x5b12475e>
Jun 19 13:30:33 Rr1 pptp,ppp,debug,packet debug: pptp-out-axpl: sent LCP EchoRep id=0x0
Jun 19 13:30:33 Rr1 pptp,ppp,debug,packet debug: <magic 0x2068982a>
Jun 19 13:30:34 Rr1 pptp,ppp,debug,packet debug: pptp-out-axpl: rcvd LCP EchoReq id=0x1
Jun 19 13:30:34 Rr1 pptp,ppp,debug,packet debug: <magic 0x5b12475e>
Jun 19 13:30:34 Rr1 pptp,ppp,debug,packet debug: pptp-out-axpl: sent LCP EchoRep id=0x1
Jun 19 13:30:34 Rr1 pptp,ppp,debug,packet debug: <magic 0x2068982a>
Jun 19 13:30:35 Rr1 pptp,ppp,debug,packet debug: pptp-out-axpl: rcvd LCP EchoReq id=0x2
Jun 19 13:30:35 Rr1 pptp,ppp,debug,packet debug: <magic 0x5b12475e>
Jun 19 13:30:35 Rr1 pptp,ppp,debug,packet debug: pptp-out-axpl: sent LCP EchoRep id=0x2
Jun 19 13:30:35 Rr1 pptp,ppp,debug,packet debug: <magic 0x2068982a>
Jun 19 13:30:36 Rr1 pptp,ppp,debug,packet debug: pptp-out-axpl: rcvd LCP EchoReq id=0x3
Jun 19 13:30:36 Rr1 pptp,ppp,debug,packet debug: <magic 0x5b12475e>
Jun 19 13:30:36 Rr1 pptp,ppp,debug,packet debug: pptp-out-axpl: sent LCP EchoRep id=0x3
Jun 19 13:30:36 Rr1 pptp,ppp,debug,packet debug: <magic 0x2068982a>
Jun 19 13:30:37 Rr1 pptp,ppp,debug,packet debug: pptp-out-axpl: rcvd LCP EchoReq id=0x4
Jun 19 13:30:37 Rr1 pptp,ppp,debug,packet debug: <magic 0x5b12475e>
Jun 19 13:30:37 Rr1 pptp,ppp,debug,packet debug: pptp-out-axpl: sent LCP EchoRep id=0x4
Jun 19 13:30:37 Rr1 pptp,ppp,debug,packet debug: <magic 0x2068982a>
Jun 19 13:30:38 Rr1 pptp,ppp,debug debug: pptp-out-axpl: LCP lowerdown
Jun 19 13:30:38 Rr1 pptp,ppp,debug debug: pptp-out-axpl: LCP closed
Jun 19 13:30:38 Rr1 pptp,ppp,debug debug: pptp-out-axpl: CCP lowerdown
Jun 19 13:30:38 Rr1 pptp,ppp,debug debug: pptp-out-axpl: CCP closed
Jun 19 13:30:38 Rr1 pptp,ppp,debug debug: pptp-out-axpl: BCP lowerdown
Jun 19 13:30:38 Rr1 pptp,ppp,debug debug: pptp-out-axpl: BCP down event in starting state
Jun 19 13:30:38 Rr1 pptp,ppp,debug debug: pptp-out-axpl: IPCP lowerdown
Jun 19 13:30:38 Rr1 pptp,ppp,debug debug: pptp-out-axpl: IPCP closed
----Rr1 Log-----
We see that the router receives LCP Requests (Req-magic matches) from Rc, sends an LCP Replies. Those. he receives five LCP Request,
answers them, but Rc no longer receives these answers.
3) However, this is not the case if you look at a dump of external traffic on a central Rc
The dump is taken from Rc itself using the “Packet Sniffer”, i.e. this traffic definitely got to the router.
See Rc_req.jpg, Rc_rep.jpg
We see that traffic is exchanged, we see all five LCR request and LCP Reply to them, magics are match (only for some reason inverted), the answers came in less than 10 ms, but for some reason the PPP/PPTP Service on the Rc router didn’t see this traffic, it thought that the remote Rr1 didn’t answer him and broke the VPN connection, although, in fact, the traffic to the router came.
Reconnection occurs immediately and then the VPN works fine until the next similar problem.
Other VPNs, at the time of the fall of one, work fine.
It looks like at some point, for some reason, the PPP/PPTP service on the Rc router stops receiving traffic and disconnects, although the traffic was definitely coming to it, including and all five LCR responses.
P.S. Tried with L2TP, such problems are not observed.
The questions are:
Why can this happen?
Maybe this is some known issue in Mikrotik PPP / PPTP routers?
Is there any way to fix this?

