Installing VPN Server onto Debian 2.6.26 Server

One of my clients wanted access to my test server that I use for web design mockups. This test server allows me to serve the sites from apache and have a mysql database backend for CMS systems etc. My test server runs the Debian distribution of Gnu/Linux with a kernel version of 2.6.26.

I decided that I could allow this client access, but I didn't want to expose my server to the outside world, therefore I needed to let this client into my network. For a variety of reasons, I felt that setting up a VPN into my network was the way to go in this case.

So, off to the internet to find out how to do this. I initially found a document entitled <a href="http://poptop.sourceforge.net/dox/debian-howto.phtml"> Debian pptpd how to</a> and started reviewing the document. The first step <code> modprobe ppp-compress-18 && echo success </code><strong>failed</strong>

More reading and a few more documents later, <a href="http://pptpclient.sourceforge.net/howto-debian-build.phtml">Debian mppe how to</a>, <a href="http://www.chiark.greenend.org.uk/~owend/free/pptp-debian.html">Getting PPTPD to work on Debian GNU/Linux</a> I confirm my suspicions about MPPE support. Since about kernel version 2.6.16 mppe support was included in the Debian kernel. The proper test would have been <code>modprobe ppp-mppe && echo success</code> which returns success appropriately.

I was then able to apt-get the pptpd binaries successfully

<code>
Pegasus:~# apt-get install pptpd
Reading package lists... Done
Building dependency tree
Pegasus:~# Reading package lists... Done
The following extra packages will be installed:
-bash: Reading: command not found
bcrelay libpcap0.8 ppp
Pegasus:~# Building dependency tree
bcrelay libpcap0.8 ppp pptpd
0 upgraded, 4 newly installed, 0 to remove and 142 not upgraded.
Pegasus:~# Reading state information... Done
After this operation, 1569kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Pegasus:~# The following extra packages will be installed:
Selecting previously deselected package ppp.
Unpacking ppp (from .../ppp/ppp_2.4.4rel-10.1_i386.deb) ...
Removing any system startup links for /etc/init.d/ppp ...
Processing triggers for man-db ...
Setting up libpcap0.8 (0.9.8-5) ...
Setting up ppp (2.4.4rel-10.1) ...
Setting up bcrelay (1.3.4-2.1) ...
Setting up pptpd (1.3.4-2.1) ...
Starting PPTP Daemon: pptpd.
</code>

So pptpd installed and running, let's modify /etc/pptpd.conf
I set my local ppp ip address and specified a range for the remote addresses. I also turned on bcrelay as the commentary within the file seemed to suggest that for remote windows clients.

<code>
pptpd.conf

# TAG: bcrelay <if>
# Turns on broadcast relay to clients from interface <if>
#
bcrelay eth1


localip 192.168.0.1
remoteip 192.168.0.100-150
# or
#localip 192.168.0.234-238,192.168.0.245
#remoteip 192.168.1.234-238,192.168.1.245
</code>

These are the only changes I made to pptpd. I then restarted pptpd to take the changes.
(addresses changed to protect the data)

And that is it. Server installed.
Now I need to send instructions for the client to set up VPN and test.
I will let you know how it goes.