That sounds like a missing feature in NetworkManager.
A PPTP VPN is basically PPP inside a GRE tunnel. When the remote endpoint assigns an IP address to your PPP interface, it does not actually tell your system anything about the network at the remote end. To route traffic to the remote network, your system may do one of the following:
- Decide that the VPN tunnel is now your default gateway, which means that you'll always be able to reach the remote network, but all other traffic goes through the tunnel as well
- Try and make a semi-intelligent guess about the size of the remote network
- Allow the user to specify a manual route to be added to the routing table whenever the tunnel interface is activated
A Windows client usually does (1), but will attempt (2) if you uncheck the "use default gateway on remote network" by adding a route based on the class of the assigned IP address (which is hardly ever correct). I guess NetworkManager does something similar.
Since there's really no way of knowing the true size/identity of the remote network (short of running a routing protocol), what is needed is a way to do (3). If NetworkManager doesn't offer that functionality (I know nothing at all about NetworkManager), you may be able to use an
ip-up script. This script (not to be confused with the Fedora
ifup- files) is run by
pppd and its sibling
pptpd whenever a connection is established. Some distributions have a
/etc/ppp/ip-up.d directory where you can place a script that adds the requisite route, or you can modify the
/etc/ppp/ip-up script directly.
Be aware that PPTP is fundamentally broken and offers no security. If you use the PPTP client across a public network, an intruder will be able to obtain your login credentials.