22.6. smpppd as Dial-up Assistant

Most home users do not have a dedicated line connecting them to the Internet. Instead, they use dial-up connections. Depending on the dial-up method (ISDN or DSL), the connection is controlled by ipppd or pppd. Basically, all that needs to be done to go online is to start these programs correctly.

If you have a flat-rate connection that does not generate any additional costs for the dial-up connection, simply start the respective daemon. Control the dial-up connection with a KDE applet or a command-line interface. If the Internet gateway is not the host you are using, you might want to control the dial-up connection by way of a network host.

This is where smpppd is involved. It provides a uniform interface for auxiliary programs and acts in two directions. First, it programs the required pppd or ipppd and controls its dial-up properties. Second, it makes various providers available to the user programs and transmits information about the current status of the connection. As smpppd can also be controlled by way of the network, it is suitable for controlling dial-up connections to the Internet from a workstation in a private subnetwork.

22.6.1. Configuring smpppd

The connections provided by smpppd are automatically configured by YaST. The actual dial-up programs KInternet and cinternet are also preconfigured. Manual settings are only required to configure additional features of smpppd, such as remote control.

The configuration file of smpppd is /etc/smpppd.conf. By default, it does not enable remote control. The most important options of this configuration file are:

open-inet-socket = <yes|no>

To control smpppd via the network, this option must be set to yes. The port on which smpppd listens is 3185. If this parameter is set to yes, the parameters bind-address, host-range, and password should also be set accordingly.

bind-address = <ip>

If a host has several IP addresses, use this parameter to determine at which IP address smpppd should accept connections.

host-range = <min ip> <max ip>

The parameter host-range defines a network range. Hosts whose IP addresses are within this range are granted access to smpppd. All hosts not within this range are denied access.

password = <password>

By assigning a password, limit the clients to authorized hosts. As this is a plain-text password, you should not overrate the security it provides. If no password is assigned, all clients are permitted to access smpppd.

slp-register = <yes|no>

With this parameter, the smpppd service can be announced in the network via SLP.

More information about smpppd is available in man 8 smpppd and man 5 smpppd.conf.

22.6.2.  Configuring KInternet, cinternet, qinternet for Remote Use

KInternet, cinternet, and qinternet can be used to control a local or remote smpppd. cinternet is the command-line counterpart of the graphical KInternet. qinternet is basicallly the same as KInternet, but does not use the KDE libraries, so it can be used without KDE and must be installed separately. To prepare these utilities for use with a remote smpppd, edit the configuration file /etc/smpppd-c.conf manually or using KInternet. This file only uses three options:

sites = <list of sites>

Here, tell the front-ends where to search for smpppd. The front-ends test the options in the order specified here. The local option orders the establishment of a connection to the local smpppd. gateway points to an smpppd on the gateway. The connection should be established as specified under server in config-file. slp orders the front-ends to connect to an smpppd found via SLP.

server = <server>

Here, specify the host on which smpppd runs.

password = <password>

Insert the password selected for smpppd.

If smpppd is active, you can now try to access it, for example, with cinternet --verbose --interface-list. If you experience difficulties at this point, refer to man 5 smpppd-c.conf and man 8 cinternet.

SUSE LINUX Administration Guide 9.3