Boa tarde pessoal. Eu estou tendo problemas no firewall , com as regras de iptables. Preciso que alguns sites não passem pelo Proxy Squi. Peguei alguns exemplos aqui na net e coloquei nesse script. Mas os sites que estou querendo que não passe pelo Proxy, continuam indo para o Squid, consequentemente me trazendo problemas. Eu estou colocando esse script aqui, para que quem puder olhar, ver aonde está o erro desse script. Desde já fico grato, a quem puder dar alguma dica.
#!/bin/sh
#Configuracao do Firewall atraves do iptables
#
#Declaracao de variaveis
PATH=/sbin:/bin:/usr/sbin:/usr/bin
IPTABLES="/sbin/iptables"
MACLIST="/root/firewall/macsliberadosfirewall"
PROGRAMA="/root/firewall/rc.firewall.eletrominas"
HOSTNAME="Eletrominas"
#
#portas liberadas e bloqueadas
PORTSLIB="/root/firewall/portslib.txt"
#
#Interfaces de Rede
LAN="eth1"
WAN="eth0"
REDE="192.168.1.0/24"
REDE_BCAST="192.168.1.255"
#
# Os diversos modulos do iptables sao chamados atraves do modprobe
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_MASQUERADE
modprobe ipt_state
modprobe ipt_multiport
modprobe iptable_mangle
modprobe ipt_tos
modprobe ipt_limit
modprobe ipt_mark
modprobe ipt_MARK
case "$1" in
start)
#mensagem de inicializacao
clear
echo
echo "=========================================================|"
echo "|:INICIANDO A CONFIGURACAO DO FIREWALL NETFILTER ATRAVES:|"
echo "|: DO IPTABLES :|"
echo "=========================================================|"
$IPTABLES -F
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -t mangle -F
$IPTABLES -t nat -F
$IPTABLES -X
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
# ativar o redirecionamento no arquivo ip_forward
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "ativado o redirecionamento no arquivo ip_forward"
echo "ON .................................................[ OK ]"
#
#habilitando o fluxo interno entre os processos
$IPTABLES -I INPUT -p ALL -i lo -j ACCEPT
$IPTABLES -I FORWARD -p ALL -i lo -j ACCEPT
$IPTABLES -I OUTPUT -p ALL -o lo -j ACCEPT
echo "ativado o fluxo interno entre os processos"
echo "ON .................................................[ OK ]"
#
echo "ativando a liberacao das portas para estabelecer conexoes"
echo "ON .................................................[ OK ]"
#
#liberar as portas principais do servidor
for i in `cat $PORTSLIB`; do
$IPTABLES -A INPUT -p tcp --dport $i -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport $i -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport $i -j ACCEPT
$IPTABLES -A INPUT -p udp --dport $i -j ACCEPT
$IPTABLES -A FORWARD -p udp --dport $i -j ACCEPT
$IPTABLES -A OUTPUT -p udp --sport $i -j ACCEPT
done
#
echo "ativado a liberacao das portas principais do servidor $HOSTNAME"
echo "ON .................................................[ OK ]"
#
$IPTABLES -I INPUT -m state --state ESTABLISHED -j ACCEPT
$IPTABLES -I INPUT -m state --state RELATED -j ACCEPT
$IPTABLES -I OUTPUT -p icmp -o $WAN -j ACCEPT
$IPTABLES -I INPUT -p icmp -j ACCEPT
#
$IPTABLES -t filter -A FORWARD -d 0/0 -s $REDE -j ACCEPT
$IPTABLES -t filter -A FORWARD -d $REDE -s 0/0 -j ACCEPT
$IPTABLES -t filter -A INPUT -s $REDE -d 0/0 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -s $REDE -d 0/0 -j ACCEPT
#
#
#Bloqueio ping da morte
echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
$IPTABLES -N PING-MORTE
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j PING-MORTE
$IPTABLES -A PING-MORTE -m limit --limit 1/s --limit-burst 4 -j RETURN
$IPTABLES -A PING-MORTE -j DROP
echo "ativado o bloqueio a tentativa de ataque do tipo ping da morte"
echo "ON .................................................[ OK ]"
#
#bloquear ataque do tipo SYN-FLOOD
echo "0" > /proc/sys/net/ipv4/tcp_syncookies
$IPTABLES -N syn-flood
$IPTABLES -A INPUT -i $WAN -p tcp --syn -j syn-flood
$IPTABLES -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
$IPTABLES -A syn-flood -j DROP
echo "ativado o bloqueio a tentativa de ataque do tipo SYN-FLOOD"
echo "ON .................................................[ OK ]"
#
#Bloqueio de ataque ssh de forca bruta
$IPTABLES -N SSH-BRUT-FORCE
$IPTABLES -A INPUT -i $WAN -p tcp --dport 22 -j SSH-BRUT-FORCE
$IPTABLES -A SSH-BRUT-FORCE -m limit --limit 1/s --limit-burst 4 -j RETURN
$IPTABLES -A SSH-BRUT-FORCE -j DROP
echo "ativado o bloqueio a tentativa de ataque do tipo SSH-BRUT-FORCE"
echo "ON .................................................[ OK ]"
#
#bloqueio Anti-Spoofings
$IPTABLES -A INPUT -s 10.0.0.0/8 -i $WAN -j DROP
$IPTABLES -A INPUT -s 127.0.0.0/8 -i $WAN -j DROP
$IPTABLES -A INPUT -s 172.16.0.0/12 -i $WAN -j DROP
# $IPTABLES -A INPUT -s 192.168.1.0/16 -i $WAN -j DROP
echo "ativado o bloqueio de tentativa de ataque do tipo Anti-spoofings"
echo "ON .................................................[ OK ]"
#
#Bloqueio de scanners ocultos (Shealt Scan)
$IPTABLES -A FORWARD -p tcp --tcp-flags SYN,ACK, FIN, -m limit --limit 1/s -j ACCEPT
echo "bloqueado scanners ocultos"
echo "ON .................................................[ OK ]"
#
# Libera porta 1863 (MSN)
$IPTABLES -A FORWARD -s 192.168.1.0/24 -p tcp --dport 1863 -j ACCEPT
#
# Acessa o site Comlink sem passar pelo Squid
$IPTABLES -t nat -I PREROUTING -p ALL -i $LAN -d 201.77.208.68 -j ACCEPT
$IPTABLES -t filter -I FORWARD -p ALL -i $LAN -d 201.77.208.68 -j ACCEPT
#
# Redireciona o acesso ao PostgreeSql no servidor Sabre
$IPTABLES -t nat -I PREROUTING -p tcp -s 0/0 --dport 5432 -i $WAN -j DNAT --to 192.168.1.251:5432
#
# Libera o acesso ao Sefaz para emissao da Nota Fiscal Eletronica
#
$IPTABLES -t nat -I PREROUTING -i $LAN -d 189.2.188.178 -j ACCEPT
$IPTABLES -t filter -I FORWARD -i $LAN -d 189.2.188.178 -j ACCEPT
#
$IPTABLES -t nat -I PREROUTING -i $LAN -d 200.230.57.50 -j ACCEPT
$IPTABLES -t filter -I FORWARD -i $LAN -d 200.230.57.50 -j ACCEPT
#
$IPTABLES -t nat -I PREROUTING -i $LAN -d 187.5.111.50 -j ACCEPT
$IPTABLES -t filter -I FORWARD -i $LAN -d 187.5.111.50 -j ACCEPT
#
$IPTABLES -t nat -I PREROUTING -i $LAN -d 201.48.19.50 -j ACCEPT
$IPTABLES -t filter -I FORWARD -i $LAN -d 201.48.19.50 -j ACCEPT
#
$IPTABLES -t nat -I PREROUTING -i $LAN -d 189.2.188.165 -j ACCEPT
$IPTABLES -t filter -I FORWARD -i $LAN -d 189.2.188.165 -j ACCEPT
#
$IPTABLES -t nat -I PREROUTING -i $LAN -d 200.230.57.37 -j ACCEPT
$IPTABLES -t filter -I FORWARD -i $LAN -d 200.230.57.37 -j ACCEPT
#
$IPTABLES -t nat -I PREROUTING -i $LAN -d 187.5.111.37 -j ACCEPT
$IPTABLES -t filter -I FORWARD -i $LAN -d 187.5.111.37 -j ACCEPT
#
$IPTABLES -t nat -I PREROUTING -i $LAN -d 201.48.19.37 -j ACCEPT
$IPTABLES -t filter -I FORWARD -i $LAN -d 201.48.19.37 -j ACCEPT
#
echo "ativado desvio para o SEFAZ para nao passar pelo Proxy"
echo "ON .................................................[ OK ]"
#
# Proxy transparente - redireciona para o Squid
#
$IPTABLES -t nat -A PREROUTING -i $LAN -p tcp --dport 80 -j REDIRECT --to-port 3128
#
# Redireciona saida para Internet para o Squid
#
# $IPTABLES -t nat -A PREROUTING -p tcp -m multiport -s 192.168.1.0/24 --dport 80,443 -j REDIRECT --to-ports 3128
#
# echo "Proxy Transparente ativado"
echo "Redirecionamento para o Squid ativado"
echo "ON .................................................[ OK ]"
#
# ativar o mascaramento
# $IPTABLES -t nat -A POSTROUTING -o $WAN -j MASQUERADE
#
# Aplica o Source NAT
# $IPTABLES -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.1.250
#
#
echo
echo "==========================================================|"
echo "::TERMINADA A CONFIGURACAO DO FIREWALL NETFILTER ATRAVES::|"
echo ":: DO IPTABLES ::|"
echo "==========================================================|"
echo "FIREWALL ATIVADO - SISTEMA PREPARADO"
;;
stop)
$IPTABLES -F
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -t mangle -F
$IPTABLES -t nat -F
$IPTABLES -X
$IPTABLES -Z
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
echo "FIREWALL DESCARREGADO - SISTEMA LIBERADO"
;;
restart)
$PROGRAMA stop
$PROGRAMA start
;;
*)
echo "Use: $N {start|stop|restart}" >&2
echo -e "\033[01;31mATENCAO";tput sgr0
echo "Voce nao colocou nenhum argumento ou algum conhecido, entao Por Padrao sera dado em 5 segundos um restart no firewall"
sleep 5
$PROGRAMA restart
exit 1
esac
exit 0