The tcpproxy program is a tool that functions as a proxy, tunnel, or redirector for TCP/IP protocols, managing and forwarding network traffic to improve connectivity and security.
Some of the key features include extensive logging to syslog, interface-based configuration, the ability to bind to a particular interface on a multi-homed host, set's environment variables before calling a local server program, support for external access control programs, and can be started from inetd or run in standalone mode.
The purpose of tcpproxy is designed to be a transparent TCP proxy. When used to start local server programs, such as an FTP server, it can also operate as a "port multiplexer" since it requires different configurations for different interfaces.
Tcpproxy's services are always bound to a specific interface, which is useful for multi-homed hosts. For example, if a firewall has the IP numbers 192.168.0.1 and 10.11.12.13, the configuration can forward any connection made to the local interface on the NNTP port to the machine news.provider.com, simulating that the provider's news server is running on the firewall.
Tcpproxy applies access control by calling external user-provided scripts, called "access control programs" or "acp's," to deny service usage based on an entity other than the client's IP number or name.
Overall, tcpproxy is a powerful tool suitable for those who want to operate a firewall with multiple interfaces and require a transparent TCP proxy dynamically.
Version 2.0.0 Beta 15: N/A