+ Responder ao Tópico



  1. #1

    Padrão Redirecionar para 3128 menos alguns ips

    Olá galera, estou precisando fazer com q alguns ips passem direto sem serem redirecionados pelo proxy, a linha no firewall tá assim:

    iptables -t nat -A PREROUTING -i eth1 -p tcp -d ! 200.201.174.207 --dport 80 -j REDIRECT --to-port 3128

    o ip 200.201.174.207 é do conectividade social, q tive tb de deixar passar direto pra funcionar;

    a regra teria q ficar assim: tudo q entrar pela rede 1 com destino ao ip acima OU a origem seja (relação de ip's) deve passa direto pela porta 80;

  2. #2

    Padrão

    iptables -t nat -A PREROUTING -i eth1 -s ipquevcquer -j ACCEPT

    Porem, essa regra deve ficar antes da regra de redirecionamento do proxy. caso voce queira que o ip faça acesso ao proxy, porem somente a esse ip que ele não deve passar pelo proxy, é só complementar a regra, lembrando que na ordem, ela tem que ficar antes da regra de redirecionamento da 80 pra 3128.

  3. #3

    Padrão

    Código :
    iptables -t nat -A PREROUTING -i eth1 -p tcp -d ! 200.201.174.207  --dport 80 -j REDIRECT --to-port 3128
    Mas qual a regra que você usa para o ip 200.201.174.207?

    Você pode fazer um MASQUERADE dos ips:

    Código :
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -d 200.201.174.207 -j MASQUERADE
    onde 192.168.0.0/24 sua rede interna
    eth0 sua interface rede externa

    O resto do tráfego vai para o proxy.
    Espero ter ajudado.

    []s

  4. #4

    Padrão

    timido, pelo q entendi deve ficar assim:

    Código :
    iptables -t nat -A PREROUTING -i eth1 -s 192.168.0.32 -j ACCEPT
    iptables -t nat -A PREROUTING -i eth1 -p tcp -d ! 200.201.174.207 --dport 80 -j REDIRECT --to-port 3128

    isso já é o suficiente para q o ip 192.168.0.32 não passe pela porta 3128?

    Cristian, o 200.201.174.207 é do conectividade social, q não funciona fazendo o redirecionamento para a porta 3128, pelo menos no tempo q configurei, então tive q excluí-lo e deixar passar direto. Com relação a meu problema, já tenho uma linha MASQUERADE:

    Código :
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    tenho então q trocar esta acima, pela:
    Código :
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -d 200.201.174.207 -j MASQUERADE
    só isso?

  5. #5

    Padrão

    Você usando essa regra:
    Código :
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    você faz MASQUERADE para tudo que estiver saindo pela eth0, o certo é você ser mais específico.
    Faça um teste, retire a sua regra que redireciona o tráfego para porta 3128 e você vai ver que só com a regra acima as estações vão navegar, assim você está liberando tudo pra navegar, todas portas, protocolos etc.

    O ideal é você liberar apenas o que precisa, libere os ips que você realmente necessita passar por fora do proxy, o restante redireciona tudo para 3128.
    Código :
    ## vc vai precisar liberar algumas portas de serviços como abaixo:
    ### Liberar acesso externo às portas de Mail(25), Pop-3(110), Dns(53), Https(443), Gmail(465,587,955), RECEITANET(3456), CONECTIVIDADE SOCIAL (263
    1) TERMINAL SERVER (3389)
    iptables -t nat -A POSTROUTING -o eth0 -m multiport -p tcp --dports 20,21,22,25,53,110,443,465,587,995,2083,2631,3456,3389 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -d 200.201.174.207 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -d 200.XXX.XXX.XXX -j MASQUERADE
    iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

    Assim você vai deixando sua rede mais segura ajudando bloquear alguns serviços indesejados.

  6. #6

    Padrão

    Cristian, fiz exatamente o q vc disse:

    ### Liberar acesso externo às portas de Mail(25), Pop-3(110), Dns(53), Https(443), Gmail(465,587,955), RECEITANET(3456), CONECTIVIDADE SOCIAL (26331) TERMIN###AL SERVER (3389)
    iptables -t nat -A POSTROUTING -o eth0 -m multiport -p tcp --dports 20,21,22,25,53,110,443,465,587,995,2083,2631,3456,3389 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -d 200.201.174.207 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 192.168.0.32 -o eth0 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 192.168.0.65 -o eth0 -j MASQUERADE
    iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

    mas, as máquinas .32 e .65 estão passando pelo squid, tanto é q recebo a mensagem de Acesso Negado, quando tento algum site proibido.

  7. #7

    Padrão

    Aqui eu não uso proxy transparente e as máquinas que não quero que passem pelo proxy eu faço isso, exatamente como está nas regras abaixo:

    Código :
    ## Liberar máquinas
    iptables -t nat -A POSTROUTING -o eth0 -s 10.100.1.2 -p tcp -j MASQUERADE  
    iptables -t nat -A POSTROUTING -o eth0 -s 10.100.1.2 -p udp -j MASQUERADE  
    iptables -t nat -A POSTROUTING -o eth0 -s 10.100.1.3 -p tcp -j MASQUERADE  
    iptables -t nat -A POSTROUTING -o eth0 -s 10.100.1.3 -p udp -j MASQUERADE  
    iptables -t nat -A POSTROUTING -o eth0 -s 10.100.1.4 -p tcp -j MASQUERADE  
    iptables -t nat -A POSTROUTING -o eth0 -s 10.100.1.4 -p udp -j MASQUERADE

    Única diferença é que aqui não uso proxy transparente.

  8. #8

    Padrão

    É o problema talvez seja o proxy transparente, mas já consegui de outra maneira:

    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 ! -s 192.168.0.1

    só falta agora como colocar mais de uma máquina já q tentei separar por virgula e não deu certo.

    Obrigado

  9. #9

    Padrão

    O que vc pode fazer é colocar essas máquinas numa subrede diferente e criar acls específicas.
    Existem várias soluções! Essa de subrede é uma.