Может и сквид виноват... Я уже сквидом не пользуюсь.
У меня рабочий вариант выглядит так
iptables -t mangle -A FORWARD -o eth1 -s ! 192.168.2.0/24 -d 192.168.2.29 -j MARK --set-mark 29
iptables -t mangle -A FORWARD -o eth1 -s ! 192.168.2.0/24 -d 192.168.2.0/24 -j RETURN
iptables -A FORWARD -p tcp -i eth1 -s 192.168.2.29 -m multiport --dport 80,8000,443,5190,25,465,110,995,5222 -j ACCEPT
iptables -A FORWARD -p tcp -o eth1 -d 192.168.2.29 -m multiport --sport 80,8000,443,5190,25,465,110,995,5222 -j ACCEPT
+ SNAT или MASQUERADE
файл /etc/sysconfig/htb/eth1-2:229.l29
BURST=50Kb
RATE=150Kbit
CEIL=1500Kbit
LEAF=sfq
PRIO=1
MARK=29
Всё работает.