Хорошо, вот один из способов сделать это:
Это должно быть вашим первым правилом ввода, а остальные правила можно добавлять по мере необходимости:
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Вы можете сделать так, чтобы цепочка вывода принимала все исходящие пакеты по умолчанию и удаляла все существующие там правила, при условии, что вы доверяете своим пользователям выходящий трафик.
iptables -P OUTPUT ACCEPT
Теперь примите yahoo.com, прежде чем он будет перенаправлен на прокси в цепочке предварительной маршрутизации.
iptables -t nat -I PREROUTING -p tcp -d www.yahoo.com -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-port 3128
Вам также понадобится следующее правило маскарада.
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d www.yahoo.com -p tcp -m multiport --dports 80,443 -j MASQUERADE
Замените серию 192.168.1.x фактическим диапазоном IP-адресов.