Next Previous Contents

1. Introduction

PPP (the Point to Point Protocol) is a mechanism for creating and running IP (the Internet Protocol) and other network protocols over a serial link - be that a direct serial connection (using a null-modem cable), over a telnet established link or a link made using modems and telephone lines (and of course using digital lines such as ISDN).

Using PPP, you can connect your Linux PC to a PPP server and access the resources of the network to which the server is connected (almost) as if you were directly connected to that network.

You can also set up your Linux PC as a PPP server, so that other computers can dial into your computer and access the resources on your local PC and/or network.

As PPP is a peer-to-peer system, you can also use PPP on two Linux PCs to link together two networks (or a local network to the Internet), creating a Wide Area Network (WAN).

One major difference between PPP and an Ethernet connection is of course speed - a standard Ethernet connection operates at 10 Mbs (Mega - million bits per second) maximum theoretical throughput, whereas an analogue modem operates at speeds up to 56 kbps (kilo - thousand bits per second).

Also, depending on the type of PPP connection, there may be some limitations in usage of some applications and services.

1.1 Clients and Servers

PPP is strictly a peer to peer protocol; there is (technically) no difference between the machine that dials in and the machine that is dialed into. However, for clarity's sake, it is useful to think in terms of servers and clients.

When you dial into a site to establish a PPP connection, you are a client. The machine to which you connect is the server.

When you are setting up a Linux box to receive and handle dial in PPP connections, you are setting up a PPP server.

Any Linux PC can be both a PPP server and client - even simultaneously if you have more than one serial port (and modem if necessary). As stated above, there is no real difference between clients and servers as far as PPP is concerned, once the connection is made.

This document refers to the machine that initiates the call (that dials in) as the CLIENT, whilst the machine that answers the telephone, checks the authentication of the dial in request (using user names, passwords and possibly other mechanisms) is referred to as the SERVER.

The use of PPP as a client to link one or more machines at a location into the Internet is, probably, the one in which most people are interested - that is using their Linux PC as a client.

The procedure described in this document will allow you to establish and automate your Internet connection.

This document will also give you guidance in setting up your Linux PC as a PPP server and in linking two LANs together (with full routing) using PPP (this is frequently characterised as establishing a WAN - wide area network - link).

1.2 Differences between Linux distributions

There are many different Linux distributions and they all have their own idiosyncrasies and ways of doing things.

In particular, there are two different ways a Linux (and Unix) computer actually starts up, configures its interfaces and so forth.

These are BSD system initialisation and System V system initialisation. If you dip into some of the Unix news groups, you will find occasional religious wars between proponents of these two systems. If that sort of thing amuses you, have fun burning bandwidth and join in!

Possibly the most widely used distributions are

BSD style initialisation typically keeps its initialisation files in /etc/... and these files are:-


        /etc/rc
        /etc/rc.local
        /etc/rc.serial
                (and possibly other files)

Of recent times, some BSD system initialisation schemes use a /etc/rc.d... directory to hold the start up file rather than putting everything into /etc.

System V initialisation keeps its initialisation files in directories under /etc/... or /etc/rc.d/... and a number of subdirectories under there:-


drwxr-xr-x   2 root     root         1024 Jul  6 15:12 init.d
-rwxr-xr-x   1 root     root         1776 Feb  9 05:01 rc
-rwxr-xr-x   1 root     root          820 Jan  2  1996 rc.local
-rwxr-xr-x   1 root     root         2567 Jul  5 20:30 rc.sysinit
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc0.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc1.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc2.d
drwxr-xr-x   2 root     root         1024 Jul 18 18:07 rc3.d
drwxr-xr-x   2 root     root         1024 May 27  1995 rc4.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc5.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc6.d

If you are trying to track down where your Ethernet interface and associated network routes are actually configured, you will need to track through these files to actually find where the commands are that do this.

1.3 Distribution specific PPP configuration tools

On some installations (for example Red Hat and Caldera), there is a X Windows configured PPP dial up system. This HOWTO does not cover these distribution specific tools. If you are having problems with them, contact the distributors directly!

For Red Hat 4.x users, there is now a Red Hat PPP-TIP in the Linux resources area and also from Red Hat Software in the support area.


Next Previous Contents