+ Responder ao Tópico



  1. #1

    Exclamation Configuração do Iptables redirecionamento de porta

    Estou com este problema a dias e não consigo soluções em nenhum dos forum, gostaria que algum de vocês me ajudasse com este caso, estou configurando um firewall, que ira trabalhar com o proxy transparente, mas não consigo que as minhas estações funcione de modo transparente so consigo que funcione configurando o proxy manualmente segue abaixo as configurações.
    eth0 rede interna
    eth1 internet


    ***************squid*******************************
    http_port 3128 transparent
    visible_hostname Firewall-Lauro

    acl all src 0.0.0.0/0.0.0.0
    acl localhost src 127.0.0.1
    acl ip_liberado src "/etc/squid/ip_liberado.txt"
    acl ip_restrito src "/etc/squid/ip_restrito.txt"
    acl sites_liberados url_regex -i "/etc/squid/sites_liberados.txt"

    http_access allow ip_liberado
    http_access deny ip_restrito !sites_liberados
    http_access deny all




    **************************Iptables****************************************
    # Generated by iptables-save v1.3.5 on Mon Jan 12 09:41:32 2009
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [1003:300598]
    :RH-Firewall-1-INPUT - [0:0]
    -A INPUT -j RH-Firewall-1-INPUT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state INVALID -j DROP
    -A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 3128 -j ACCEPT
    -A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 10000 -j ACCEPT
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -j RH-Firewall-1-INPUT
    -A FORWARD -m state --state INVALID -j DROP
    -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A RH-Firewall-1-INPUT -i lo -j ACCEPT
    -A RH-Firewall-1-INPUT -i eth1 -j ACCEPT
    -A RH-Firewall-1-INPUT -i eth0 -j ACCEPT
    -A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
    -A RH-Firewall-1-INPUT -p esp -j ACCEPT
    -A RH-Firewall-1-INPUT -p ah -j ACCEPT
    -A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT
    -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
    -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
    -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    # Completed on Mon Jan 12 09:41:32 2009
    # Generated by iptables-save v1.3.5 on Mon Jan 12 09:41:32 2009
    *mangle
    :PREROUTING ACCEPT [1453:400453]
    :INPUT ACCEPT [863:328633]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [1003:300598]
    :POSTROUTING ACCEPT [1003:300598]
    -A PREROUTING -i eth1 -j MARK --set-mark 0x9
    -A PREROUTING -i eth0 -j MARK --set-mark 0x9
    COMMIT
    # Completed on Mon Jan 12 09:41:32 2009
    # Generated by iptables-save v1.3.5 on Mon Jan 12 09:41:32 2009
    *nat
    :PREROUTING ACCEPT [601:72737]
    :POSTROUTING ACCEPT [95:5687]
    :OUTPUT ACCEPT [95:5687]
    -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
    -A POSTROUTING -m mark --mark 0x9 -j MASQUERADE
    -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth1 -j MASQUERADE
    COMMIT
    # Completed on Mon Jan 12 09:41:32 2009

  2. #2

    Padrão

    o que dizem os log's do squid, a respeito? Ou então vc pode inicializa-lo com -d 3 pra acompanhar.

    Use também o tcpdump -vv host ip_do_seu_host port 3128
    Última edição por irado; 13-01-2009 às 09:26.

  3. #3

    Padrão

    Amigo,

    Aqui uso um regra muito parecida, porém não tem o "s" no "to-ports".

    iptables -t nat -A PREROUTING -i $ETH_LOCAL -s $SUB_REDE -p tcp --dport 80 -j REDIRECT --to-port 3128

    Sds,

  4. #4

    Padrão

    Concordo com o amigo. O correto é "to_port".
    No meu caso, o proxy transparente funciona legal, só que estou tendo problema com um
    aplicativo da Caixa. Se eu deixo o proxy transparente, não rola.
    Alguem tem alguma dica de redirecionar a porta 80 para a 3128, exceto um determinado ip?
    Sei que não adianta mexer no squid.conf
    O site não aceita proxy. E não é https, é java.
    Teria que ser uma regra tipo
    iptables -t nat -A PREROUTING -i eth0 -s eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
    acrescentado de ! 201.xx.xxx.0
    Valeu pela dica.

  5. #5
    MODERADOR-CHEFE Avatar de osmano807
    Ingresso
    Aug 2008
    Localização
    Araguari - Minas Gerais
    Posts
    1.980
    Posts de Blog
    5

    Padrão

    Citação Postado originalmente por jadirorza Ver Post
    Concordo com o amigo. O correto é "to_port".
    No meu caso, o proxy transparente funciona legal, só que estou tendo problema com um
    aplicativo da Caixa. Se eu deixo o proxy transparente, não rola.
    Alguem tem alguma dica de redirecionar a porta 80 para a 3128, exceto um determinado ip?
    Sei que não adianta mexer no squid.conf
    O site não aceita proxy. E não é https, é java.
    Teria que ser uma regra tipo
    iptables -t nat -A PREROUTING -i eth0 -s eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
    acrescentado de ! 201.xx.xxx.0
    Valeu pela dica.
    Talvez isso resolva
    Linux: Liberando acesso ao Conectividade Social [Dica]
    Mas tenta ver que porta que o site da caixa acessa, e qual ip, vai liberando um por um, não faz direto na regra proposta, senão libera um range de ip brasileiro muito grande.

  6. #6

    Padrão Iptables

    adcionei estas regras mas não funciona so funciona com o proxy manualmente

  7. #7

    Padrão

    Não é para adicionar e sim substituir a regra.
    Analize também as interfaces de rede, esses exemplos é para você entender e não simplesmente copiar, porque cada pessoa usa de uma maneira, a idéia que é sempre igual.

    Sds,

  8. #8

    Padrão Iptables

    Citação Postado originalmente por cesarkallas Ver Post
    Não é para adicionar e sim substituir a regra.
    Analize também as interfaces de rede, esses exemplos é para você entender e não simplesmente copiar, porque cada pessoa usa de uma maneira, a idéia que é sempre igual.

    Sds,
    Eu zerei as regras do iptables e inserir, mas continua a mesma coisa so funciona configurado manualmente estas são regras que inserir

    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -m state --state INVALID -j DROP
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 8080 -j ACCEPT
    iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 10000 -j ACCEPT
    iptables -A FORWARD -m state --state INVALID -j DROP
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

  9. #9

    Padrão

    eth0 é sua interface de LAN? e PQ usou interface na regra, ao invés de continuar com o endereçamento de LAN? e, POR QUE não apresentou os tcpdump/log's de squid, como solicitado?

  10. #10

    Padrão

    Citação Postado originalmente por irado Ver Post
    eth0 é sua interface de LAN? e PQ usou interface na regra, ao invés de continuar com o endereçamento de LAN? e, POR QUE não apresentou os tcpdump/log's de squid, como solicitado?
    Irado utilizei a interface porque o pessoal do forum mando colocar pra se funcionava o proxy transparente, como que aceeso o tcpdump/log.

  11. #11

    Padrão

    os log's do squid estão em /var/log/squid/access.log; vc pode analisar se está aceitando/rejeitando. Pode também acrescentar regra com "-j LOG" ANTES, assim:

    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j LOG e, posteriomente a regra regular:
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

    assim a gente sabe se está ou não funcionando.

    ler em /var/log/messages ou
    tail -f /var/log/messages (tempo real)