Fórum PSM


Estás a ver o fórum como visitante o que te dá acesso limitado a ele, ao fazeres o registo na nossa comunidade poderás criar e responder a tópicos de discussão, trocar mensagens privadas, participar em votações, entre muitas outras coisas. O registo é simples e gratuito, por isso junta-te à nossa comunidade!

    Squid + iptables (método ninja)

    Compartilhe
    avatar
    lianinho
    Psm Team
    Psm Team

    Número de Mensagens : 153
    Idade : 30
    Localização : porto
    Reputação : 0
    Pontos : 0
    Data de inscrição : 10/09/2008

    Informações
    Consola(s): PS3
    Télemovel Télemovel: nokia 3660

    Squid + iptables (método ninja)

    Mensagem por lianinho em Sab Set 13, 2008 11:16 pm

    Introdução

    Sem ter a menor idéia de como funcionava e de revirar o Google procurando, finalmente consegui configurar um servidor com iptables + Squid (transparente). Descobri que é mais fácil do que imaginava. Estou escrevendo aqui um artigo pressupondo que quem for utilizá-lo tenha conhecimentos mínimos de Linux e saiba exatamente onde quer chegar.Não vou entrar em detalhes sobre configuração de máquina, só vou descrever as placas de rede e desse ponto em diante é só software mesmo.
    Use duas placas de rede:

    * ETH0 - interface vermelha ligada ao modem ADSL);
    * ETH1 - interface verde (ligada à rede interna).

    A distribuição que uso é o Debian (lógico) Etch 4.0.

    Baixe o ISO do netinst, pois não usaremos gráfico.

    Como editor de textos use o mcedit (depois do sistema básico instalado um simples “apt-get install mc”), pois pra salvar o arquivo que se está editando basta apertar ESC e já aparece uma telinha, muito simples (aprendi essa com o Rogério), mas qualquer editor também serve.

    Não instale o Squid por enquanto, primeiro vamos configurar as interfaces.

    Arquivo /etc/network/interfaces
    O arquivo interfaces é bem interessante, pode se fazer muitas coisas legais nesse arquivo, para o mais leigo entender, nesse arquivo pode-se fazer bloqueio de MSN, syn-flood, orkut, ping etc.Mas o que proponho aqui é uma configuração simples pra fazer a coisa funcionar.Faça o seguinte, supondo que o servidor DHCP está em outra máquina, coloque tanto o IP da interface verde como da vermelha estáticos (FIXO) exemplo:

    * A placa vermelha como 192.168.10.2 ligada no modem 192.168.10.1.
    * A placa verde como 192.168.1.254 ligada no switch.

    O /etc/network/interfaces básico fica assim:
    # Interface de Rede Vermelha auto eth0
    iface eth0 inet static
    address 192.168.10.2
    netmask 255.255.255.0
    network 192.168.10.0
    broadcast 192.168.10.255
    gateway 192.168.10.1# Interface de rede Verde
    auto eth1
    iface eth1 inet static
    address 192.168.1.1
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255pre-up iptables -F
    pre-up iptables -X
    pre-up iptables -F -t nat
    pre-up iptables -X -t nat
    pre-up iptables -F -t filter
    pre-up iptables -X -t filter

    # Essa Parte faz com que o sinal da interface Vermelha passe para a Verde
    # e vice-versa

    pre-up iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128
    pre-up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    pre-up echo 1 > /proc/sys/net/ipv4/ip_forward

    Pronto, agora você tem que colocar algo ligado na placa vermelha através de um hub ou cabo cross e a interface vermelha ligada no modem, e tente pingar o modem, se pingar o modem, tente pingar também algum site ou o ip de algum site.

    É possível que você consiga pingar um site por ip, mas não por URL, nesse caso é necessário adicionar o endereço dos servidores DNS do seu provedor de ADSL no arquivo /etc/resolv.conf.

    Squid
    Pronto, podemos dizer que já temos um servidor de firewall funcionando, isso é, se o processo do tópico anterior deu certo, se não deu certo pare de ler esta parte e volte pro tópico anterior, me mande e-mail py9mt@yahoo.com.br, me telefone 65-8402-0253, me add no msn claudioguolo@hotmail.com. Sinal de fumaça, rádio-amador, qualquer coisa, porque não adianta continuar se o processo anterior não deu certo.Pra você continuar e instalar o Squid, o sinal de rede tem que estar passando de uma placa pra outra (NAT), senão não adianta.Se está funcionando então agora pode usar um “apt-get install squid”.

    Pronto, agora você tem Squid instalado.

    Faça um teste, abra o /etc/squid/squid.conf e coloque assim:
    httpd_accel_port 80
    httpd_accel_host virtual
    httpd_accel_with_proxy on
    httpd_accel_uses_host_header onhttp_port 3128 transparent # essa linha se o squid for uma versão mais atual, pode apagar as outras 4 linhas acima.
    error_directory /usr/share/squid/errors/Portuguese# Criando as ACL´s
    acl all src 0.0.0.0/0.0.0.0
    acl safe_ports port 80 21 22#dizendo se as ACL´s estão ou não liberadas
    http_access allow safe_ports
    http_access deny all

    Um Squid ultra magrinho. o que acontece é que quando você der um “/etc/init.d/squid restart”, se você estava acessando a internet via proxy vai parar de acessar, então você vai ter que modificar a permissão da ACL:

    De assim:

    http_access deny all

    Para assim:
    http_access allow all
    Novamente reinicie o Squid:# /etc/init.d/squid restartAgora teste novamente, se acessar é porque seu Squid está funcionando perfeitamente, bloqueado e desbloqueando as ACLs.

    Não vou entrar em detalhes de como criar ACLs porque disso o VOL está cheio, é só googlar um pouco que você acha os mais variado tipo de acl, por ip, por url-regex, por IP, por marca de desodorante que o usuário está usando etc.

      Data/hora atual: Ter Maio 22, 2018 10:28 pm