Chapter 27. PPP and SLIP

Restructured, reorganized, and updated by Jim Mock.
Table of Contents
27.1. Synopsis
27.2. Using User PPP
27.3. Using Kernel PPP
27.4. Troubleshooting PPP Connections
27.5. Using PPP over Ethernet (PPPoE)
27.6. Using PPP over ATM (PPPoA)
27.7. Using SLIP

27.1. Synopsis

FreeBSD has a number of ways to link one computer to another. To establish a network or Internet connection through a dial-up modem, or to allow others to do so through you, requires the use of PPP or SLIP. This chapter describes setting up these modem-based communication services in detail.

After reading this chapter, you will know:

  • How to set up user PPP.

  • How to set up kernel PPP (FreeBSD 7.X only).

  • How to set up PPPoE (PPP over Ethernet).

  • How to set up PPPoA (PPP over ATM).

  • How to configure and set up a SLIP client and server (FreeBSD 7.X only).

Before reading this chapter, you should:

  • Be familiar with basic network terminology.

  • Understand the basics and purpose of a dialup connection and PPP and/or SLIP.

You may be wondering what the main difference is between user PPP and kernel PPP. The answer is simple: user PPP processes the inbound and outbound data in userland rather than in the kernel. This is expensive in terms of copying the data between the kernel and userland, but allows a far more feature-rich PPP implementation. User PPP uses the tun device to communicate with the outside world whereas kernel PPP uses the ppp device.


Throughout in this chapter, user PPP will simply be referred to as ppp unless a distinction needs to be made between it and any other PPP software such as pppd (FreeBSD 7.X only). Unless otherwise stated, all of the commands explained in this chapter should be executed as root.

All FreeBSD documents are available for download at

Questions that are not answered by the documentation may be sent to <>.

Send questions about this document to <>.