Buckminster
(usa Debian)
Enviado em 28/10/2013 - 22:04h
Deixe como abaixo teu squid.conf, pode copiar e colar. Mas antes execute squid -v ou squid --version para ver a versão. Se for versão 3.0 deixe transparent, se for versão 3.1 ou acima troque transparent por intercept.
http_port 3128 transparent << ou intercept.
visible_hostname Servidor
#
acl SSL_ports port 443 # https
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais z39.50
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
#
http_access allow localhost manager
http_access deny manager
#
http_access deny !Safe_ports
#
http_access deny CONNECT !SSL_ports
#
http_access deny to_localhost
#
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
#
# Lista de palavras que nunca devem ser salvas em cache
acl QUERY urlpath_regex cgi-bin \?
no_cache deny
# Quantidade de mémoria dedicada ao servidor cache
cache_mem 512 MB
# Tamanho minimo para reposição dos objetos armazenados e máximo
cache_swap_low 85
cache_swap_high 90
# Determina o tamanho o tamanho máximo da memória de cache no HD
maximum_object_size 2000 kb
# Determina o tamanho o tamanho minimo da memória de cache no HD
minimum_object_size 0 kb
# Arquivo onde será salvo o log de acesso
access_log /var/log/squid3/access.log
# Utilizado o diskd para melhor performace da procura do cache
# Tamanho máximo diretorio - máximo pastas - máximo pastas do segundo
cache_dir diskd /var/squid3/cache/1 400 10 100 Q1=30 Q2=30
cache_dir diskd /var/squid3/cache/2 400 10 100 Q1=30 Q2=30
#
#--------------------Bloqueia-----------------
acl redelocal src 10.1.1.0/24
acl bloqueio url_regex "/etc/squid3/black_list"
acl sites url_regex "/etc/squid3/sites.txt"
http_access deny bloqueio
http_access deny sites
http_access allow redelocal
http_access allow localhost
http_access deny all
E para o Iptables faça o seguinte, como root.
Crie um arquivo vazio (script) em /etc/init.d:
# vim /etc/init.d/firewall.sh << eu usei o vim, você usa o teu editor de texto preferido e pode colocar outro nome para o script (aconselhável).
Coloque o conteúdo abaixo dentro do arquivo, pode copiar e colar.
#!/bin/bash
#
##Apagando e restaurando as chains e tabelas
############################################
iptables -Z # Zera as regras das chains
iptables -F # Remove as regras das chains
iptables -X # Apaga as chains
#
#Carregando os módulos.
#######################
modprobe ip_tables
modprobe iptable_nat
modprobe iptable_filter
modprobe iptable_mangle
#
##Definindo políticas padrões
#############################
iptables -P INPUT DROP # iptables a política padrão da chain INPUT é proibir tudo
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#
##Liberando a Loopback
######################
iptables -A INPUT -i lo -j ACCEPT # adiciona regra na chain INPUT para liberar a loopback
#
##Regras de segurança na internet e de aceitação de pacotes
###########################################################
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW ! -i eth2 -j DROP # << Interface de entrada da internet
iptables -A FORWARD -m state --state NEW ! -i eth2 -j DROP
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
#
# Compartilhamento, mascaramento e redirecionamento
###################################################
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
Salve e saia do arquivo.
Dê permissão de execução:
# chmod +x /etc/init.d/firewall.sh
Apague todas regras do Iptables que você tem dentro do rc.local e coloque antes de 'exit 0' somente a seguinte linha, assim:
/etc/init.d/firewall.sh start << se você mudar o nome do arquivo, mude aqui também.
exit 0
Salve e saia do arquivo.
Reinicie o servidor.
Dessa maneira o Iptables inicia junto com o sistema e você pode iniciar, parar e reiniciar no terminal com o comando:
# /etc/init.d/firewall.sh start, stop ou restart
Teste assim e veja se funciona.
E posta aqui todo o conteúdo do arquivo /etc/network/interfaces.