O que você precisa é um pouco semelhante a minha resposta em uma pergunta antiga. Implementei software que precisava de conexões para todas as portas e de conexões de vários IPs diferentes. Esses são dois requisitos diferentes, mas acontece que eles podem ser alcançados de maneiras muito semelhantes.
Para receber conexões para muitos números de portas em um único soquete, você precisa usar a opção IP_TRANSPARENT
no soquete e TPROXY
no iptables.
De acordo com link , isso é suportado no Squid 3.1 ou posterior.
A configuração do iptables precisará ser um pouco diferente no seu caso. Você precisará de uma entrada mais ou menos assim na tabela mangle
:
-A PREROUTING -d 192.0.2.42 -p tcp -m tcp --dport 80:65535 -j TPROXY --on-port 3129
Você precisará ajustar o endereço IP e os números de porta para atender às suas necessidades.