Portal Home > Knowledgebase > Tutorials / Guides > Linux Debian > PPTP (VPN) for Linux Debian

PPTP (VPN) for Linux Debian

To set up a connection to proxy.sh PPTP tunnels on Linux Debian, you will need to follow the guidelines detailed out below.

Add the pptp-linux-Package via apt-get on the command line.

# apt-get install pptp-client

First, you need to configure the general behavior of all PPTP connections in /etc/ppp/options.pptp.



Most importantly, this disables certain compression mechanisms. Next a new peer to dial needs to be setup. Peer configurations are kept in /etc/ppp/peers/. For proxy.sh we suggest to have /etc/ppp/peers/proxysh with the following settings:


pty "pptp IP_ADDR --nolaunchpppd"
remotename proxysh
file /etc/ppp/options.pptp
ipparam proxysh

Note that IP_ADDR should be replaced by the proxy.sh PPTP IP shown in your welcome email and panel's product details.

Finally, you need to place your credentials in /etc/ppp/chap-secrets, with the server column resembling the remotename you are providing in /etc/ppp/peers/proxysh.


# Secrets for authentication using CHAP
# client server secret IP addresses


To test the connection settings, it is recommended to enable debug output and run pppd in the foreground.

# pon proxysh debug dump logfd 2 nodetach

For the sake of completeness, here is the debug output of a working connection:

pppd options in effect:
debug # (from command line)
nodetach # (from command line)
logfd 2 # (from command line)
dump # (from command line)
noauth # (from /etc/ppp/options.pptp)
name YOUR_AUTH_NAME # (from /etc/ppp/peers/proxysh)
remotename proxysh # (from /etc/ppp/peers/proxysh)
# (from /etc/ppp/options.pptp)
pty pptp pptp.proxysh.se --nolaunchpppd # (from /etc/ppp/peers/proxysh)
lcp-echo-failure 4 # (from /etc/ppp/options)
lcp-echo-interval 30 # (from /etc/ppp/options)
hide-password # (from /etc/ppp/options)
ipparam proxysh # (from /etc/ppp/peers/proxysh)
nobsdcomp # (from /etc/ppp/options.pptp)
nodeflate # (from /etc/ppp/options.pptp)
require-mppe-128 # (from /etc/ppp/peers/proxysh)
noipx # (from /etc/ppp/options)
using channel 4
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
sent [LCP ConfReq id=0x1 ]
rcvd [LCP ConfReq id=0x1 ]
sent [LCP ConfAck id=0x1 ]
rcvd [LCP ConfAck id=0x1 ]
sent [LCP EchoReq id=0x0 magic=0x95dd0228]
rcvd [LCP EchoReq id=0x0 magic=0x42476791]
sent [LCP EchoRep id=0x0 magic=0x95dd0228]
rcvd [CHAP Challenge id=0xe0 <21633420ca307786560c531780185c51>, name = "pptpd"]
sent [CHAP Response id=0xe0 <53658b...c3ba00>, name = "YOUR_AUTH_NAME"]
rcvd [LCP EchoRep id=0x0 magic=0x42476791]
rcvd [CHAP Success id=0xe0 "S=C09B0199743435CE139AB00AF8B4F7043E176618"]
CHAP authentication succeeded
sent [CCP ConfReq id=0x1 ]
rcvd [CCP ConfReq id=0x1 ]
sent [CCP ConfAck id=0x1 ]
rcvd [CCP ConfAck id=0x1 ]
MPPE 128-bit stateless compression enabled
sent [IPCP ConfReq id=0x1 ]
rcvd [IPCP ConfReq id=0x1 ]
sent [IPCP ConfAck id=0x1 ]
rcvd [IPCP ConfNak id=0x1 ]
sent [IPCP ConfReq id=0x2 ]
rcvd [IPCP ConfAck id=0x2 ]
local IP address ... (your ip here)
remote IP address ... (proxy.sh ip here)
Script /etc/ppp/ip-up started (pid 2139)
Script /etc/ppp/ip-up finished (pid 2139), status = 0x0

Now open another terminal to have a look at your current network interface configuration. The ppp0 device should show up configured with the IPs from the above debug output.

# ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:... P-t-P: Mask:
RX packets:119 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:9531 (9.3 KiB) TX bytes:68 (68.0 B)

To route all traffic through the VPN tunnel, it is necessary to provide ip-up and ip-down scripts.

Therefore, the scripts provided by the software developers of pptpclient can be used. They are available here: http://pptpclient.sourceforge.net/routing.phtml#all-to-tunnel

You're all set now. Enjoy!

NB: If you encounter difficulties to connect with PPTP, please try to switch to OpenVPN. OpenVPN is more reliable, more secure and more flexible. OpenVPN also allows you to try various ports, including 'discreet' ones such as TCP 443. Below, you will find an aggregate of useful guides and articles that will help you troubleshoot your problems, should you have any.

Guide for setting up Safejumper (OpenVPN) on Linux Debian.
I cannot find the .ovpn and .crt files necessary for OpenVPN. Where are they?
No matter how hard I try, I cannot succesfully connect to OpenVPN.
I can't access any website through my browser while connected to VPN.
I am connected to the VPN but my IP is not yet hidden. Help!
I am having some kind of other problem. Where can I find some help?
How can I find the local log files of my VPN client?

If you still cannot connect successfully, please open a support ticket and include either a copy of your logs or a screenshot of your configuration and encountered errors. Logs can usually be found in software menus or settings, as well as their directories of installation (.log or .txt files). If you do not include a log or a screenshot, it will be hard for us to help you resolve the issues you have with connecting to our network.
Related Knowledgebase Articles