RINETD(8) Unix System Manager's Manual RINETD(8)

NAME

rinetd -- internet ``redirection server''

SYNOPSIS

/usr/sbin/rinetd

VERSION

Version 0.41, 2/11/1998.

WHERE TO GET

By anonymous FTP from ftp.boutell.com in the subdirectory boutell/rinetd as the file rinetd.tar.gz.

DESCRIPTION

Redirects TCP connections from one IP address and port to another. rinetd is a single-process server which handles any number of connections to the address/port pairs specified in the file /etc/rinetd.conf. Since rinetd runs as a single process using nonblocking I/O, it is able to redirect a large number of connections without a severe impact on the machine. This makes it practical to run TCP services on machines inside an IP masquerading firewall.

rinetd should be launched at boot time, using the following syntax:

/usr/sbin/rinetd

The format of /etc/rinetd.conf is as follows:

bindaddress bindport connectaddress connectport

For example:

206.125.69.81 80 10.1.1.2 80

Would redirect all connections to port 80 of the "real" IP address 206.125.69.81, which could be a virtual interface, through rinetd to port 80 of the address 10.1.1.2, which would typically be a machine on the inside of a firewall which has no direct routing to the outside world.

Service names can be specified instead of port numbers. On most systems, service names are defined in the file /etc/services.

Both IP addresses and hostnames are accepted for bindaddress and connectaddress.

rinetd redirects TCP connections only. There is no support for UDP.

The kill -1 signal (SIGHUP) can be used to cause rinetd to reload its configuration file without interrupting existing connections (this was added in version 0.4). Under Linux\(tm the process id is saved in the file \fI/var/run/rinetd.pid\fR to facilitate the kill -HUP (added in version 0.41).

BUGS

rinetd does not currently produce any log information. The server redirected to is not able to identify the host the client really came from. Sockets would theoretically lose data when closed with SO_LINGER turned off, but in Linux this is not the case (kernel source comments support this belief on my part). On non-Linux platforms, alternate code which uses a different trick to work around blocking close() is provided, but this code is untested. The manpage is sketchy.

LICENSE

Copyright (c) 1997, 1998, Thomas Boutell and Boutell.Com, Inc. This software is released for free use under the terms of the GNU Public License, version 2 or higher.

CONTACT INFORMATION

See the rinetd web page for the latest release. Thomas Boutell can be reached by email: boutell@boutell.com

THANKS

Thanks are due to Bill Davidsen.