After update to Fedora 25 one of my PPTP connections strangely works. Remote net is not available.

It is connected, successfully get remote net IP address. While connected nothing is available in remote net, but internet works fine. After a few minutes connection breaks by itself.

I've noticed strange thing, while pptp connection is on there are too much TX packets transferred:

        inet  netmask  destination ___.__.___.___
        ppp  txqueuelen 3  (Point-to-Point Protocol)
        RX packets 10  bytes 172 (172.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9864041  bytes 5842982146 (5.4 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

In a 10-15 seconds it shows up to 5.4 GiB of packets. It grows very fast.

The same if firewalld is disabled.

I'm using Network-Manager to connect to pptp.

[root@c0rp ~]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: Fedora
Description:    Fedora release 25 (Twenty Five)
Release:    25
Codename:   TwentyFive
[root@c0rp ~]# uname -a
Linux c0rp 4.10.8-200.fc25.x86_64 #1 SMP Fri Mar 31 13:20:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Can someone help me to investigate the problem, please

Update after solution was provided

I found that newly created route points to itself, using route command. Check exactly after pptp connected:

xxx.xxx.xxx.xxx UH    50     0        0 ppp0

What I did is:

  1. Remove delete assigned address from network device
  2. Add back the assigned address along with a replacement peer address

Everything exactly as it was pointed in the link.

enter image description here

Finally I add this two steps into dispatcher.d script:


SSID="Your vpn connection name in Network Manager"

if [[ $CONNECTION_ID == "$SSID" ]]; then
        if [[ $ACTION = "vpn-up" ]]; then
                IP4_ADDRESS=$(ifconfig "$1" | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '')
                ip addr del "$IP4_ADDRESS" dev $INTERFACE
                ip addr add "$IP4_ADDRESS" peer dev $INTERFACE

I put this script into /etc/NetworkManager/dispatcher.d


Check this: http://pptpclient.sourceforge.net/howto-diagnosis.phtml#ip_loop.

NM (or pppd) is creating an additional, wrong, default route (even if nodefaultroute is being passed as parameter). route del won't delete it.

I got around it by telling NM the connection would be shared with other users.

It is most likely a bug, but this solved the problem for a while.

  • Thanks for the link, using it I found reliable solution. – c0rp May 7 '17 at 19:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.