+ Responder ao Tópico



  1. #1

    Padrão Bloquear tudo e liberar somente o acesso a sites na rede internet

    tenho esse script mas quero bloquear a rede interna pra ping, entra em emule e acessa msn, somente deixa a navegação em sites....

    REDEMASQ=192.168.2.1/24
    iptables -F
    iptables -F -t nat
    iptables -F -t mangle
    iptables -P INPUT DROP
    iptables -P FORWARD ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -s $REDEMASQ -o eth0 -j MASQUERADE
    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
    iptables -A FORWARD -o eth1 -m state --state NEW,INVALID -j DROP
    iptables -A FORWARD -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -i eth1 -s $REDEMASQ -j ACCEPT
    iptables -A FORWARD -j ACCEPT
    iptables -A INPUT -j ACCEPT


    o que falta???

  2. #2

    Padrão

    Vamos lá, se você apenas quer liberar acesso a Internet, pelo que estou vendo você usa proxy e ele é transparente não é?

    #!/bin/sh
    #Carrega módulos de connection tracking
    /sbin/modprobe ip_conntrack
    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe ip_conntrack_irc
    /sbin/modprobe ip_nat_ftp

    #Define políticas de acesso padrão
    /sbin/iptables -P INPUT DROP
    /sbin/iptables -P FORWARD DROP
    /sbin/iptables -P OUTPUT ACCEPT

    #Limpa regras e cadeias de usuário prévias
    /sbin/iptables -X
    /sbin/iptables -F
    /sbin/iptables -t nat -F

    #Habilita repasse de pacotes
    echo 1 > /proc/sys/net/ipv4/ip_forward

    #Define variáveis
    ## Interface externa
    EXT_IF=eth0
    ## Interface interna
    INT_IF=eth1
    ## Rede Interna
    REDEMASQ=192.168.2.1/24

    ### Habilita comunicação interna entre processos locais
    /sbin/iptables -A INPUT -i lo -j ACCEPT

    ### Habilita acesso pela rede interna a esse host
    /sbin/iptables -A INPUT -i $INT_IF -j ACCEPT
    /sbin/iptables -A FORWARD -i $INT_IF -j ACCEPT

    ### Habilita SSH
    /sbin/iptables -A INPUT -i $EXT_IF -m tcp -p tcp --dport 22 -j ACCEPT

    ### Habilita todas a conexões previamente aceitas (estados Estabelicida e Relacionada)
    /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    /sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    ### Liberar acesso externo às portas de Mail(25), Pop-3(110), Dns(53(tcp e udp)), Https(443), Gmail(465,955), RECEITANET(3456), CONECTIVIDADE SOCIAL (2631) T
    ERMINAL SERVER (3389)
    /sbin/iptables -t nat -A POSTROUTING -o $EXT_IF -m multiport -p tcp --dports 20,21,22,25,53,110,443,465,995,2083,2631,3456,3389 -j MASQUERADE
    /sbin/iptables -t nat -A POSTROUTING -o $EXT_IF -m multiport -p udp --dports 20,21,53,443 -j MASQUERADE

    /sbin/iptables -t nat -A PREROUTING -i $INT_IF -p tcp --dport 80 -j REDIRECT --to-port 3128

    ### Final

    Se você não quiser liberar acesso a email 25 e 110 e alguns outros serviços descritos, basta deletar as linhas que fazem MASQUERADE.

    Abraço

  3. #3

    Padrão

    tenho que usar os modprobe sempre???
    ali das portas do gmail o que especificamente ele bloqueia pq tirei elas e mesmo assim acessei o site? primeiro fiz o acesso normal depois fechei o firefox reinciie o script e abri o firefox mesmo assim ele abriu o gmail? e o bloqueio no msn faria com o squid ::???? que mesmo com esse script o msn ainda conecta.....
    Última edição por caosdp; 29-05-2007 às 11:20. Razão: mais uma duvida

  4. #4

    Padrão

    vc tem que usar o modprob para carregar os módulos ...

    Falow ...

  5. #5

    Padrão

    modprobe é pra você carregar os módulos.
    As portas do gmail é para o acesso via pop e smtp, ou seja, para você configurar um cliente de email como (outlook express, thunderbird, etc).

    O msn conecta tanto pela porta 1863 quanto pelo porta 80, como no script a porta 80 é redirecionada para porta 3128 (proxy) ele vai conectar. Então o que você tem que fazer é criar uma acl no squid para que ele bloqueie o msn.

  6. #6

  7. #7

    Padrão

    Se precisar é só perguntar.
    Abraço

  8. #8

    Padrão

    olá PessoALL, eu também tive problemas...
    Tô fazendo todos os passos e não estou conseguindo acessar a internet.
    a opção ip_forward esta habilitada...
    pingo no meu roteador e funciona...só que quando pingo fora da minha rede. nada. não funciona...Alguém pode me judar?

  9. #9

    Padrão

    Pois está aí o problema.
    Você tem que habilitar o repasse dos pacotes entre as interfaces.

    echo 1 > /proc/sys/net/ipv4/ip_forward

    Abraço

  10. #10

    Padrão

    eis aí mais um problema...rsrs
    Essa opção está habilitada.... e mesmo assim não pinga...