Вообще в таких случаях читают iptables tutorial для emul и voip портов не знаю.
x.x.x.x - ip клиента
y.y.y.y - ip сервера, который с двумя интерфесками, причем это ip который смотрит во внутрь.
#!/bin/bash
iptables -F
iptables -t nat -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m multiport --dport 22,25,80,110,443,3128 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -m multiport --dport 22,25,80,110,443,3128 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ! ESTABLISHED,RELATED -j LOG
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -j ACCEPT
iptables -A INPUT -i eth1 -p tcp -m multiport --dport 22,25,80,110,443,3128 -j ACCEPT
iptables -A INPUT -i eth1 -p udp -m multiport --dport 22,25,80,110,443,3128 -j ACCEPT
iptables -A INPUT -i eth1 -p icmp -j ACCEPT
iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s x.x.x.x -p tcp -m multiport --dport 25,110,5190 -j ACCEPT
iptables -A FORWARD -s x.x.x.x -p udp -m multiport --dport 25,110,5190 -j ACCEPT
iptables -A FORWARD -d x.x.x.x -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s x.x.x.x -j MASQUERADE
iptables -t nat -A PREROUTING -s x.x.x.x -d ! y.y.y.y -p tcp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s x.x.x.x -d ! y.y.y.y -p udp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s x.x.x.x -d ! y.y.y.y -p tcp -m multiport --dport 8082,8083,8091,8100,8101,8102,8103,8080,8888,777 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s x.x.x.x -d ! y.y.y.y -p udp -m multiport --dport 8082,8083,8091,8100,8101,8102,8103,8080,8888,777 -j REDIRECT --to-port 3128