PPTP(8)
πΈ NAME: pptp β the PPTP driver πΈ (PPTP(8) page, bestie!)
Okay so this is the PPTP(8) moment, and itβs literally all about pptp β the PPTP driver. Main character energy for your VPN tunnels. π
β¨ SYNOPSIS β¨
pptp <pptp-server-IP> <pptp-options> [ppp-options] ...
π DESCRIPTION π
So pptp establishes the client side of a Virtual Private Network (VPN) using the Point-to-Point Tunneling Protocol (PPTP). Bestie, use this program to connect to an employer's PPTP based VPN, or to certain cable and ADSL service providers. Itβs giving βsecure tunnel realness.β π¦
By default, pptp establishes the PPTP call to the PPTP server, and then starts an instance of pppd to manage the data transfer. However, pptp can also be run as a connection manager within pppd. Lowkey iconic flexibility. β¨
π OPTIONS π
The first non-option argument on the pptp command line must be the host name or IP address of the PPTP server. No skipping that, bestie. π«Ά
All long options (starting with --) are interpreted as pptp options, and a fatal error occurs if an unrecognised option is used. π
All command-line arguments which do not start with - are interpreted as ppp options, and passed as is to pppd unless --nolaunchpppd is given. Got it? Got it. π
--phone <number>β pass<number>to remote host as phone number π--nolaunchpppdβ do not launchpppdbut use stdin as the network connection. Use this flag when includingpptpas apppdconnection process using theptyoption. See EXAMPLES below. π«Ά--quirks <quirk>β work around a buggy PPTP implementation, adopts special case handling for particular PPTP servers and ADSL modems. Currently recognised values areBEZEQ_ISRAELonly. π--debugβ run in foreground (for debugging withgdb) π--syncβ enable Synchronous HDLC (pppdmust use it too) β‘--timeout <secs>β time to wait for reordered packets (0.01to10secs) β³--nobufferβ completely disables buffering and reordering of packets. Any--timeoutspecified will be ignored. π--idle-wait <secs>β time to wait before sending a control connection echo request. The RFC2637 default is60seconds. π--max-echo-wait <secs>β time to wait for an echo reply before closing the control connection. The RFC2637 default is60seconds. π°οΈ--logstring <name>β use<name>instead of'anon'in syslog messages. π·οΈ--localbind <addr>β bind to specified IP address instead of wildcard. π--rtmark <n>β use specified policy routing mark for all packets. This causes both the TCP control connection's packets as well as the GRE packets to bear the given policy routing / netfilter mark. This can be used withip rule(fromiproute2) to use a separate routing table for thepptpclient. (requires root privileges or theCAP_NET_ADMINcapability.) π--nohostrouteβ do not configure a host route pointing towards the PPTP server. (cf. ROUTING below) π§--loglevel <level>β sets the debugging level (0=low,1=default,2=high) π--test-type <n>β enable packet reordering tests that damage the integrity of the packet stream to the server. Use this only when testing servers. Zero is the default, and means that packets are sent in the correct order. A value of one (1) causes a single swap between two packets, such that the sequence numbers might be1 2 3 4 6 5 7 8 9. A value of two (2) causes ten packets to be buffered, then sent out of order but ascending, such that the sequence numbers might be1 2 3 4 16 6 7 8 9 10 11 12 13 14 15 17 18 19 20. A value of three (3) causes ten packets to be buffered, then sent in the reverse order, like this;1 2 3 4 16 15 14 13 12 11 10 9 8 7 6 5 17 18 19 20. π§ͺ--test-rate <n>β sets the number of packets to pass before causing a reordering test. Default is100. Has no effect iftest-typeis zero. The result of test types2and3are undefined if this value is less than ten. β οΈ
π§ ROUTING π§
When PPTP is used in conjunction with a default route on top of the tunnel (or just any route encompassing the PPTP server), the mechanics of routing would cause the PPTP packets themselves to be routed over the tunnel. This would result in an encapsulation loop, destroying connectivity. π Not the vibe.
pptp by default works around this by looking up the route towards the PPTP server at startup and configures a host route with that data. This essentially "freezes" routing for PPTP packets at the startup configuration. This behaviour can be disabled with --nohostroute if undesired (like when using --rtmark to implement policy routing). π°οΈ
β οΈ NB: the route added by pptp is currently not deleted at exit! Bestie, that route is staying put. π
π QUIRKS π
BEZEQ_ISRAEL
Modifies packets to interoperate with Orckit ADSL modems on the BEZEQ network in Israel. π
π§ͺ EXAMPLES π§ͺ
πͺ Connection to a Microsoft Windows VPN Server
pppd noauth nobsdcomp nodeflate require-mppe-128 name domain\\\\username remotename PPTP pty "pptp 10.0.0.5 --nolaunchpppd"
Note that the chap-secrets file used by pppd must include an entry for domain\\username. π
π STATISTICS π
The pptp process collects statistics when sending and receiving GRE packets. They are intended to be useful for debugging poor PPTP performance and for general monitoring of link quality. The statistics are cumulative since the pptp process was started. β¨
The statistics can be viewed by sending a SIGUSR1 signal to the "GRE-to-PPP Gateway" process, which will cause it to dump them to the system logs (at the LOG_NOTICE level). A better way to present the statistics to applications is being sought (e.g. SNMP?). π
The following statistics are collected at the time of writing (April 2003):
rx acceptedβ the number of GRE packets successfully passed to PPP πrx lostβ the number of packets never received, and presumed lost in the network πrx under winβ the number of packets which were duplicates or had old sequence numbers (this might be caused by a packet-reordering network if your reordering timeout is set too low) πrx over winβ the number of packets which were too far ahead in the sequence to be reordered (might be caused by loss of more than 300 packets in a row) πrx bufferedβ the number of packets which were slightly ahead of sequence, and were either buffered for reordering, or if buffering is disabled, accepted immediately (resulting in the intermediate packets being discarded). π«Άrx OS errorsβ the number of times where the operating system reported an error when we tried to read a packet π¨rx truncatedβ the number of times we received a packet which was shorter than the length implied by the GRE header βοΈrx invalidβ the number of times we received a packet which had invalid or unsupported flags set in the header, wrong version, or wrong protocol. βrx acksβ the number of pure acknowledgements received (without data). Too many of these will waste bandwidth, and might be solved by tuning the remote host. π¨tx sentβ the number of GRE packets sent with data π€tx failedβ the number of packets we tried to send, but the OS reported an error π΅tx shortβ the number of times the OS would not let us write a complete packet π§±tx acksβ the number of times we sent a pure ack, without data βtx oversizeβ the number of times we couldn't send a packet because it was overPACKET_MAXbytes long πround tripβ the estimated round-trip time in milliseconds β±οΈ
π SEE ALSO π
pppd(8)- Documentation in
/usr/share/doc/pptp
π AUTHOR π
This manual page was written by James Cameron <james.cameron@hp.com> from text contributed by Thomas Quinot <thomas@debian.org>, for the Debian GNU/Linux system. The description of the available statistics was written by Chris Wilson <chris@netservers.co.uk>. Updates for the Debian distribution by Ola Lundqvist <opal@debian.org>. π«Ά
π Thatβs the whole page, bestie! This was the PPTP(8) page from the System Managerβs Manual β source/version vibes: System Manager's Manual / PPTP(8); the original footer has no date shown, so no date to copy. Bye bestie! π
π¦ where this page comes from
- arch rolling: pptpclient 1.10.0-3 Β· GPL
- nixos 26.05: pptp 1.10.0
- nixpkgs unstable: pptp 1.10.0
- opensuse-leap 16.0: pptp 1.10.0-bp160.1.13 Β· GPL-2.0-or-later
- opensuse-leap 16.0: pptp 1.10.0-bp160.1.13 Β· GPL-2.0-or-later
- opensuse-leap 16.0: pptp 1.10.0-bp160.1.13 Β· GPL-2.0-or-later
- opensuse-leap 16.0: pptp 1.10.0-bp160.1.13 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms