NAME
ser2net - Serial to network proxy
SYNOPSIS
ser2net [-c configfile] [-C configline] [-p controlport] [-n] [-d] [-b]
[-v] [-P pidfile]
DESCRIPTION
The ser2net daemon allows telnet and tcp sessions to be established
with a unit’s serial ports.
The program comes up normally as a daemon, opens the TCP ports
specified in the configuration file, and waits for connections. Once a
connection occurs, the program attempts to set up the connection and
open the serial port. If another user is already using the connection
or serial port, the connection is refused with an error message.
OPTIONS
-c config-file
Set the configuration file to one other than the default of
/etc/ser2net.conf
-C config-line
Handle a single configuration line. This may be specified
multiple times for multiple lines. This is just like a line in
the config file. This disables the default config file, you
must specify a -c after the last -C to have it read a config
file, too.
-n Stops the daemon from forking and detaching from the
controlling terminal. This is useful for running from init.
-d Like -n, but also sends the system logs to standard output. This
is most useful for debugging purposes.
-P pidfile
If specified, put the process id (pid) of ser2net in the
pidfile, replacing whatever was in that file previously. A
pidfile is not created by default, you must specify this to
create one. Note also that this filename must be specific with
the full path, as ser2net will change directory to "/" when it
becomes a daemon. when it
-u If UUCP locking is enabled, this will disable the use of UUCP
locks.
-b Cisco IOS uses a different mechanism for specifying the baud
rates than the mechanism described in RFC2217. This option sets
the IOS version of setting the baud rates. The default is
RFC2217’s.
-v Prints the version of the program and exits.
-p controlport
Enables the control port and sets the TCP port to listen to for
the control port. A port number may be of the form [host,]port,
such as 127.0.0.1,2000 or localhost,2000. If this is specified,
it will only bind to the IP address specified for the port.
Otherwise, it will bind to all the addresses on the machine.
If the port number is zero, that means that standard in/out will
be used for the only input/output, and only one port should be
specified in the config. This way, it can be used from inetd.
CONTROL PORT
The control port provides a simple interface for controlling the ports
and viewing their status. To accomplish this, it has the following
commands:
showport [<TCP port>]
Show information about a port. If no port is given, all ports
are displayed.
showshortport [<TCP port>]
Show information about a port, each port on one line. If no port
is given, all ports are displayed. This can produce very wide
output.
help Display a short list and summary of commands.
exit Disconnect from the control port.
version
Display the version of this program.
monitor <type> <tcp port>
Display all the input for a given port on the calling control
port. Only one direction may be monitored at a time. The type
field may be tcp or term and specifies whether to monitor data
from the TCP port or from the serial port Note that data
monitoring is best effort, if the controller port cannot keep up
the data will be silently dropped. A controller may only
monitor one thing and a port may only be monitored by one
controller.
monitor stop
Stop the current monitor.
disconnect <tcp port>
Disconnect the tcp connection on the port.
setporttimeout <tcp port> <timeout>
Set the amount of time in seconds before the port connection
will be shut down if no activity has been seen on the port.
setportconfig <tcp port> <config>
Set the port configuration as in the device configuration in the
/etc/ser2net.conf file. If conflicting options are specified,
the last option will be the one used. Note that these will not
change until the port is disconnected and connected again.
Options 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
set the various baud rates. EVEN, ODD, NONE set the parity.
1STOPBIT, 2STOPBITS set the number of stop bits. 7DATABITS,
8DATABITS set the number of data bits. [-]XONXOFF turns on (-
off) XON/XOFF support. [-]RTSCTS turns on (- off) hardware flow
control. [-]LOCAL ignores (- checks) the modem control lines
(DCD, DTR, etc.)
setportcontrol <tcp port> <controls>
Modify dynamic port controls. These do not stay between
connections. Controls are: DTRHI, DTRLO Turns on and off the
DTR line. RTSHI, RTSLO Turns on and off the RTS line.
setportenable <tcp port> <enable state>
Sets the port operation state. Valid states are: off to shut
the TCP port down, raw to enable the TCP port transfer all I/O
as-is, rawlp to enable the TCP port input and device output
without termios setting, and telnet to enable the TCP port is up
run the telnet negotiation protocol on the port.
CONFIGURATION
Configuration is accomplished through the file /etc/ser2net.conf. A
file with another name or path may be specified using the -c option, or
individual config lines may be specified with the -C option. This
file consists of one or more entries with the following format:
<TCP port>:<state>:<timeout>:<device>:<options>
or
BANNER:<banner name>:<banner text>
FIELDS
TCP port
Name or number of the TCP/IP port to accept connections from
for this device. A port number may be of the form [host,]port,
such as 127.0.0.1,2000 or localhost,2000. If this is specified,
it will only bind to the IP address specified for the port.
Otherwise, it will bind to all the ports on the machine.
state Either raw or rawlp or telnet or off. off disables the port
from accepting connections. It can be turned on later from the
control port. raw enables the port and transfers all data as-is
between the port and the long. rawlp enables the port and
transfers all input data to device, device is open without any
termios setting. It allow to use /dev/lpX devices and printers
connected to them. telnet enables the port and runs the telnet
protocol on the port to set up telnet parameters. This is most
useful for using telnet.
timeout
The time (in seconds) before the port will be disconnected if
there is no activity on it. A zero value disables this
funciton.
device The name of the device to connect to. This must be in the
form of /dev/<device>.
device configuration options
Sets operational parameters for the serial port. Values may be
separated by spaces or commas. Options 300, 1200, 2400, 4800,
9600, 19200, 38400, 57600, 115200 set the various baud rates.
EVEN, ODD, NONE set the parity. 1STOPBIT, 2STOPBITS set the
number of stop bits. 7DATABITS, 8DATABITS set the number of
data bits. [-]XONXOFF turns on (- off) XON/XOFF support.
[-]RTSCTS turns on (- off) hardware flow control. [-]LOCAL
ignores (- checks) the modem control lines (DCD, DTR, etc.)
[-]HANGUP_WHEN_DONE lowers (- does not lower) the modem control
lines (DCD, DTR, etc.) when the connection closes. NOBREAK
Disables automatic clearing of the break setting of the port.
remctl allows remote control of the serial port parameters via
RFC 2217. See the README for more info. <banner name> displays
the given banner when a user connects to the port.
banner name
A name for the banner; this may be used in the options of a
port.
banner text
The text to display as the banner. This may contain normal "C"
escape strings, and it may also contain, \d for the device name,
\p for the TCP port number, and \s for the serial port
parameters (eg 9600N81) of the given connection.
Blank lines and lines starting with ‘#’ are ignored.
SECURITY
ser2net uses the tcp wrappers interface to implement host-based
security. See hosts_access(5) for a description of the file setup.
Two daemons are used by ser2net, "ser2net" is for the data ports and
"ser2net-control" is for the control ports.
SIGNALS
SIGHUP
If ser2net receives a SIGHUP, it will reread it configuration file
and make the appropriate changes. If an inuse port is changed or
deleted, the actual change will not occur until the port is
disconnected.
Error
Almost all error output goes to syslog, not standard output.
FILES
/etc/ser2net.conf
SEE ALSO
telnet(1), hosts_access(5)
KNOWN PROBLEMS
None.
AUTHOR
Corey Minyard <minyard@acm.org>