http://www.zago.eti.br/squid/regras-iptables.txt Use CTRL+F para refinar a pesquisa. Linha de: **************** separa mensagens ou tópicos. ******************************************************** Zago http://www.zago.eti.br/menu.html FAQ e artigos sobre Linux ******************************************************** Estação fora do Squid. Acessar site sem passar pelo Squid. Internet compartilhada e com proxy Squid, precisa forçar (redirecionar) a saida pra net pra passar pelo Squid, quem faz este redirecionamento é uma regra no firewall, ex: modprobe iptable_nat iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.1.0/24 --dport 80,443 -j REDIRECT --to-ports 3128 iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward Observe a ordem das regras, no exemplo acima a segunda linha redireciona todo o trafego das portas 80 e 443 pra depois fazer NAT, com isto todas as estações que tentarem acesso a net via browser (navegadores) serão redirecionadas pra usar o proxy, as duas ultimas linhas faz NAT para os demais serviços de rede, como o cliente de e-mail, msn, kazaa e outros acesso à internet. Excluir estação do proxy. Alguns serviços como Conectividade Social e acessos que tem problema quando passa pelo proxy, pode criar regras no firewall pra excluir estes acessos de passar pelo Squid. Estas regras de iptables tem que estar antes da regra que redireciona o trafego. A exclusão pode ocorrer de duas formas: Excluir a estação de passar pelo proxy, tem incoveniente desta regra valer somente pra uma estação especifica e a mesma acessar tudo na net sem passar pelo controle das regras do Squid. Exemplo de regra pra estação 192.168.1.53: iptables -A FORWARD -s 192.168.1.53/32 -d 0.0.0.0/0 -p tcp --dport 80 -j ACCEPT Excluir o site destino, neste caso fica mais prático descobrir qual o IP do site e criar regras de firewall pra excluir o destino de passar pelo proxy e pode liberar todas as estações pra acessarem estes sites, exemplo pra Conectividade Social. ******************************************************** De:  Cleyton Luiz Scherer Para:  Thiago Macieira Cc:  linux-br@bazar2.conectiva.com.br Assunto:  Re: (linux-br)barrando httptunnel Data:  Sat, 24 Apr 2004 13:22:32 -0300 (BRT) Como eu resolvi: 1) No iptables: ############################## # Bloqueando socks tunneling # ############################## iptables -t filter -A FORWARD -s http-tunnel.com -j DROP iptables -t filter -A FORWARD -d http-tunnel.com -j DROP iptables -t filter -A FORWARD -s 64.83.28.77     -j DROP iptables -t filter -A FORWARD -d 64.83.28.77     -j DROP iptables -t filter -A FORWARD -d 200.221.7.2     -j DROP iptables -t filter -A FORWARD -d 63.219.179.196  -j DROP 2) No Squid: Colocando a palavra "tunnel" na blacklist. Ninguém acessa www a menos que seja pelo squid. Cleyton On Fri, 23 Apr 2004, Thiago Macieira wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Accenture_Luiz_Estivalet@Dell.com wrote: > >Ola, > >Como faco para barrar httptunnel e outros programas do genero com o > > iptables ou squid? ******************************************************** iptables -A INPUT -p tcp -i eth1 --dport 3128 -j REJECT ******************************************************** ******************************************************** De: William da Rocha Lima Para: leo@digioffice.com.br, linux-br@bazar.conectiva.com.br Assunto: RES: (linux-br) Squid X Data: 29 May 2003 14:30:11 -0300 Para resolver esse problema habilita-se na máquina firewall (onde está instalado o squid) algumas regras de repasse de pacotes somente para as porgtas do POP (25) e do SMTP (110). Configurando com IPCHAINS Para isso, basta executar essas regras: [root@localhost]# ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 25 -j MASQ [root@localhost]# ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 110 -j MASQ Elas basicamente dizem para repassar todos os pacotes vindos de qualquer porta de qualquer máquina da rede 192.168.1.0 e com a máscara 24 (255.255.255.0), com destino para as portas 25 ou 110 de qualquer máquina (0/0). Para listar as novas regras adicionadas basta executar: [root@local]# ipchains -L Chain input (policy ACCEPT): Chain forward (policy ACCEPT): target prot opt source destination ports MASQ tcp ------ 192.168.1.0/24 anywhere any -> smtp MASQ tcp ------ 192.168.1.0/24 anywhere any -> pop-3 Chain output (policy ACCEPT): Agora para que essas regras sejam sempre lidas na inicialização do sistema basta adicionar no final do arquivo /etc/rc.d/rc.local os dois comandos referentes as regras de repasse de pacotes. Existe uma outra forma elegante de se fazer isso, veja as instruções abaixo: 1. Vá para o diretório /etc/rc.d/init.d. 2. Use o editor de textos de sua preferência e crie um arquivo chamado ipchains com o seguinte conteúdo: #! /bin/sh # description: Inicializacao do ipchains # # chkconfig: 2345 80 30 # processname: ipchains # pidfile: /var/run/ipchains.pid . /etc/rc.d/init.d/functions . /etc/sysconfig/network if [ ${NETWORKING} = "no" ] then exit 0 fi case "$1" in start) gprintf "Iniciando o serviço de %s: " "IPChains" echo echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/ipchains -P forward DENY /sbin/ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 25 -j MASQ /sbin/ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 110 -j MASQ ;; stop) gprintf "Parando o serviço de %s: " "IPChains" echo /sbin/ipchains --flush ;; *) gprintf "Uso: ipchains (start|stop)" echo ;; esac exit 0 4. Para ativar o ipchains: [root@localhost]# cd /etc/rc.d/init.d [root@localhost]# ./ipchains start e para desativar o mesmo execute: [root@localhost]# ./ipchains stop Configurando com IPTABLES Primeiramente levante o módulo de seu kernel: [root@localhost]# modprobe iptable_nat Faça o forward de pacotes de sua rede: [root@localhost]# echo 1 > /proc/sys/net/ipv4/ip_forward Crie a regra: (para a conexão da internet através da eth1) [root@localhost]# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE Ou, para ppp0 (conexão discada): [root@localhost]# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE As regras serão perdidas na hora do boot de sua máquina, portanto salve-as: [root@localhost]# iptables-save > /backup/regras Insira no final do arquivo /etc/rc.local: [root@localhost]# mcedit /etc/rc.local As seguintes linhas: modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward iptables-restore /backup/regras Toda vez em que for feito o boot suas regras serão inicializadas e suas máquinas da rede interna estarão se conectando a internet por meio de mascaramento. Estações Windows® Para configurar uma estação Windows®, siga os seguintes passos: 1. Vá para Iniciar->Configurações->Painel de Controle->Rede: 2. Clique em TCP/IP e pressione o botão Propriedades. 3. Clique em Configuração DNS 4. Clique em Ativar DNS e digite o nome de sua máquina no campo Host e o domínio no campo Domínio. Especifique também o DNS do provedor onde você esta se conectando. 5. Digite o endereço de IP de seu servidor em Ordem pesquisa servidor DNS e clique em Adicionar. 6. Digite o nome do seu domínio em Ordem pesquisa sufixo domínio e clique em Adicionar. 7. Clique em Gateway e informe o número ip do seu servidor. 8. Clique em Ok e saia da configuração de rede. Você terá de reinicializar o computador. Para testar a configuração, tente acessar algum endereço da Internet após ter reinicializado a máquina. Fonte: www.linuxit.com.br William da Rocha Lima wrocha@acbr.com.br Tel.: (11) 4166-7300 --------------------------------------------------------------------------- Esta lista é mantida pela Conectiva S.A. Visite http://www.conectiva.com.br Linux-BR@bazar2.conectiva.com.br Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br