tcpproxy - Transparent TCP Proxy
tcpproxy is a proxy (or tunnel or redirector) for TCP/IP protocols. In standalone mode it waits for incoming connections forwarding them to another machine or starting a local server program. Several programs with this function or something similiar are around. However, tcpproxy's design goal was to let it operate on some kind of firewall. So among it's features are:
- extensive logging to syslog,
- interface based configuration,
- can serve requests on only a particular interface on a multi-homed host,
- can start local server program,
- sets environment variables before calling a local server program,
- support for external access control programs,
- can handle transparent redirected connections from iptables,
- access control based on client IP number,
- can be started from inetd or run in standalone mode.
tcpproxy was created with a transparent TCP proxy in mind. When it's used to start local server programs (e.g. an FTP server) it can however also work as "port multiplexer" since it requires different configurations for different interfaces (there are no defaults).
For detailed information see tcpproxy's manpage that comes with the package.