man linesrv.conf (Formats) - Linesrv configuration file

NAME

linesrv.conf - Linesrv configuration file

DESCRIPTION

This linesrv.conf configuration file is read by the Linesrv daemon upon starting. In this file it is possible to specify all the daemon properties such as binding address, start and stop command for connection. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.

linesrv is a program that...

GENERAL OPTIONS

The different configuration options are:

bind_to <ip addres>
the IP the server is listening on (currently only one ip).
port <port>
Used to specify the port used to listen to clients. The port may be specified as a number.UDP port 16007 is default.
user_accounting <yes|no>
If set to .Iyes only LCP3 (LineControl Protocol 3.x) clients will have access. You can control user access via the PAM system. See /etc/pam.d/linecontrol and /etc/pam.d/lcshutdown to know how limit access
pidfile <filename>
This file contains the linesrver pid. This file is never removed when shutting down the server, but is always over-written when the server restart.

LOGGING

Linesrv let you to log connection time on per-user base, per-line base, and let you to calculate the costs. Furthermore the server logs the same without IP when the connection gets closed (either by 'server' or 'manually') remember that multiple clients can use the connection at the same time. So the sum of the secs of the clients is not the one of the 'line ...' entries! (evidentelly... :) You can access the log by means of cgi-bin lclog.

logfile <filename>
With this option you can specify the file from the logparser read from. The default is /var/log/linesrv/dialsrv.log With 'logfile' you can log the ip, from time, to time and the seconds a client used the connection. You can parse the logfile with lclog, by pointing your web browser to http://<server-name>/cgi-bin/lclog
html_status <pipename>
This is a new feature in version 2.1.0. linesrv has to be able to write/read to/from that named pipe utility with htmlstatus which you can find in /usr/lib/cgi-bin/htmlstatus can read from that pipe. Attention: htmlstatus has to be run with the same user id set as the linesrv process so it can send a SIGUSR1 to linesrv. It could be ran as root. htmlstatus will read /etc/linesrv/linesrv.conf (compiled in for security reasons) and then look for the two keywords 'pid_file' and 'html_status'. Without these it won't work.

FILTERS

with filters you may decide whether a certain client may use dialsrv or not. if filter_type is allow, all clients in the list have access to the server, others don't. If it's deny, all but those in the list have access. Remember that UDP/IP is extremely easy to spoof. Use Clients without user accounting only on a trusted subnet and block the 'port' at your firewall.

filter_type allow
The only option is allow. For the moment it cannot not be used
filter_mask <ip> <bit-mask>
filter_ip <from> <to>
This options defines a netmask or a range of ip numbers that can connect to the server. It is possible to use more than once these keyword.
script_shutdown <filename>
Linesrv has a nice feature that permits to shutdown remotely the box running it. It can be made by using the keyword script_shutdown. This keyword does not support command line, so you can use a wrapper found in /usr/sbin/halt-wrapper.
limit_shutdown_ip <from> <to>
limit_shutdown_mask <ip> <bit-mask>
LineControl does also support TCP connections. They're much harder to spoof... but some bad boy can just take your own IP... You don't have to use filter_type or so again. The type of the shutdown-filter is always 'allow'. Only listed IPs are allowed to execute the script. The host has to pass the by filter_* specified list. So this list is additional and doesn't replace the other one.

LINE CONFIGURATION

With Linesrv you can configure several modem (or isdn) connection with several ISP. Every connection is know as "Line". Each Line has his own section.

line <name>
Define the start of Line <name>.
interface <interface>
specifies the network interface to watch to generate the throughput messages.
con_type <netdev|isdn|file>
How can we determine the status of the connection (only up / down). working with pppd. The network device (ex. ppp0) tells us about the connection status. If it's up, the connection is considered as up. If not, we believe that the con is closed. scans /dev/isdninfo for the connection status. You have to supply some more information about your isdn conf. see below. file exists the connection is considered as established. Let your script delete it after it closed the connection. This should be useful for people with a cablemodem. The problem is that you will get bad throughput messages if not all of the traffic goes through the 'interface' you specified. Probably you will specify 'eth0' as a dummy... because you have to specify an interface.
script_up <script_up>
script_dn <script_dn>
These directive shows the scripts that are used to get the interface up and down.
allow_manually yes
allow_manually defines whether linesrv should close a connection that got established without that linesrv called the script_up. So if you have for example a cron job which checks for a running linesrv, you can say "allow_manually no". This way linesrv will close a line that it left open before a crash. So the line gets closed when linesrv gets restarted. attention: if you have two lines with the same con_type and the same thing that tells us whether a line is up or down linesrv will consider one line as established by the server and the other one established manually. In this case you HAVE TO SET "allow_manually yes". If not, linesrv won't work well (it's a bug.).
script_esc <script_off>
after 'con_timeout' seconds This script should establish the basic constellation so we can call script_up again.
con_status_file <file>
If you selected cont_type_file your up/dn scripts will have to create/remove this file. Change the filename to suit your needs. It doesn disturb as long as you're not using 'con_type file'.
con_timeout <secs>
set con_timeout to something like 15 if you're using isdn after # secs, the connection-establishment gets abortet if the connection didn't get established.
send_throughput yes
DON'T set the following to 'no'! (Your clients won't run well...) probably this keyword will disapear in a coming version.

SEE ALSO

AUTHOR

This manual page was written by Marco Presi <mpresi@lugroma.org>, for the Debian GNU/Linux system (but may be used by others).