parse_n_postrouting () {
grep -v "#" $CONF_DIR/nat/postrouting/* | grep -v "^$" | while read j
do
NO_IFACE_SAIDA=`echo $j | awk -F, '{ print $1 }'`
if [ ! -z $NO_IFACE_SAIDA ]
then
NO_IFACE_SAIDA="-o $NO_IFACE_SAIDA"
fi
NO_PROTO=`echo $j | awk -F, '{print $2 }'`
if [ ! -z $NO_PROTO ]
then
NO_PROTO="-p $NO_PROTO"
else
NO_PROTO="-p tcp"
fi
NO_IP_ORIGEM=`echo $j | awk -F, '{ print $3 }'`
if [ ! -z $NO_IP_ORIGEM ]
then
NO_IP_ORIGEM="-s $NO_IP_ORIGEM"
else
NO_IP_ORIGEM="-s 0/0"
fi
NO_PORTA_ORIGEM=`echo $j | awk -F, '{ print $4 }'`
if [ ! -z $NO_PORTA_ORIGEM ]
then
NO_PORTA_ORIGEM="--sport $NO_PORTA_ORIGEM"
else
NO_PORTA_ORIGEM="--sport 1024:"
fi
NO_IP_DEST=`echo $j | awk -F, '{ print $5 }'`
if [ ! -z $NO_IP_DEST ]
then
NO_IP_DEST="-d $NO_IP_DEST"
else
NO_IP_DEST="-d 0/0"
fi
NO_PORTA_DEST=`echo $j | awk -F, '{ print $6 }'`
if [ ! -z $NO_PORTA_DEST ]
then
NO_PORTA_DEST="--dport $NO_PORTA_DEST"
fi
NO_ACAO=`echo $j | awk -F, '{ print $7 }'`
if [ -z $NO_ACAO ]
then
NO_ACAO="MASQUERADE"
fi
NO_IP_TRAD=`echo $j | awk -F, '{ print $8 }'`
if [ -z $NO_IP_TRAD ]
then
if [ "$NO_ACAO" != "MASQUERADE" ]
then
continue
fi
else
NO_ACAO="SNAT --to $NO_IP_TRAD"
fi
if [ $DEBUG -eq 0 ]
then
$IPT -t nat -A POSTROUTING $NO_IFACE_SAIDA $NO_PROTO $NO_IP_ORIGEM $NO_PORTA_ORIGEM $NO_IP_DEST $NO_PORTA_DEST -j $NO_ACAO
else
echo $IPT -t nat -A POSTROUTING $NO_IFACE_SAIDA $NO_PROTO $NO_IP_ORIGEM $NO_PORTA_ORIGEM $NO_IP_DEST $NO_PORTA_DEST -j $NO_ACAO
fi
done
}
[5] Comentário enviado por removido em 06/02/2008 - 20:14h
Putz...
Ta d brincadeira q esses milhões de arquivos nem são comentados pra poder dar noção pra quem vai usar, do q ta fazendo....
A ideia pode ser boa, mas um pouco complicada demais pra algo q costumamos fazer em 1 so script... como yusuke disse, é um verdadeiro assassinato a filosofia K.I.S.S. (Keep It Simple Stupid).
[8] Comentário enviado por mattiell00 em 07/02/2008 - 01:40h
Brother sua intenção com certeza foi das melhores, em repassar conhecimento!! parabens!!!
mas nem o Marion Bates, Chris Brenton, e William Stearns juntos conseguem entender direito os scripts!!!!!
porem o que vale é a intenção!!!! por tanto valeu mesmo "apesar da piadinha" que foi só p descontrair !!! hehehehehehe
[9] Comentário enviado por teixeira em 13/02/2008 - 22:33h
Bom, foi um verdadeiro firewall para o meu entendimento (não consegui entender NADA - hehehehehe).
Mas vou guardar o artigo, que deverá ser útil para mim algum dia.
Valeu!
Desculpe a bincadeira, e continue partilhando informações com a comunidade.
[10] Comentário enviado por pedroarthur.jedi em 25/02/2008 - 19:31h
Rapaz, siceramente, desconsiderando o NAT e o uso de aMule e afins:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW -j ACCEPT