Debian pptpd HOWTO

by James Cameron
2016-12-27

How to install a PPTP server on Debian GNU/Linux. We last tested this with Debian packages pptpd_1.4.0-10, and pptp-linux-1.8.0-1.

Contents:


Installing the Server Program


Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/project-web/poptop/htdocs/dox/highlight.inc on line 25

Install the pptpd package from the Debian Project:

# apt install pptpd

2016-12-27


Configure IP Address Range

Edit the file /etc/pptpd.conf for the IP address range, for example:

localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

Note: see pptpd.conf(5) for more details on the other options.


Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/project-web/poptop/htdocs/dox/highlight.inc on line 25

Note: you will need to restart pptpd to make changes to /etc/pptpd.conf effective:

# invoke-rc.d pptpd restart

2016-12-27


Adding Users

Configure /etc/ppp/chap-secrets for the accounts, for example:

# echo "username pptpd password *" >> /etc/ppp/chap-secrets

Note: this method has all the usernames in one file. There are other ways, including authentication using Radius, or using Samba. Check the mailing list (subscribe, archives).

Note: you do not need to restart pptpd, a change to chap-secrets is effective for the next connection.


Testing

Attempt a connection from a client. On successful connection, a new interface should be created (e.g. ppp0), and the remote IP address of the interface should be pingable. If so, the rest of your problems are likely to be routing.

Note: if you need to set up a Debian test client, see the PPTP Client Debian HOWTO. The test client cannot be on the same host, it doesn't work.

To diagnose faults, enable the options debug dump in /etc/ppp/pptpd-options. The change is effective on the next connection. The debug output goes to /var/log/debug, and the dump output and usual output to /var/log/messages.


Patching

If you need to adopt a source code change made in GIT after the version you are running, see our Applying patches to Debian pptpd page.


Comments

If you have comments on this document, please send them to the author at quozl at laptop dot org. But if you need help, use the mailing list (subscribe, archives) so that we can share the load.

ChangeLog

DateChange
2016-12-27 Reverify against current Debian packages.
2007-11-12 Add links to mailing lists.
2006-04-06 Add warning about /etc/ppp/ip-up.d/exim4.
2005-11-16 Skip MPPE kernel module if reader is using kernel 2.6.15-rc1 or later.
2005-08-08 Add patching reference.
2004-12-23 First draft, tested using Sarge.