I just recently saw another post for help setting up a PPTP VPN connection from PCLinuxOS.. KVpnc hasn't worked properly for this type of vpn in pclos for as long as I can remember, but flux was once helpful enough to point me to the method that the users of his german pclos remaster use.. Here is my how-to / tutorial:
( adapted from
http://pptpclient.sourceforge.net/howto-mandrake-101.phtml )
NOTE: this may break other functionality that requires the use of newer pclos ppp / php-pcntl packages (ie. some dial-up connections, etc). If you are dependent on this type of connection for internet access it is probably a good idea to download the packages in step 2 before you begin.Before we begin, first open Synaptic package manager and remove any of the following packages (and dependencies) if they are installed:
php-pcntl
php-gtk-pcntl
ppp
ppp-pppoe
ppp-pppoatm
pptp
pptp-linuxNext download and install needed packages from console:
######### must be done as root #############
su
<enter root password at prompt>
apt-get install libglade libxml
cd /tmp
#### NOTE: the following block is one command.. copy and paste it in its entirety! ####
wget http://prdownloads.sourceforge.net/poptop/ppp-2.4.3-4mdk10.1.i586.rpm \
http://prdownloads.sourceforge.net/pptpclient/pptp-1.6.0-1.i386.rpm \
http://prdownloads.sourceforge.net/pptpclient/php-pcntl-4.3.10-1.i386.rpm \
http://prdownloads.sourceforge.net/pptpclient/php-gtk-pcntl-1.0.1-2.i386.rpm \
http://prdownloads.sourceforge.net/pptpclient/pptpconfig-20040722-6mdk.noarch.rpm
rpm --upgrade *.rpm
ldconfig
#### Installation done; to start the GUI.. ####
pptpconfig
Configutation using
pptpconfig is as follows:
Configuration
1. obtain from your PPTP Server administrator:
* the IP address or host name of the server,
* the authentication domain name, (e.g. WORKGROUP),
* the username you are to use,
* the password you are to use,
* whether encryption is required.
2. run pptpconfig as root, and a window should appear,
3. enter the server, domain, username and password into the Server tab,
4. if you decided in Installation step 1 above that you would need MPPE, and if your administrator says encryption is required, then on the Encryption tab, click on Require Microsoft Point-to-Point Encryption (MPPE),
5. click on Add, and the tunnel will appear in the list,
6. click on the tunnel to select it, click on Start, and a window will appear with the tunnel connection log and status,
7. if the connection fails, you will need to gather more information, so on the Miscellaneous tab, click on Enable connection debugging facilities, click Update, try Start again, then look at the Diagnosis HOWTO for whatever error is displayed.
8. if the connection succeeded, you can try the Ping test button. If the ping fails, you should try to find out why before proceeding. If the ping works, then the tunnel is active and you may now work on routing.
9. decide whether all your network traffic should go via the tunnel or not. If so, Stop the tunnel, select it again, then on the Routing tab, click on All to Tunnel, then click Update and try Start again. Now try to access the network behind the server.
10. on the other hand, if only some of your network traffic should go via the tunnel, you will need to obtain from the server administrator or folk lore a series of network routes to enter. Stop the tunnel, select it again, then click on either Client to LAN or LAN to LAN on the Routing tab, use the Edit Network Routes button to enter the routes one by one, and then try Start again. Now try to access the network behind the server.
Network routes (if needed) should be as follows:
The solution to routing only traffic directed toward the remote LAN over the VPN while keeping internet traffic directed to its usual route is quite simple: Once you have the connection configured you have to "Edit Network Routes.." on the routing tab of pptpconfig (make sure you select the connection in the top section first).
If your remote LAN has ip's that vary only in the last set of digits (ie 10.1.10.XXX or 192.168.1.XXX) then you would set "Network:" in "Edit Network Routes.." on the routing tab of pptpconfig to 10.1.10.0/24 or similar so that the first three groups of digits in the "Network:" match the remote LAN's network match.
If you had multiple subnets on your remote LAN (IP's that vary in more than one of of their digit groupings) that you wanted to be able to reach you might instead use something like the following:
If remote IP's vary: 192.168.1.XX then use 192.168.1.0/24
If remote IP's vary: 192.168.XX.XX then use 192.168.0.0/16
If remote IP's vary: 10.XX.XX.XX then use 10.0.0.0/8
If remote IP's vary: 10.1.XX.XX then use 10.1.0.0/16
If remote IP's vary: 10.1.10.XX then use 10.1.10.0/24
..etc
Once you have made the appropriate configuration in the box labeled "Network:" then click "add" and "close" in that window, and "update" in the pptpconfig window (or "add if you hadn't previously saved the connection)
Once you have it working, be careful about updating your system.. don't allow
ppp or
php-pcntl to be updated (..see tex's post about
how to pin an older version in synaptic to prevent update)
For the files we installed, the
/etc/apt/preferences file that you would create looks like this:
Package: ppp
Pin: version 2.4.3-4mdk*
Pin-Priority: 1001
Package: pptp
Pin: version 1.6.0-1*
Pin-Priority: 1001
Package: php-pcntl
Pin: version 4.3.10-1*
Pin-Priority: 1001
Package: php-gtk-pcntl
Pin: version 1.0.1-2*
Pin-Priority: 1001
Package: pptpconfig
Pin: version 20040722-6mdk*
Pin-Priority: 1001
To create a link to the pptpconfig GUI on your desktop, create a text file named
pptpconfig.desktop with the following contents:
[Desktop Entry]
Comment=Used to create VPNs using the Microsoft PPTP protocal
Exec[$e]=pptpconfig
GenericName=PPTP VPN GUI
Icon=irkick
Name=pptpconfig
Path[$e]=
StartupNotify=true
Terminal=0
TerminalOptions=
Type=Application
X-KDE-SubstituteUID=true
X-KDE-Username=
..then drag it to your panel if you like!
