Reference

mserver.conf(5)

configuration file for mserver

NAME

mserver.conf - configuration file for mserver

SYNOPSIS

mserver.conf

DESCRIPTION

The mserver.conf file is a configuration file for the Masqdialer server. The HTML documentation is the authoritative source, this man page may or may not be up to date.

The masqdialer system is designed to provide easily accessible control of multiple dialout modem connections to the members of a LAN using IP Masquerade for their internet connectivity. The server utilizes standard dialing tools to make the connection (such as pppd and chat) to make the connection so you can easily setup the server to use your existing scripts. The system is a client/server design, so as long as a client can be written for a particular platform, that platform can take advantage of masqdialer's offerings. The masqdialer daemon (mserver) runs on the linux machine, and upon an authorized client request, carries out the user's request.

FILE FORMAT

The mserver.conf file consists of key value pairs. Each line in the file should contain a key, equal sign ("="), and then a value. The Masqdialer server parses this file one line at a time ignoring blank lines and comments. Comments begin with a pound sign ("#") and continue until the end of the line. For the value you must use quotes if there is a space or any other special character. If the value is a single word you have the option of including quotes.

The configuration file is parsed as ASCII text, even though a value may only make sense as an integer the text you enter. Some variables are always parsed as integers, if you enter a non integer value the default will be used. Some variables are considered boolean, for these values you may enter true or false, any other values will cause the default to be used.

PARAMETERS

authfile

What file contains the username/password combinations. It is in the of /etc/passwd. You might want to choose something else as your file since transmitting unix passwords over the network in the clear is a bad thing. You can use the provided authgen utility to setup an authorization file.

chatstr

What should we look for in the logfile to decide what a chat string is? I don't know why you would want to change this, but put it in for completeness since you can select the pppd string.

checkhost

What host should we make sure is active when performing a linkcheck? I suggest using an IP number instead of a hostname to expedite the operation, this gets performed a lot and the longer it takes for it to happen the more frustrated a user will get.

clientup

What script should we run just after a client connects? The script is passed the client hostname.

clientdown

What script should we run just after a client disconnects? The script is passed the client hostname.

cname

What are the names of our connections? The order that they are listed is the order that LIST will use, the first one is the default connection for some clients.

cspeed

How fast is your modem, this is a fallback if the server can not find your speed, or if you have speedsearch set to false.

debugport

f you have the DEBUG flag set which port should the server listen to, I use 2222 since it is unpriveleged (how you should try and develop if possible).

demon

Do we fork into the background and close stdin, stdout, and sterr?

devfile

What file should we look for netdevices in?

goodcode

What code do we want our linkcheck command to return. This is most likely zero.

history

The location of the file containing the version history that is returned by the HISTORY command.

info

This is a string that is displayed when CINFO is called, it isn't actually used for any dialing, but just for cosmetics. The clients may eventually depend on this so I suggest setting it.

ipallow

What IP addresses are allowed to manipulate this connection. You are allowed up to 10 different masks separated by colons. You must either use the real numbers or a '*' to match any in each quad. You must specify all of the quads# that is '*' wouldn't work but '*.*.*.*' would. This will allow a machine to dial, kill, and configure the connection.

ipallow_config

What IP addresses are allowed to configure this connection.

ipallow_connect

What IP addresses are allowed to dial out this connection.

ipallow_disconnect

What IP addresses are allowed to disconnect out this connection.

kill

Kill is the action used to bring the connection down. It can be defined as "internal" or a program to run. Internal only works for pppd connections and will kill the process that is locking the modem. If you do not use pppd or internal does not work for you then you should define a script. You should also have a script that will bring down any connection for the global kill variable.

killsig

The signal to use when killing PPPD for an internal shutdown method, you need to preface it with a "-" since this is the second argument to the kill command.

license

The location of the file containing the LICENSE that is returned by the LICENSE command. You should have recieved a copy of the GPL with this program.

linkcheck

What command should we use to check the link status? If the link is good it should return 0, otherwise it should return a non-zero value. This is used as the string to snprintf, the %s will be replaced with the checkhost which is defined below.

listen_on

Which interface does the server listen on. Default is 0.0.0.0, which means the server listens on ALL interfaces. Only one interface can be specified at the moment (e.g., listen_on = "192.168.1.1").

lock_pendingkill

Accept hangup requests when locked and kill connection when the last KILL lock is released?

lockfile

What is the lockfile for your modem, dial out as normal and then look in /var/lock

logfile

Where do pppd and chat spit out their messages?

logtimeount

How long will we try to look at the PPPD logfile before giving up?

multiclientdisconnect

If there is more than one client is one of them allowed to hangup the connection?

netdev

What is the name of your interface that exists when and only when you are connected?

parselog

What should we do to parse the logfile to give interactive output? Valid options are pppd, ipppd, or none.

port

Which port does the server listen on, by default this should be 222 unless you have a compelling reason to make it something else.

pppdstr

What should we look for in the logfile to decide what a (I)PPPD string is? If you have a normal modem this is most probably "pppd[", however if you use IPPPD this may be "pppd[" or "ipppd[".

script

What is the command you use to bring up the connection, this can be a script or you can call pppd directly.

shadow

Should we use shadow passwords? This requires that you run the daemon as root and that you use the account names in /etc/passwd. This is probably not as good as a separate authorization file because the passwords are being sent over the network, but it is convenient. If you use this option the authfile will be ignored and the server will use the functions in shadow.h!

slimit

How many clients can we have waiting on the incoming queue before they get locked out?

speedsearch

Should we search the PPP logfile for the connect speed (this should be set to true for optimal operation).

stattype

What version of getstat should we use? pppdlock, pppdpid, netdev, lockonly and exitcode are your choices if you are using PPP then you should really use pppdlock. "pppdpid" will check for a specific PID of pppd instead of checking whether a specific line has PPPD running for it. "netdev" will search for a specific interface. If you want to check if a file simply exists then use lockonly. Exitcode will execute a program and if it returns the value in goodcode then the link will count as being up.

statwait

How long after doing something to the connection should we wait to try a stat method?

userallow

What users are allowed to manipulate this connection? "*" or "" will allow any user to manipulate it, otherwise provide a comma separated list of users. This will allow a user to connect, disconnect, and configure the connection.

userallow_connect

What users are allowed to dial out this connection?

userallow_disconnect

What users are allowed to kill this connection?

userallow_config

What users are allowed to configure this connection?

whoauth

Should we provide who information to only validated users?

zeroclientdisconnect

Should we disconnect if we are not currently serving any clients?

SEE ALSO

mserver(8), The Masqdialer system is documented fully by Masqdialer Server, available at http://cpwright.com/mserver/.

AUTHOR

If you need to get additional help use the mailing list. Email a message with subscribe in the body to [email protected]. Post to [email protected].