#!
/bin/bash
IPT=/sbin/iptables
LAN="[Link]/24"
FILIAL="[Link]/24"
CLI="1024:65535"
inicia() {
# define politica padrao
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
# ativa tratamento de estados
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# libera ping local
$IPT -A OUTPUT \
-p icmp \
-s [Link] \
-d [Link] \
-j ACCEPT
# acesso LAN a Internet
$IPT -A FORWARD -m state --state NEW \
-p tcp -i eth1 -o eth0 \
-s $LAN --sport $CLI \
-d 0/0 --dport 80 \
-j ACCEPT
$IPT -A FORWARD -m state --state NEW \
-p tcp -i eth1 -o eth0 \
-s $LAN --sport $CLI \
-d 0/0 --dport 443 \
-j ACCEPT
# acesso FILIAL a Internet
$IPT -A FORWARD -m state --state NEW \
-p tcp -i eth2 -o eth0 \
-s $FILIAL --sport $CLI \
-d 0/0 --dport 80 \
-j ACCEPT
$IPT -A FORWARD -m state --state NEW \
-p tcp -i eth2 -o eth0 \
-s $FILIAL --sport $CLI \
-d 0/0 --dport 443 \
-j ACCEPT
# acesso das maquinas ao DCTF
$IPT -A FORWARD -m state --state NEW \
-p tcp -i eth1 -o eth0 \
-s $LAN --sport $CLI \
-d 0/0 --dport 4567 \
-j ACCEPT
# recibo de entrega do DCTF
$IPT -A FORWARD -m state --state NEW \
-p tcp -i eth0 -o eth1 \
-d [Link] --dport 20000:20019 \
-j ACCEPT
$IPT -A FORWARD -m state --state NEW \
-p tcp -i eth0 -o eth1 \
-d [Link] --dport 20000:20019 \
-j ACCEPT
# faz o NAT de saida dos acessos Internet
$IPT -t nat -A POSTROUTING \
-p tcp -o eth0 \
--dport 80 \
-j MASQUERADE
$IPT -t nat -A POSTROUTING \
-p tcp -o eth0 \
--dport 443 \
-j MASQUERADE
# faz o NAT de saida do DCTF
$IPT -t nat -A POSTROUTING \
-p tcp -o eth0 \
-s [Link] \
--dport 4567
\
-j SNAT --to [Link]
# nat de entrada correspondente
$IPT -t nat -A PREROUTING \
-p tcp -i eth0 \
-d [Link] --dport 20000
:20019 \
-j DNAT --to [Link]
# faz o NAT de saida do DCTF
$IPT -t nat -A POSTROUTING \
-p tcp -o eth0 \
-s [Link] \
--dport 4567
\
-j SNAT --to [Link]
# nat de entrada correspondente
$IPT -t nat -A PREROUTING \
-p tcp -i eth0 \
-d [Link] --dport 20000
:20019 \
-j DNAT --to [Link] }
para()
{
# apaga regras da tabela filter
$IPT -F
# relaxa a politica padrao
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
}
case
"$1
" in
"start"
)
inicia
;;
"stop"
)
para
;;
esac