Configuring a Dial-in PPP Server
If you want to access your high-speed Internet connection when you are away from home, a simple dial-up PPP service can be quickly configured on your Fedora Core Linux system by configuring Linux to answer a call from a remote modem and start PPP. This is handy if you have high-speed access at home and need to use it while you are on the road. For example, our DSL connection is made through the telephone lines to our home. While at our winter vacation home, that DSL connection is not available. With a dial-in server, we use the modem in our laptop to dial home and the dial-up server connects us to the Internet (as well as our home LAN); it is like a private ISP. Not everyone will want to configure a dial-in PPP server to do this, but it does
the kind of power that Linux offers a
You will need a second phone line (for convenience, it is not really necessary), a serial port, and an attached modem. The modem must be set to answer incoming calls using the
commands specific to the modem you are using (
its manual), and with the configuration saved using the
modem command. A line-monitoring application such as
is then used to watch the serial port by editing an entry in the system's initialization table,
. You then create a special user account and script to configure Fedora Core Linux to automatically start the
daemon and PPP service after a user logs in.
Many modems can use a modem string such as
to auto answer calls, but this varies by modem manufacturer. Some terminal
, such as
, have configuration files that automatically set up the modem for a particular serial port and use an entry in
that looks like this:
3:2345:respawn:/sbin/uugetty ttyS1 38400 vt100
This entry assumes that a modem is attached to
Other commands, such as
, can directly configure a modem port and might use an
entry like this:
3:2345:respawn:/usr/local/bin/agetty -w -I 'ATE0Q1&D2&C1S0=15' \
115200 ttyS1 vt100
If you would prefer to use the
command, which is included with Fedora Core, use an entry like this:
3:2345:respawn:/sbin/mgetty -a -n 1 -D ttyS1
You will also need to edit the file
to set connection speeds and whether data, fax, or data-only or fax-only connections are to be allowed.
If you are the fortunate owner of a
-supported voice modem, such as the Elsa MicroLink 56K Internet modem, you can download, install, and use the
command to monitor the modem and have your system provide voice, data, and fax services. Edit the file
, create your answering voice messages in
, and then use a
enTRy such as
To host voice messages, you will need to use the
commands to convert your voice sound files into a format used by the modem, like this:
# wavtopvf mymessage.wav mymessage.pvf
# pvfspeed -s 7200 mymessage.pvf pvftormd Elsa 4 > mymessage.rmd
To play your outgoing message (which should be stored in
), use the following command line (needed to convert sound formats so we can play it):
# rmdtopvf mymessage.rmd pvfspeed -s 8000 pvftobasic >/dev/audio
This technique can be used to listen to any messages left by
(which end up in the
Browse to http://alpha.greenie.net/vgetty/ to download
and its documentation. Also, look at the Linux Answering machine HOWTO at http://linuxindia.virtualave.net/lamhowto.html.
step is to create a user named
and then to assign a password to it. Although it is possible to allow remote users to log in and start
from the command line (
that you have set
to SUID root), the
daemon can be started automatically by creating a short shell script and then assigning the shell script to the user for the default shell in the user's
entry, like this:
(made executable with chmod +x) would contain the following:
exec /usr/sbin/pppd -detach
Using this approach,
will start automatically after the ppp dial-in user connects and logs in (perhaps using the
scripts or other
on the remote computer). The file options under the
directory should include general dial-in options for PPP service on your system, and specific options files (such as
for this example) should be created for each enabled dial-in port. For example,
There are many approaches to providing your own PPP service. IP addresses can be assigned dynamically, or a static IP address can be doled out for a user. For example,
In this example, the first IP address is for the host computer, whereas the second IP address will be assigned to the remote user. For details about configuring PPP for Linux, read the
manual page or documentation under the
directory. If you're a Linux developer, browse the source code files
If you elect to use a dial-in server, one of the problems you face when using it is that you are using a connection with narrower bandwidth. Wouldn't it be nice if you could strip out all the advertising images and compress the HTML pages before sending them over the modem? Here's how it can be done:
One approach is to use the Fedora Core-supplied
proxy server or squid proxy server to filter ads and the Ziproxy (http://ziproxy.sourceforge.net/) server to convert the images to smaller, low-quality images and compress the HTML pages before sending them on to the dial-in user. A Red Hat 9 version is available at http://www.ai.mit.edu/people/wang/ziproxy-1.2.rh9.tgz, as well as a statically compiled version (requires no additional files) at http://aleron.dl.sourceforge.net/
/ziproxy/ziproxy-1.2b-static.i586.tar.bz2. Ziproxy requires a library not provided by Red Hat or Fedora Core, libconfuse (available at http://www.nongnu.org/confuse/, where you'll find a src.rpm file to compile on your system; refer to Chapter 8, "On the Internet: Surfing the Web, Writing Email, and Reading the News," for information on compiling source RPM files).
Another approach is to use RabbIT (http://www.khelekore.org/rabbit/), a Java web proxy server that handles both
. The site mentions that 2.9MB of original data was compressed to 1.3MB and transmitted in 17 minutes instead of 75 minutes, a considerable saving. The site offers a Getting Started link on the main page describing downloading, installing, configuring, and using the application.
Both applications require ImageMagick to be installed to use the
function to process images into
version to save bandwidth.
Fedora Core's command-line name for its graphical Internet Connection Wizard.
An advanced serial port monitoring tool that supports data and fax modem operations with Linux.
Fedora Core's command-line name for the Network Configuration tool.
Red Hat's command-line name for its graphical Network Device Control tool.
Red Hat's command-line name for its Internet Connection Wizard.
Red Hat's command-line name for its graphical Network Configuration tool. It offers a graphical interface and a command-line interface (when used as