Differences between revisions 17 and 18
Revision 17 as of 2021-11-29 10:29:40
Size: 3125
Comment: pppd not available
Revision 18 as of 2021-11-30 01:06:06
Size: 2969
Editor: PaulWise
Comment: pppd is a daemon, not a package. it is in the ppp package, which is still in Debian. also update links
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:

Important: the pppd package is not available anymore in Debian, at least since 2021.
Line 40: Line 38:
 * [[http://www.samba.org/ppp/|Official website]]
 * [[http://freecode.com/projects/pppd|Freecode Project page]]
 * [[https://ppp.samba.org/|Official website]]

Translation(s): English - ?Español - Français - Italiano

pppd is the PPP daemon which is used to manage network connections between two nodes on Unix-like operating systems. It is configured using command line arguments and configuration files.

While it has initially and mainly been used to manage only dial-up access, it is also used to manage broadband connections such as DSL, if Point-to-Point Protocol over Ethernet (PPPoE) or Point-to-Point Protocol over ATM (PPPoATM) is used.

The role of pppd is managing PPP session establishment and session termination.

During session establishment, pppd has the role of:

  • Looped link detection: PPP detects looped links using magic numbers. When he sends PPP LCP messages, these messages include a magic number. If a line is looped, the node receives an LCP message with its own magic number, instead of getting a message with the peer's magic number.
  • Automatic self configuration: Using Link Control Protocol it has to negotiate protocol features like Address-and-Control-Field-Compression (ACFC), escaped characters, and the compression, encryption (like MPPE) and authentication methods to use.
  • Access control and authentication: Using protocols like Challenge-handshake authentication protocol (CHAP) or Password authentication protocol (PAP) it has to provide and check authentication data.
  • Layer 3 configuration: If using Internet Protocol Control Protocol (IPCP), it to negotiate IP parameters such as the IP addresses, the maximum transmission unit and name server addresses may be passed to the peer. Some versions may also support Internetwork Packet Exchange Control Protocol (IPXCP) and ?AppleTalk Control Protocol (ATCP) for routing IPX or Appletalk over the link.

  • After negotiation is complete, it has to set-up the required network interfaces and routes, so that the connection is run by the kernel.

pppd terminates a PPP link when:

  • too many frames with invalid Frame Check Sequence (FCS) field have been received
  • the link is considered "idle" (if configured)
  • another program or the peer requests link termination.

Some newer versions of pppd are also capable of handling Dial-on-demand routing, where pppd sets up a virtual network, captures the packages it receives and establishes a PPP connection and forwards the captured and not-yet transmitted packages over the link.

GUI frontends


  • Wvdial - A tool which is used for modem-initialisaton before starting pppd. Given only username and password, wvdial succeeds in making the connection in most cases.


  • Unix manual page: pppd(8) (man pppd)