+ Responder ao Tópico



  1. #1

    Padrão Ajuda para cenário proxy ?

    Pessoal tenho o seguinte cenário:
    1 servidor linux fedora 4. CPU Pentium 4 + 1 Gb ram
    1 placa de rede on board - rede interna - eth0.
    1 placa de rede off board - Virtua - eth1.

    A minha intenção é montar um proxy, para 8 pessoas navegarem mais ou menos.
    Preciso habilitar o Nat nessa máquina ? Ou é só configurar o Squid e configurar o proxy no navegador das CPU´s para os usuários navegarem pela eth0 ?
    Última edição por robsoncb; 20-05-2008 às 14:07.

  2. #2

    Padrão

    Não conheço muito bem o serviço da virtua, mas se for entregue um modem, ele estará fazendo o nat. Dessa forma você só precisa montar o proxy e configurar o roteamento.

  3. #3

    Padrão

    Bom,
    O virtua em entrega um Ip válido de internet.

    Mas a minha dúvida é se é preciso fazer o NAt para a minha placa eth0 (rede interna) via iptables, ou se é somente necessário colocar o IP do proxy no navegador ?.

    Pois a intenção é ser via proxy mesmo com configuração no navegador de internet.
    Última edição por robsoncb; 21-05-2008 às 00:18.

  4. #4

    Padrão

    Se o Virtua entrega um IP válido na sua eth0 então você vai ter que fazer nat.

  5. #5

    Padrão

    ### habilitar repasse de pacotes entre as interfaces
    echo "1" > /proc/sys/net/ipv4/ip_forward

    ### redirecionando os pacotes com destino a porta 80 para a porta 3128 do squid... fazendo isso você não precisará configurar manualmente nos navegadores o ip do proxy
    $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128

    ### mascaramento
    $IPTABLES -t nat -A POSTROUTING -o eth1 -j MASQUERADE

  6. #6

    Padrão

    Ok !!
    Mas a intenção era deixar o "Proxy sem ser transparente", pois só 6 micros vão usar ele, os outros vão acessar o proxy principal que já é transparente.

    Fechando então o cenário:
    - É só habilitar o Nat e configurar o Squid.
    Correto pessoal ???

  7. #7

    Padrão

    é só retirar o redirecionamento de portas ($IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128) do iptables e configurar nos navegadores o ip do proxy

  8. #8

    Padrão

    Citação Postado originalmente por elderjmp Ver Post
    é só retirar o redirecionamento de portas ($IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128) do iptables e configurar nos navegadores o ip do proxy
    Olá Pessoal,
    Eu já tenho um proxy transparente rodando na rede = PROXY 1.
    Estou configurando agora o PROXY 2.

    Tem como usar a regra IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128 , para redirecionar a navegação somente para os 6 ip´s que eu quero que naveguem no PROXY 2 ? Como Ficaria a regra ?
    Última edição por robsoncb; 23-05-2008 às 11:09.

  9. #9

    Padrão

    iptables -t nat -A PREROUTING -s ip_de_origem -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128

  10. #10

    Padrão

    Citação Postado originalmente por Magnun Ver Post
    iptables -t nat -A PREROUTING -s ip_de_origem -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
    Bom pessoal organizandos as idéias.

    Os 6 ip´s as quais vão usar o PROXY2, vão fazer configuração no navegador mesmo, o PROXY 2 não vai ser transparente. Pois asssim eles podem alternar entre o PROXY 1 (transparente) e PROXY 2 (Configurável).
    Bom andei vendo e é melhor restringir os usuários para navegarem pelo próprio squid.
    Vou ver como faço por aqui ! Mas alguém pode me dar uma idéia de como faço isso no squid ?
    Última edição por robsoncb; 23-05-2008 às 14:31.

  11. #11

    Padrão

    BOm pesosal já funcionou o squid e criei restrições por ACL´s.
    Obrigado pela ajuda !!

  12. #12

    Padrão

    Bom pessoal,

    Agora eu pensei em montar um firewall para essa Máquina.
    Já tenho as regras no esquema. Mas estou com dúvidas em quais portas liberar.
    Nesse server só vai rodar mesmo o squid (proxy) como serviço pela porta padrão 3128. (Usuários navegam pelo navegadordas em suas CPU´s)

    Dúvidas:
    1) Precisarei liberar essas portas também como FTP (20,21), DNS (53), Smtp e pop3 (110,25) entre outras Ou só liberando a porta 3128 o meu firewall, que é para os usuários navegarem já fica tudo OK ?

    2) Gostaria de colocar umas regras também para habilitar o Emule, redirecionado para os usuários que estã na "eth1" as portas 5334 TCP, 27234 UDP, alguém pode me dar uma ajuda em como fazer as regras ?

  13. #13

    Padrão

    Se for proxy transparente 80 e 3128 (chain INPUT) e tem que liberar a porta 443 (chain FORWARD) para https... isso pra navegação web, para os demais serviços que deseja liberar é só ver a porta e liberar.

    para montar as regras:
    Guia Foca GNU/Linux - Firewall iptables

  14. #14

    Padrão

    Citação Postado originalmente por elderjmp Ver Post
    Se for proxy transparente 80 e 3128 (chain INPUT) e tem que liberar a porta 443 (chain FORWARD) para https... isso pra navegação web, para os demais serviços que deseja liberar é só ver a porta e liberar.

    para montar as regras:
    Guia Foca GNU/Linux - Firewall iptables
    Bom,

    O Proxy não vai ser transparente. Dessa forma vou liberar somente a 3128 no INPUT, correto ?

    Quanto a porta 443 (chain FORWARD), porque devo liberá-la na FORWARD e não na INPUT ?
    Última edição por robsoncb; 25-05-2008 às 01:39.

  15. #15

    Padrão

    Citação Postado originalmente por robsoncb Ver Post
    Bom,

    O Proxy não vai ser transparente. Dessa forma vou liberar somente a 3128 no INPUT, correto ?

    Quanto a porta 443 (chain FORWARD), porque devo liberá-la na FORWARD e não na INPUT ?
    Faça um teste e verifique. Testando, errando e aprendendo... ok?!

    Proxy transparente o https não funciona, mas esse não é o seu caso. Então acho que não vai ser preciso liberar... só configurar nos navegadores. Seria na FORWARD porque seu firewall não é um servidor web, então não precisa aceitar requisições na porta 443 e sim permitir o repasse.

  16. #16

    Padrão

    Citação Postado originalmente por elderjmp Ver Post
    Faça um teste e verifique. Testando, errando e aprendendo... ok?!

    Proxy transparente o https não funciona, mas esse não é o seu caso. Então acho que não vai ser preciso liberar... só configurar nos navegadores. Seria na FORWARD porque seu firewall não é um servidor web, então não precisa aceitar requisições na porta 443 e sim permitir o repasse.
    Enfim já montei o meu firewall através de estudos pela net. Liberei a Chain FORWARD para toda a minha rede, pois não há problema nessa situação. Prendi o acesso a chain INPUT 3128 a rede interna, pois só lá que vão acessar o squid mesmo. Ssh e ftp vou ter que mecher de fora, liberei para todas as origens. Estou com dúvida ainda se devo liberar a porta 80 na Chain INPUT.
    Segue o mesmo abaixo:

    #Limpando regras
    iptables -F

    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    #Aceita todo o tráfego vindo do loopback e indo pro loopback
    iptables -A INPUT -i lo -j ACCEPT

    #CHAIN INPUT

    iptables -A INPUT -p tcp -m state --state NEW -s 0/0 --dport 20 -j ACCEPT

    iptables -A INPUT -p tcp -m state --state NEW -s 0/0 --dport 21 -j ACCEPT

    iptables -A INPUT -p tcp -m state --state NEW -s 0/0 --dport 22 -j ACCEPT

    iptables -A INPUT -p tcp -m state --state NEW -s 192.168.1.0/24 --dport 80 -j ACCEPT (dúvida)

    iptables -A INPUT -p tcp -m state --state NEW -s 192.168.1.0/24 --dport 3128 -j ACCEPT

    #CHAIN FORWARD

    iptables -A FORWARD -m state --state NEW -s 192.168.1.0/24 -j ACCEPT

    Ok, Vou fazer os testes na segunda, pois estou no local nesse dia : )

    Se acharem que alguma regra não está legal podem me dizer !!
    Última edição por robsoncb; 25-05-2008 às 01:56.

  17. #17

    Padrão

    Bom pessoal resumi melhor o meu firewall.
    Ficou da seguinte forma:

    #Limpa as regras
    iptables -F
    iptables -t mangle -F

    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT

    #Aceita todo o tráfego vindo do loopback e indo pro loopback
    iptables -A INPUT -i lo -j ACCEPT

    #CHAIN INPUT

    iptables -A INPUT -i eth0 -s 192.168.10.0/24 -j ACCEPT
    iptables -A INPUT -i eth1 -m state -–state ESTABLISHED,RELATED -j ACCEPT


    #CHAIN FORWARD

    iptables -A FORWARD -i eth0 -s 192.168.10.0/24 -j ACCEPT
    iptables -A FORWARD -i eth1 -m state -–state ESTABLISHED,RELATED -j ACCEPT

    Agora funcionou !!
    Vlw !!
    Última edição por robsoncb; 26-05-2008 às 14:30.

  18. #18

    Padrão

    Olha só, com sinceridade, eu não faria assim não... se for pra deixar assim nem vejo motivo de você ter um firewall, está tudo liberado!

  19. #19

    Padrão

    Citação Postado originalmente por elderjmp Ver Post
    Olha só, com sinceridade, eu não faria assim não... se for pra deixar assim nem vejo motivo de você ter um firewall, está tudo liberado!
    Bom,
    Eth0 é a rede Interna
    Eth1 é a rede externa

    Arrumei a casa, intenção "fechar para a rede externa" e "liberar só para interna":

    #Limpa as regras
    iptables -F
    iptables -t mangle -F

    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    #Aceita todo o trafego vindo do loopback e indo pro loopback
    iptables -A INPUT -i lo -j ACCEPT

    #CHAIN INPUT

    iptables -A INPUT -i eth0 -s 192.168.10.0/24 -j ACCEPT

    #CHAIN FORWARD

    iptables -A FORWARD -i eth0 -s 192.168.10.0/24 -j ACCEPT
    Última edição por robsoncb; 26-05-2008 às 20:52.