Enviado em 10/12/2012 - 10:08h
Bom dia, tenho que fazer um squid transparet, fiz um regra no iptable para redirecionar a porta 80 e 443 para o o squid porta 3128, porém ao fazer isso, o acesso á internet para, abaixo esta meu iptable e o squid, por gentileza me ajudem, já vi varios post, fiz tudo identico ao post daqui do forum, porém não funciona.
#!/bin/bash
############# Script###########
################################################################################
#################### Iniciando Firewall ###########################################
################################################################################.
echo "Carregando modulos"
/sbin/modprobe ip_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_queue
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe iptable_mangle
/sbin/modprobe ipt_state
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_multiport
/sbin/modprobe ipt_mac
/sbin/modprobe ipt_string
echo "## Limpando as Regras existentes #######"
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -Z
echo "## Definindo politica padrão (Nega entrada e permite saida)"
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
################################################################################
######################## Protege contra ataques diversos #######################
################################################################################
###### Protege contra synflood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
###### Protecao contra ICMP Broadcasting
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
###### Prote.. Contra IP Spoofing
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
###### Protecao diversas contra portscanners, ping of death, ataques DoS, pacotes danificados e etc.
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type echo-reply -m limit --limit 1/s -j DROP
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -N VALID_CHECK
iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL ALL -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
################################################################################
############################ Input Rede Interna #################################
################################################################################
echo "Redirecionando porta 80 para o proxy"
/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 443 -j REDIRECT --to-port 3128
## Estabelece relação de confiança entre maquinas da rede local eth0(rede local)
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --syn -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -i eth1 -s 10.0.0.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -i eth1 -m state --state NEW -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
############################ Liberando o INPUT #################################
################################################################################
echo "liberando o INPUT externo"
iptables -A INPUT -i eth0 -p tcp -m multiport --dport 1050,8083,8088,8086,8090,8092,22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 3128 -j ACCEPT
################################################################################
############################ Redirecionamentos #################################
################################################################################
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 1050 -j DNAT --to-destination 10.0.0.50:1050
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 8083 -j DNAT --to-destination 10.0.0.50:8083
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 8088 -j DNAT --to-destination 10.0.0.50:8088
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 8086 -j DNAT --to-destination 10.0.0.153:8086
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 8092 -j DNAT --to-destination 10.0.0.147:8092
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 8090 -j DNAT --to-destination 10.0.0.211:8090
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.50:22
iptables -t nat -A PREROUTING -d 10.0.0.189 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.103 #IP do Servidor UOL
################################################################################
############################ Drop Input #################################
################################################################################
echo "## Fechando portas não abertas acima ##"
iptables -A INPUT -i eth0 -j REJECT
################################################################################
############################ Compartilhamento Internet #########################
################################################################################
echo "Compartilhando Internet"
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "..........................Firewall Ativo[OK]"
################################################################################
######################################## Fim ############################################################################.
http_port 3128
visible_hostname cientistas
error_directory /usr/share/squid/errors/Portuguese
hierarchy_stoplist CGI-bin ?
cache_mgr ti@cientistas.com.br
acl QUERY urlpath_regex cgi-bin ?
no_cache deny QUERY
cache_mem 64 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 3000 8000-9000 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl rede_local src 10.0.0.0/24
acl palavras_bloqueadas url_regex -i "/etc/squid/palavras_bloqueadas.txt "
acl sites_bloqueados url_regex -i "/etc/squid/ sites_bloqueados.txt"
acl redes_sociais url_regex -i "/etc/squid/redes_sociais.txt"
acl liberados src "/etc/squid/ips_liberados.txt"
acl formato_arquivo url_regex -i "/etc/squid/formato_arquivo.txt"
acl horario_almoco time 12:00-13:00
http_access allow liberados
http_access allow redes_sociais horario_almoco
http_access deny redes_sociais
http_access deny sites_bloqueados
http_access deny palavras_bloqueadas
http_access deny formato_arquivo
http_access allow rede_local
http_access allow localhost
http_access deny all