ppp, pppoe, pptp, pptpd – point-to-point protocol


ip/ppp [ -CPSacdfu ] [ -b baud ] [ -k keyspec ] [ -m mtu ] [ -M chatfile ] [ -p dev ] [ -x netmntpt ] [ -t modemcmd ] [ local [ remote ] ]

ip/pppoe [ -PdcC ] [ -A acname ] [ -S srvname ] [ -k keyspec ] [ -m mtu ] [ -b baud ] [ -x pppnetmntpt ] [ ether ]

ip/pptp [ -dP ] [ -k keyspec ] [ -w window ] [ -x pppnetmntpt ] server

ip/pptpd [ -d ] [ -p pppnetmtpt ] [ -w window ] [ -D fraction ] tcp-dir


The Point-to-Point Protocol is used to encapsulate Internet Protocol packets in IPv4 packets for transfer over serial lines or other protocol connections. Ppp can run either as a client or, with the –S option, as a server. The only differences between a client and a server is that the server will not believe any local address the client tries to supply it and that the server always initiates the authentication of the client.

With no option, ppp communicates with the remote system via standard input and output. This is useful if a program wants to use ppp in a communications stream. However, the normal mode is to specify a communications device, usually a serial line with a modem.

Ppp supports the following options:


as server, don’t request authentication from the client  


set the baud rate on the communications device  


disallow packet compression  


disallow IP header compression  


make PPP add HDLC framing. This is necessary when using PPP over a serial line or a TCP connection  


add keyspec to the factotum(4) key pattern when looking for a user name and password for authentication.  


set the maximum transfer unit (default 1450)  


chat with the modem as specified in the chat file. Each line in the chat file contains a string that is transmitted to the modem and the response expected (e.g. ’AT’ ’OK’)  


use this as the primary IP interface; set the default route through this interface and write its configuration to /net/ndb  


communicate over dev instead of standard I/O  


run as a server  


before starting the PPP protocol, write modemcmd to the device  


before starting the PPP protocol with the remote end, shuttle bytes between the device and standard I/O until an EOF on standard input. This allows a user to start ppp and then type commands at a modem before ppp takes over  


use the IP stack mounted at netmntpt  

If both the local and remote addresses are specified, don’t ask the other end for either or believe it if it supplies one. If either is missing, get it from the remote end.

Pppoe is a PPP over ethernet (PPPoE) client. It invokes ppp to start a PPP conversation which is tunneled in PPPoE packets on the ethernet device mounted at etherdir (default /net/ether0). The pppoe-specific options are:


insist on an access concentrator named acname during PPPoE discovery  


write debugging output to standard error, and pass -d to ppp  


insist on a service named srvname during PPPoE discovery  

The other options are relayed to ppp.

Pptp is a client for a PPTP encrypted tunnel. Server is the name of the server to dial. Pptp takes the same options as pppoe, except for the lack of a -m option and the addition of a -w option. The -w option specifies the local send window size (default 16) in packets.

Pptpd is the server side of a PPTP encrypted tunnel. Tcpdir is the directory of a TCP connection to the client. The TCP connection is used to control the tunnel while packets are sent back and forth using PPP inside of GRE packets. The options are:


write debugging output to standard error.  


drop fraction of the received packets. This is used for testing.  


use the IP stack mounted at pppnetmtpt to terminate the PPP connection.  


set the receive window to window.  




gre in ip(3)