+ Responder ao Tópico



  1. #1

    Padrão Um proxy, duas redes

    Pessoal tenho duas redes q acessam a mesma internet, como fazer o nat?

    iptables -t nat -A PREROUTING -i eth1,eth2 -p tcp --dport 80 -j REDIRECT --to-port 3128

    assim dá certo?

  2. #2

    Padrão

    Olha, acho que não, vc tem que fazer um redirecinamento pra cada placa de rede.

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

    Aqui eu fiz assim.

    Valeu.

  3. #3

  4. #4

    Padrão

    Deu certo não, pior, nem só com uma linha não tá dando certo, depois q ativo o proxy transparente a internet não funciona mais, o arquivo tá assim:

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

    e no squid.conf:

    http_port 3128 transparent

    to usando o Debian 5.0, já tentei só com uma linha e tb não funciona. E agora?

    Eu consigo pingar no site mas não consigo visualiza-los no navegador

  5. #5

    Padrão

    vc criou as acls liberando pras duas redes, tipo:

    acl redelocal src 192.168.1.0/24
    http_access allow redelocal


    acl redelocal2 src 192.168.2.0/24
    http_access allow redelocal
    2

  6. #6

  7. #7

    Padrão

    Citação Postado originalmente por fajo Ver Post
    Pessoal tenho duas redes q acessam a mesma internet, como fazer o nat?

    iptables -t nat -A PREROUTING -i eth1,eth2 -p tcp --dport 80 -j REDIRECT --to-port 3128

    assim dá certo?
    Olá amigo faça da seguinte forma:

    1° redirecionamento porta 80 ->> 3128
    iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
    iptables -t nat -A PREROUTING -s 192.168.2.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128


    2° NAT
    iptables -t nat POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
    iptables -t nat POSTROUTING -s 192.168.2.0/24 -j MASQUERADE

    3° acl's squid
    acl src redelocal1 192.168.1.0/24
    acl src redelocal2 192.168.2.0/24

    http_access redelocal1 allow
    http_access redelocal2 allow

    e por último especifique ip:porta por onde o squid irá escutar as solicitações http dos clientes (não é obrigado especificar ip, mas por questões de segurança recomendo, evitando o uso do squid por outros host fora da sua rede).

    http_port 192.168.1.1 3128
    http_port 192.168.2.1 3128

    Mas seria interessante vc postar seu script de firewall e o seu squid.conf, caso a dica acima não resolva seu problema.

    abraços

  8. #8

    Padrão

    Ainda nada rrinfor, tai meu squid.conf:

    http_port 3128 transparent
    visible_hostname prioserver

    cache_mem 128 MB
    maximum_object_size_in_memory 64 KB
    maximum_object_size 256 MB
    minimum_object_size 0 KB
    cache_swap_low 90
    cache_swap_high 95
    cache_dir ufs /var/spool/squid 4096 32 128
    cache_access_log /var/log/squid/access.log
    refresh_pattern ^ftp: 15 20% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern . 15 20% 2280

    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl SSL_ports port 443 563
    acl Safe_ports port 80
    acl Safe_ports port 21
    acl Safe_ports port 443 563
    acl Safe_ports port 70
    acl Safe_ports port 210
    acl Safe_ports port 1025-64435
    acl Safe_ports port 280
    acl Safe_ports port 488
    acl Safe_ports port 591
    acl Safe_ports port 777
    acl Safe_ports port 901
    acl purge method PURGE
    acl CONNECT method CONNECT

    http_access allow manager localhost
    http_access deny manager
    http_access allow purge localhost
    http_access deny purge
    http_access deny !Safe_ports
    http_access deny CONNECT !SSL_ports

    acl rede1 src 10.0.0.0/8
    http_access allow rede1

    acl rede2 src 172.19.0.0/16
    http_access allow rede2

    http_access allow localhost

    http_access deny all



    e o arquivo q ativa o compartilhamento:


    #!/bin/sh
    modprobe iptable_nat
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -s 172.19.0.0/16 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 10.10.0.0/8 -j MASQUERADE
    #iptables -t nat -A PREROUTING -s 172.19.0.0/16 -p tcp --dport 80 -j REDIRECT --to-port 3128
    #iptables -t nat -A PREROUTING -s 10.10.0.0/8 -p tcp --dport 80 -j REDIRECT --to-port 3128
    #iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
    #echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
    #iptables -A INPUT -m state --state INVALID -j DROP
    #iptables -A INPUT -i lo -j ACCEPT
    #iptables -A INPUT -i eth1 -j ACCEPT
    #iptables -A INPUT -i eth2 -j ACCEPT
    #itpables -A INPUT -p tcp --dport 2442 -j ACCEPT
    #iptables -A INPUT -p tcp --syn -j DROP



    desta forma a rede navega normalmente, mas, é só eu ativar as linhas:

    #iptables -t nat -A PREROUTING -s 172.19.0.0/16 -p tcp --dport 80 -j REDIRECT --to-port 3128
    #iptables -t nat -A PREROUTING -s 10.10.0.0/8 -p tcp --dport 80 -j REDIRECT --to-port 3128

    e já era.

  9. #9

    Padrão

    Citação Postado originalmente por fajo Ver Post
    Ainda nada rrinfor, tai meu squid.conf:

    http_port 3128 transparent
    visible_hostname prioserver

    cache_mem 128 MB
    maximum_object_size_in_memory 64 KB
    maximum_object_size 256 MB
    minimum_object_size 0 KB
    cache_swap_low 90
    cache_swap_high 95
    cache_dir ufs /var/spool/squid 4096 32 128
    cache_access_log /var/log/squid/access.log
    refresh_pattern ^ftp: 15 20% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern . 15 20% 2280

    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl SSL_ports port 443 563
    acl Safe_ports port 80
    acl Safe_ports port 21
    acl Safe_ports port 443 563
    acl Safe_ports port 70
    acl Safe_ports port 210
    acl Safe_ports port 1025-64435
    acl Safe_ports port 280
    acl Safe_ports port 488
    acl Safe_ports port 591
    acl Safe_ports port 777
    acl Safe_ports port 901
    acl purge method PURGE
    acl CONNECT method CONNECT

    http_access allow manager localhost
    http_access deny manager
    http_access allow purge localhost
    http_access deny purge
    http_access deny !Safe_ports
    http_access deny CONNECT !SSL_ports

    acl rede1 src 10.0.0.0/8
    http_access allow rede1

    acl rede2 src 172.19.0.0/16
    http_access allow rede2

    http_access allow localhost

    http_access deny all



    e o arquivo q ativa o compartilhamento:


    #!/bin/sh
    modprobe iptable_nat
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -s 172.19.0.0/16 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 10.10.0.0/8 -j MASQUERADE
    #iptables -t nat -A PREROUTING -s 172.19.0.0/16 -p tcp --dport 80 -j REDIRECT --to-port 3128
    #iptables -t nat -A PREROUTING -s 10.10.0.0/8 -p tcp --dport 80 -j REDIRECT --to-port 3128
    #iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
    #echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
    #iptables -A INPUT -m state --state INVALID -j DROP
    #iptables -A INPUT -i lo -j ACCEPT
    #iptables -A INPUT -i eth1 -j ACCEPT
    #iptables -A INPUT -i eth2 -j ACCEPT
    #itpables -A INPUT -p tcp --dport 2442 -j ACCEPT
    #iptables -A INPUT -p tcp --syn -j DROP



    desta forma a rede navega normalmente, mas, é só eu ativar as linhas:

    #iptables -t nat -A PREROUTING -s 172.19.0.0/16 -p tcp --dport 80 -j REDIRECT --to-port 3128
    #iptables -t nat -A PREROUTING -s 10.10.0.0/8 -p tcp --dport 80 -j REDIRECT --to-port 3128

    e já era.
    Vou analizar suas configurações agora, mas enquanto isso ativa o redirecionamento no firewall e verifica o log do sistema para ver o que esta acontecendo ex:

    log do sistema
    tail -f -n 20 /var/log/syslog

    log do squid
    tail -f -n 20 /var/log/squid/access.log

    t+

  10. #10

    Padrão

    Vc conseguiu rrinfor, é incrível como apenas uma simples linha pode nos dar tanta informação:

    tail -f -n 20 /var/log/syslog

    jamais te esquecerei.

    olha só o q ela me disse:

    Mar 17 19:49:14 prioserver squid[2677]: #011Failed to verify one of the swap dir ectories, Check cache.log#012#011for details. Run 'squid -z' to create swap dir ectories#012#011if needed, or if running Squid for the first time.
    Mar 17 19:49:14 prioserver squid[2490]: Squid Parent: child process 2677 exited due to signal 6
    Mar 17 19:49:17 prioserver squid[2490]: Squid Parent: child process 2680 started
    Mar 17 19:49:17 prioserver squid[2680]: #011Failed to verify one of the swap dir ectories, Check cache.log#012#011for details. Run 'squid -z' to create swap dir ectories#012#011if needed, or if running Squid for the first time.
    Mar 17 19:49:17 prioserver squid[2490]: Squid Parent: child process 2680 exited due to signal 6
    Mar 17 19:49:17 prioserver squid[2490]: Exiting due to repeated, frequent failur es
    Mar 17 19:49:24 prioserver named[2162]: network unreachable resolving 'login.liv e.com/A/IN': 2001:503:231d::2:30#53
    Mar 17 19:51:00 prioserver named[2162]: network unreachable resolving 'ns1.mozil la.org/A/IN': 2001:500:c::1#53
    Mar 17 19:51:00 prioserver named[2162]: network unreachable resolving 'ns2.mozil la.org/A/IN': 2001:500:c::1#53
    Mar 17 19:51:00 prioserver named[2162]: network unreachable resolving 'ns2.mozil la.org/AAAA/IN': 2001:500:c::1#53

    ou seja, foi só usar o squid -z, para criar os diretorios e pronto tá funcionando, obrigado; agora, e esses "network unreachable resolving", são problemas? pq continua assim mesmo a internet estando normal.

    outra coisa, sobre essa linhas:
    http_port 192.168.1.1 3128
    http_port 192.168.2.1 3128

    no meu caso vão ficar assim:

    http_port 172.19.0.1:3128 transparent
    http_port 10.10.0.1:3128 tranparent

    mais uma vez obrigado

  11. #11

    Padrão

    Citação Postado originalmente por fajo Ver Post
    Vc conseguiu rrinfor, é incrível como apenas uma simples linha pode nos dar tanta informação:

    tail -f -n 20 /var/log/syslog

    jamais te esquecerei.

    olha só o q ela me disse:

    Mar 17 19:49:14 prioserver squid[2677]: #011Failed to verify one of the swap dir ectories, Check cache.log#012#011for details. Run 'squid -z' to create swap dir ectories#012#011if needed, or if running Squid for the first time.
    Mar 17 19:49:14 prioserver squid[2490]: Squid Parent: child process 2677 exited due to signal 6
    Mar 17 19:49:17 prioserver squid[2490]: Squid Parent: child process 2680 started
    Mar 17 19:49:17 prioserver squid[2680]: #011Failed to verify one of the swap dir ectories, Check cache.log#012#011for details. Run 'squid -z' to create swap dir ectories#012#011if needed, or if running Squid for the first time.
    Mar 17 19:49:17 prioserver squid[2490]: Squid Parent: child process 2680 exited due to signal 6
    Mar 17 19:49:17 prioserver squid[2490]: Exiting due to repeated, frequent failur es
    Mar 17 19:49:24 prioserver named[2162]: network unreachable resolving 'login.liv e.com/A/IN': 2001:503:231d::2:30#53
    Mar 17 19:51:00 prioserver named[2162]: network unreachable resolving 'ns1.mozil la.org/A/IN': 2001:500:c::1#53
    Mar 17 19:51:00 prioserver named[2162]: network unreachable resolving 'ns2.mozil la.org/A/IN': 2001:500:c::1#53
    Mar 17 19:51:00 prioserver named[2162]: network unreachable resolving 'ns2.mozil la.org/AAAA/IN': 2001:500:c::1#53

    ou seja, foi só usar o squid -z, para criar os diretorios e pronto tá funcionando, obrigado; agora, e esses "network unreachable resolving", são problemas? pq continua assim mesmo a internet estando normal.

    outra coisa, sobre essa linhas:
    http_port 192.168.1.1 3128
    http_port 192.168.2.1 3128

    no meu caso vão ficar assim:

    http_port 172.19.0.1:3128 transparent
    http_port 10.10.0.1:3128 tranparent

    mais uma vez obrigado
    Tranquilo, estamos ai pra ajudar e aprender tbm.

    As linhas acima estão correta contanto que o ip citado acima seja das interfaces local no server onde esta intalado o squid, ou seja o gateway das redes.

    Quanto a mensagem "network unreachable resolving 'ns2.mozil la.org/AAAA/IN': 2001:500:c::1#53" é normal aparecer coisas do tipo, é uma falha de resolução dns, portanto seria interessante um dns cache junto com o squid ex:

    instalando o bind (dns cache)
    apt-get install bind9

    configurando dns no squid
    dns_nameservers 127.0.0.1 << interface loopback onde o bind esta escutando por padrão

    abraços e não esqueça do botãozinho mágico no canto direito :-)