1) Install “mpd” from ports:
cd /usr/ports/net/mpd
make install
2) Once it’s done edit the sample configuration file in /usr/local/etc/mpd:
cd /usr/local/etc/mpd
vi (or your favourite editor) mpd.conf
3) Add this to your mpd.conf:
default:
load pptp1
pptp1:
new -i ng0 pptp1 pptp1
set iface disable on-demand
set iface enable proxy-arp
set iface idle 0
set iface enable tcpmssfix
set bundle enable multilink
set link yes acfcomp protocomp
set link no pap chap
set link enable chap
set link keep-alive 10 60
set ipcp yes vjcomp
set ipcp ranges 192.168.1.1/32 192.168.1.51/32
set ipcp dns 192.168.1.1
set ipcp nbns 192.168.1.1 192.168.1.8
set bundle enable compression
set ccp yes mppc
set ccp yes mpp-e40
set ccp yes mpp-e128
set ccp yes mpp-stateless
Change the ip to suite your needs.
The ‘ipcp dns’ line is to specify what DNS servers the client should use. The ‘ipcp nbns’ line is to specify what WINS (Netbios NS) servers the client should use. You can remove that line if you do not have a WINS server to use. The address assigned to the server (1922.168.1.1 in this case) can be assigned multiple times if you want to allow more than one client to connect at a time. You only need to specify different addresses for the clients (192.168.1.51 in this case).
4) Now edit mpd.links and add this in it:
pptp1:
set link type pptp
set pptp enable incoming
set pptp disable originate
5) Now edit mpd.secret to add user/passwords pair in it:
user “password”
user2 “password2″
etc…
6) Now secure the password file:
chmod 600 mpd.secret
7) Start MPD:
/usr/local/sbin/mpd -b
8) If you have any trouble run it without -b option as -b option is for running it in background or as deamon:
Now you should have a VPN server for Windows clients that supports MPPE (Microsoft Point-to-Point Encryption), but not MPPC (Compression), because the compression libraries are not open source and are not included with ‘mpd’.
If you want to allow more than one connection at a time, all you need to do is copy the lines in the mpd.conf and mpd.links files and change the identifier from ‘pptp1′ to ‘pptp2′ and so on.
9) Starting mpd at boot:
Just add /usr/local/sbin/mpd -b to /etc/rc.local