What Linux kernels/etc will transparent mode work on?
• Known to work on Linux 2.2 when Transparent Proxy option is compiled into the kernel. • References for 2.4 kernel that say it’s not possible: • See this linux-kernel archive. • Reference for 2.4 kernel that say it is possible: • See http://www.unxsoft.com/TransparentProxy.html • Use the cttproxy patch. According to http://www.balabit.hu/en/downloads/tproxy/README.txt: In Linux 2.2 this was accomplished by bind()-ing to a foreign address prior calling connect(), and it worked. In this tproxy patch it is done somewhat similar to the case 2 outlined above. * the proxy binds to a local address first * the proxy then issues an IP_TPROXY_ASSIGN setsockopt. IP_TPROXY_ASSIGN registers the local address the proxy bound to, with the foreign address it wants its source address to be changed to. This relationship is stored in a hash table within the iptable_tproxy module. * as a final step the proxy instructs the kernel that it wants to initiate a connection, this is done by calling an IP_TPROXY