Fiz em um arquivo texto para fazer uns testes...
Por favor não deixe de comentar se estiver algo errado...
Criticas e sugestoes sempre é bem vinda!
Segue abaixo as regras
#Interfaces
IF_INTERNA="eth0"
IF_EXTERNA="eth1"
#Rede Interna
REDE_INTERNA="10.0.0.0/24"
#roteamento
echo "1"> /proc/sys/net/ipv4/ip_forward
#Limpando iptables
iptables -F
iptables -Z
iptables -X
iptables -F -t nat
iptables -X -t nat
iptables -F -t mangle
iptables -X -t mangle
# Conexão estabelida não é verificada novamente
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT
#Regras IF_EXTERNA
iptables -A INPUT -i $IF_EXTERNA -p tcp --syn --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -i $IF_EXTERNA --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -i $IF_EXTERNA --dport 80 -j ACCEPT
iptables -A OUTPUT -i $IF_EXTERNA -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -i $IF_EXTERNA -p udp --dport 43 -j ACCEPT
iptables -A OUTPUT -i $IF_EXTERNA -p udp --dport 43 -j ACCEPT
iptables -A INPUT -i $IF_EXTERNA -p tcp --dport 110 -j ACCEPT
iptables -A OUTPUT -i $IF_EXTERNA -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -i $IF_EXTERNA -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -i $IF_EXTERNA -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -i $IF_EXTERNA -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -i $IF_EXTERNA -p tcp --dport 443 -j ACCEPT
#Squid
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
#Rede Interna
iptables -A FORWARD -i $IF_INTERNA -p tcp --dport 3128 -j ACCEPT
iptables -A FORWARD -i $IF_INTERNA -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -i $IF_INTERNA -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -i $IF_INTERNA -p tcp --dport 443 -j ACCEPT
$IPT -t nat -A POSTROUTING -s $REDE_INTERNA -j MASQUERADE
#Fecha o resto
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP