1Usage Notes
2
3pptp is started as a psuedo-tty child process using pppd's pty option:
4
5	pppd call provider [pppd-options] \
6	pty "/usr/sbin/pptp hostname --nolaunchpppd [pptp-options]"
7
8where hostname is the host name or IP address of the PPTP server.
9
10pptp can also start pppd itself:
11
12	pptp hostname [pptp-options] [pppd-options]
13
14Note the unusual order of arguments, the hostname comes before the
15pptp options, and the pppd options come last.
16
17So, for example:
18
19	pptp my.pptp.host debug name cananian \
20	remotename ntdialup 172.18.0.2:172.18.0.3
21
22	route add -net 172.18.0.0 netmask 255.255.0.0 gw 172.18.0.3
23
24You will see three pptp-related processes in your process list: a call
25manager, a GRE/PPP en/decapsulator, and pppd.  To shut down the pptp
26connection, kill the pppd process.
27
28NOTE THAT PPTP MUST BE RUN AS ROOT.  This is so that it can generate
29GRE packets using a raw socket.
30
31Most trouble with pptp will probably be due to incorrect pppd
32configuration.  Be sure you thoroughly understand MS-CHAP support in
33pppd.  Use the 'debug' option to pppd to log connection information;
34this will help you trouble-shoot the pppd side of pptp.
35
36See the project web site for diagnosis assistance.
37
38QUIRKS HANDLING:
39
40Some ADSL providers and some ADSL hardware are buggy or not conforming
41to the RFC, and require special handling.  To this end, pptp supports
42a 'quirks' mechanism.  Currently, only '--quirks BEZEQ_ISRAEL' is
43defined, for connecting to Bezeq (the Israeli phone company) ADSL
44service.
45
46Only *some* of the equipment used by Bezeq needs this option, but even
47the equipment that does not need it works fine with it.  If you use
48Bezeq, you probably want the '--quirks BEZEQ_ISRAEL' switch.
49
50More information on Bezeq's ADSL service can be found at
51http://vipe.technion.il/~mulix/adsl-howto.txt and
52http://damyen.technion.ac.il/~dani/adsl-howto.txt.
53
54TESTING MULTIPLE TUNNELS:
55
56For testing of PPTP servers, the client can be used to establish
57multiple tunnels from multiple IP addresses.  The addresses must be
58routable; this is something you'd do on a local area network.
59
601. use an address pool on a concentrator.
61
622. write an ip-up script (e.g. /etc/ppp/ip-up.local or /etc/ppp/ip-up.d)
63
64	#!/bin/sh
65	export PATH=/sbin:/usr/sbin:/bin:/usr/bin
66	REALDEVICE=$1
67	PEERADDR=$6
68	ifconfig ${REALDEVICE} dstaddr ${PEERADDR}
69
70The script performs an "ifconfig pppx dstaddr xx.xx.xx.xx" where
71xx.xx.xx.xx is the private address of the concentrator so that the
72routing works without having to do iptables or ipchains.  The address
73used is given on the pptp command line.
74
753. create distinct source interfaces with:
76
77        ifconfig eth0:n xx.xx.xx.xx netmask yy.yy.yy.yy
78
79Where "n" is the alias interface number, "xx.xx.xx.xx" is the new
80address, and "yy.yy.yy.yy" is the network mask.
81
824. connect with
83
84	pptp concentrator --bind xx.xx.xx.xx name \
85        xx remotename yy ipparam yy.yy.yy.yy
86                                       ^ (private address of concentrator).
87
88Where "xx.xx.xx.xx" is the address of the source interface, "xx" is
89the local name of the tunnel, "yy" is the remote name of the tunnel,
90and "yy.yy.yy.yy" is the private address of the concentrator.  This is
91passed to the ip-up script as the sixth argument.
92
93See also the following test scripts;
94
95test-multiple-tunnels-1.sh  creates multiple source interfaces
96test-multiple-tunnels-2.sh  creates multiple tunnels
97
98$Id: USING,v 1.6 2003/02/15 04:32:50 quozl Exp $
99