Ana_Damasceno
(usa Debian)
Enviado em 22/05/2015 - 13:49h
#!/bin/bash
echo "\n Limpando regras \n"
iptables -X
iptables -F
iptables -X -t nat
iptables -F -t nat
iptables -X -t mangle
iptables -F -t mangle
#iptables -P FORWARD ACCEPT
echo "OK \n"
#Criar uma nova regra
iptables -N PERMITIDO
iptables -A PERMITIDO -p tcp --syn -m state --state NEW -j ACCEPT
iptables -A PERMITIDO -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A PERMITIDO -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A PERMITIDO -p tcp -j DROP
#Fim da regra
echo "Carregando politicas padrao \n"
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
echo "OK \n"
#variaveis
WAN="eth1"
LAN1="eth0"
#LAN2="eth2"
#IPS=/firewall/ips.txt
echo "Começo das liberações \n"
echo "Liberar DNS \n"
iptables -A INPUT -p udp --dport 53 -j PERMITIDO
iptables -A INPUT -p udp --sport 53 -j PERMITIDO
echo "OK \n"
echo "Liberar entrada de serviços basicos"
#iptables -t filter -A INPUT -i $WAN -m mac --mac-source 00:0B:AB:55:4A:A8 -j DROP
#iptables -t filter -A INPUT -i $WAN -m mac --mac-source 7C:05:07:94:56:60 -j DROP
#iptables -A FORWARD -p udp -i $WAN -j DROP
#iptables -A FORWARD -p tcp -i $WAN -j DROP
iptables -A INPUT -p tcp -i $WAN --dport 3128 -j DROP
#iptables -A INPUT -p udp -i $WAN --dport 53 -j DROP
iptables -A INPUT -p tcp -i $LAN1 -m multiport --dport 25,110,80,443,22,21,10000,3128,53 -j PERMITIDO
iptables -A INPUT -p tcp -i $LAN1 -m multiport --sport 25,110,80,443,22,21,10000,3128,53 -j PERMITIDO
echo "OK"
#libera acesso local
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -i lo -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
#aceita ping
#echo "Liberando ping para interfaces internas apenas \n"
#iptables -A INPUT -i $LAN1 -p icmp -j ACCEPT
#iptables -A INPUT -i $LAN1 -p icmp -j ACCEPT
#iptables -A FORWARD -i $WAN -p icmp -j DROP
#iptables -A PREROUTING -i $WAN -p icmp -j DROP
#iptables -A POSTROUTING -i $WAN -p icmp -j DROP
#echo "OK \n"
#Bloquear acesso externo ao proxy - cliente apenas na rede interna
#iptables -A INPUT -p tcp -i $WAN --dport 3128 -j DROP
#iptables -A INPUT -i $WAN -j DROP
#Marcacao de pacotes para o cache full
#echo "Habilitando marcação de pacotes para ZPH"
#iptables -A OUTPUT -t mangle -m tos --tos 0x04 -j MARK --set-mark 0x04
#echo "OK"
#redirecionamento para proxy transparente apenas para clientes em atraso
#lista externa de IPS gerada pelo mysql
#for i in $IPS;do
#iptables -t nat -A PREROUTING -i eth1 -p tcp -s $i --dport 80 -j REDIRECT --to-port 3128
#done
#redirecionamento para proxy transparente
#iptables -t nat -A PREROUTING -i $LAN1 -p tcp --dport 80 -j REDIRECT --to-port 3128
#liberar nat com mascaramento
iptables -t nat -A POSTROUTING -s 10.0.104.0/24 -o $WAN -j MASQUERADE
#iptables -t mangle -A FORWARD -p tcp -s 192.168.2.0/24 ! --dport 80 -j MARK --set-mark 0x04
#iptables -P FORWARD ACCEPT
#liberar saida
iptables -A OUTPUT -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward