O "-j REDIRECT --to-port 3128" só funciona quando SQUID e gateway são a mesma máquina.
Quando o gateway é uma outra máquina Linux, ao invés disso usa-se "-j DNAT --to ip-do-proxy:3128". Ao mesmo tempo, é preciso tomar cuidado de não redirecionar quando a origem é o próprio proxy, para não criar um loop infinito.
Só que não é muito comum que o gateway seja uma máquina Linux. O mais comum é ser um roteador wireless, que normalmente não oferece a opção de redirecionamento.