smpppd as Dial-up Assistant

Some 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 desktop 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.

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, set this option to yes. smpppd listens on port 3185. If this parameter is set to yes, the parameters bind-address, host-range and password must be set accordingly.

bind-address = ip address

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

host-range = min ipmax 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 the smpppd(8) and smpppd.conf(5) man pages.

Configuring KInternet and cinternet for Remote Use

KInternet and cinternet can be used to control a local or remote smpppd. cinternet is the command-line counterpart of the graphical KInternet. 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 four options:

sites = list of sites

list of sites where the front-ends search for smpppd. The front-ends test the options in the order specified here. local orders the establishment of a connection to the local smpppd. gateway points to an smpppd on the gateway. config-file indicates that the connection should be established to the smpppd specified in the server and port options in /etc/smpppd-c.conf. slp orders the front-ends to connect to an smpppd found via SLP.

server = server

The host on which smpppd runs.

port = port

The port on which smpppd runs.

password = password

The password selected for smpppd.

If smpppd is active, try to access it. For example, with cinternet --verbose --interface-list. In case of difficulties at this point, refer to the smpppd-c.conf(5) and cinternet(8) man pages.