+ Responder ao Tópico



  1. Citação Postado originalmente por irado Ver Post
    analisando um pouco melhor, ME PARECE que falta uma regra de prerouting pra vc:

    $IPT -t nat -A PREROUTING -i $NIC_INTERNA -s $REDE -p ALL -d 0/0 -j ACCEPT

    pelo que vi vc só está roteando a porta 80 (HTTP). Experimente e vamos ver no que dá.
    ok...eu coloquei a linha que se segue no meu firewall:

    iptables -t nat -A PREROUTING -i eth1 -s $rede_interna -p ALL -d 0/0 -j ACCEPT

    executei o firewall denovo mas mesmo assim não quer funcionar...a internet nas estações só funciona se eu setar o proxy no IE e o outlook continua dando o mesmo erro:
    O estranho que fiz essa mesma estrututa usando computadores virtual, e está dando o msm problema

    A seguir segue a configuração das plcas de rede:

    eth0 (onde chega a internet vindo de um roteador)
    Encapsulamento do Link: Ethernet Endereço de HW 08:00:27:8C:78:39
    inet end.: 192.168.0.122 Bcast:192.168.0.255 Masc:255.255.255.0
    UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1
    RX packets:34 errors:0 dropped:0 overruns:0 frame:0
    TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
    colisões:0 txqueuelen:1000
    RX bytes:12221 (11.9 KiB) TX bytes:5350 (5.2 KiB)
    IRQ:11 Endereço de E/S:0xc020

    eth1 (rede interna)
    Encapsulamento do Link: Ethernet Endereço de HW 08:00:27:92:B4:E7
    inet end.: 192.168.1.3 Bcast:192.168.1.255 Masc:255.255.255.0
    UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1
    RX packets:83 errors:0 dropped:0 overruns:0 frame:0
    TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
    colisões:0 txqueuelen:1000
    RX bytes:11612 (11.3 KiB) TX bytes:25580 (24.9 KiB)
    IRQ:10 Endereço de E/S:0xc060


    Obrigado!

  2. Olá amigo,

    Se seu firewall esta com as políticas padrão em DROP, em especial FORWARD, você ainda precisa do seguinte:

    Código :
    iptables -t filter -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    Dessa forma você estará permitindo que as conexões criadas dentro de sua rede voltem!
    Tenta ai amigo!!

    Abraço,

    André



  3. bão.. já que tá rebelde mesmo, vamos usar a força bruta: use o MEU script de firewall, substituindo o que for apropriado para vc. Uma coisa te garanto: funciona, direitinho.

    APÓS vc faze-lo funcionar aí (creio que sem dificuldades) vc pode torna-lo restrito - apenas algumas portas ao invés de todas, etc.

    Experimente, basta um copy/paste e pronto.

    #!/bin/bash -x
    IPT=`which iptables`
    NIC_INTERNA=eth2
    NIC_CONTROLE=eth0
    NIC_EXTERNA=eth1
    REDE=192.168.101.0/24
    PORTAS_AUTORIZADAS=119,110,113,25,80,443,22,5435,5377,6666:6667,6881:6891 #ainda não estão sendo usadas
    #nntp,pop3,auth,smtp,http,https,ssh,irc #pode-se usar nomes das portas, ao invés de numeros.

    modprobe iptable_nat
    limpa(){
    $IPT -F -t filter
    $IPT -X -t filter
    $IPT -F -t nat
    $IPT -X -t nat
    $IPT -F -t mangle
    $IPT -X -t mangle
    }
    iniciar(){
    # estabelecendo politicas
    $IPT -t filter -P FORWARD DROP #-->
    $IPT -t filter -P INPUT DROP #-->
    $IPT -t filter -P OUTPUT DROP #--->

    limpa
    ##--> regras TABELA FILTER, chain INPUT
    $IPT -t filter -A INPUT -i lo -j ACCEPT
    $IPT -t filter -A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT # Echo Request
    $IPT -t filter -A INPUT -i $NIC_CONTROLE -j ACCEPT
    $IPT -t filter -A INPUT -i $NIC_INTERNA -j ACCEPT
    $IPT -t filter -A INPUT -i tun+ -j ACCEPT
    $IPT -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    $IPT -t filter -A INPUT -p tcp -m multiport --destination-port domain,ntp,5435,10000 -j ACCEPT
    $IPT -t filter -A INPUT -p udp -m multiport --destination-port domain,ntp -j ACCEPT
    #----> so quando necessario fazer ftp a partir DESTA MAQUINA -- start
    #$IPT -t filter -A INPUT -p tcp -m multiport --sport 20:21 -m state --state ESTABLISHED,RELATED -j ACCEPT
    #$IPT -t filter -A INPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ACCEPT
    #----> so quando necessario fazer ftp -- stop
    $IPT -t filter -A INPUT -p ALL -s $REDE -i $NIC_INTERNA -j ACCEPT
    #$IPT -t filter -A INPUT -p tcp --syn -j LOG --log-prefix "** INPUT - DESCARTADOS **"
    $IPT -t filter -A INPUT -p tcp --syn -j DROP
    #
    ###--> regras TABELA FILTER, chain OUTPUT
    #
    $IPT -t filter -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    $IPT -t filter -A OUTPUT -o $NIC_EXTERNA -p tcp -m multiport --dport domain,http,https -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    $IPT -t filter -A OUTPUT -p tcp -m multiport --dport domain,ntp -j ACCEPT
    $IPT -t filter -A OUTPUT -p udp -m multiport --dport domain,ntp -j ACCEPT
    $IPT -t filter -A OUTPUT -o lo -j ACCEPT
    #----> so quando necessario fazer ftp DESTA MAQUINA -- start
    #$IPT -t filter -A OUTPUT -o $NIC_EXTERNA -p tcp --dport ftp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    #$IPT -t filter -A OUTPUT -o $NIC_EXTERNA -p icmp --icmp-type echo-request -j ACCEPT
    #$IPT -t filter -A OUTPUT -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
    #$IPT -t filter -A OUTPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT
    #----> so quando necessario fazer ftp -- stop
    ##--> regras TABELA FILTER, chain FORWARD
    #
    $IPT -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    $IPT -t filter -A FORWARD -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec --limit-burst 5 -j ACCEPT
    $IPT -t filter -A FORWARD -s $REDE -d 0/0 -j ACCEPT
    # --> NAT
    ###--> regras TABELA NAT, chain PREROUTING
    #--> para o squid
    $IPT -t nat -A PREROUTING -i $NIC_INTERNA -p tcp -d 0/0 --dport 80 -j REDIRECT --to-port 3128
    $IPT -t nat -A PREROUTING -i $NIC_INTERNA -d 0/0 -j ACCEPT
    ###--> regras TABELA NAT, chain POSTROUTING
    #
    $IPT -t nat -A POSTROUTING -s $REDE -p ALL -o $NIC_EXTERNA -j MASQUERADE

    }
    encerrar(){
    limpa
    $IPT -t filter -P FORWARD ACCEPT
    $IPT -t filter -P INPUT ACCEPT
    $IPT -t filter -P OUTPUT ACCEPT
    }

    case "$1" in
    start)
    iniciar
    ;;
    stop)
    encerrar
    limpa
    ;;
    restart)
    encerrar
    iniciar
    ;;
    *)
    echo "Uso $0 {start | stop | restart}"
    ;;
    esac

    ########
    convém também usar o seguinte /etc/sysctl.conf:

    #
    # /etc/sysctl.conf - Configuration file for setting system variables
    # See sysctl.conf (5) for information.

    # Uncomment the following to stop low-level messages on console
    #kernel.printk=4 4 1 7

    ##############################################################3
    # Functions previously found in netbase
    #

    # Uncomment the next line to enable Spoof protection (reverse-path filter)
    net.ipv4.conf.default.rp_filter=1

    # Uncomment the next line to enable TCP/IP SYN cookies

    # Uncomment the next line to enable packet forwarding for IPv6
    #net.ipv6.conf.default.forwarding=1
    net.ipv4.tcp_timestamps=0
    net.ipv4.tcp_timestamps=0
    net.ipv4.ip_forward=1
    net.ipv4.tcp_syncookies=1
    net.ipv4.icmp_echo_ignore_broadcasts=1
    net.ipv4.conf.all.accept_source_route=0
    net.ipv4.conf.all.secure_redirects=0
    net.ipv4.conf.all.log_martians=1

    #################

    bem.. espero que agora tudo esteja resolvido. Isso aí funciona em empresa com aprox. 20 máquinas acessando tudo a que tem direito.

    divirta-se.

  4. Citação Postado originalmente por zenun Ver Post
    Olá amigo,

    Se seu firewall esta com as políticas padrão em DROP, em especial FORWARD, você ainda precisa do seguinte:

    Código :
    iptables -t filter -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    Dessa forma você estará permitindo que as conexões criadas dentro de sua rede voltem!
    Tenta ai amigo!!

    Abraço,

    André
    E ai, blz...
    Quando eu coloquei essa linha no meu firewall estranho que as outras maquinas pararam de funcionar a internet, funcionou apenas aqui no linux, pq sera....

    Obrigado!



  5. Citação Postado originalmente por irado Ver Post
    bão.. já que tá rebelde mesmo, vamos usar a força bruta: use o MEU script de firewall, substituindo o que for apropriado para vc. Uma coisa te garanto: funciona, direitinho.

    APÓS vc faze-lo funcionar aí (creio que sem dificuldades) vc pode torna-lo restrito - apenas algumas portas ao invés de todas, etc.

    Experimente, basta um copy/paste e pronto.

    #!/bin/bash -x
    IPT=`which iptables`
    NIC_INTERNA=eth2
    NIC_CONTROLE=eth0
    NIC_EXTERNA=eth1
    REDE=192.168.101.0/24
    PORTAS_AUTORIZADAS=119,110,113,25,80,443,22,5435,5377,6666:6667,6881:6891 #ainda não estão sendo usadas
    #nntp,pop3,auth,smtp,http,https,ssh,irc #pode-se usar nomes das portas, ao invés de numeros.

    modprobe iptable_nat
    limpa(){
    $IPT -F -t filter
    $IPT -X -t filter
    $IPT -F -t nat
    $IPT -X -t nat
    $IPT -F -t mangle
    $IPT -X -t mangle
    }
    iniciar(){
    # estabelecendo politicas
    $IPT -t filter -P FORWARD DROP #-->
    $IPT -t filter -P INPUT DROP #-->
    $IPT -t filter -P OUTPUT DROP #--->

    limpa
    ##--> regras TABELA FILTER, chain INPUT
    $IPT -t filter -A INPUT -i lo -j ACCEPT
    $IPT -t filter -A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT # Echo Request
    $IPT -t filter -A INPUT -i $NIC_CONTROLE -j ACCEPT
    $IPT -t filter -A INPUT -i $NIC_INTERNA -j ACCEPT
    $IPT -t filter -A INPUT -i tun+ -j ACCEPT
    $IPT -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    $IPT -t filter -A INPUT -p tcp -m multiport --destination-port domain,ntp,5435,10000 -j ACCEPT
    $IPT -t filter -A INPUT -p udp -m multiport --destination-port domain,ntp -j ACCEPT
    #----> so quando necessario fazer ftp a partir DESTA MAQUINA -- start
    #$IPT -t filter -A INPUT -p tcp -m multiport --sport 20:21 -m state --state ESTABLISHED,RELATED -j ACCEPT
    #$IPT -t filter -A INPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ACCEPT
    #----> so quando necessario fazer ftp -- stop
    $IPT -t filter -A INPUT -p ALL -s $REDE -i $NIC_INTERNA -j ACCEPT
    #$IPT -t filter -A INPUT -p tcp --syn -j LOG --log-prefix "** INPUT - DESCARTADOS **"
    $IPT -t filter -A INPUT -p tcp --syn -j DROP
    #
    ###--> regras TABELA FILTER, chain OUTPUT
    #
    $IPT -t filter -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    $IPT -t filter -A OUTPUT -o $NIC_EXTERNA -p tcp -m multiport --dport domain,http,https -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    $IPT -t filter -A OUTPUT -p tcp -m multiport --dport domain,ntp -j ACCEPT
    $IPT -t filter -A OUTPUT -p udp -m multiport --dport domain,ntp -j ACCEPT
    $IPT -t filter -A OUTPUT -o lo -j ACCEPT
    #----> so quando necessario fazer ftp DESTA MAQUINA -- start
    #$IPT -t filter -A OUTPUT -o $NIC_EXTERNA -p tcp --dport ftp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    #$IPT -t filter -A OUTPUT -o $NIC_EXTERNA -p icmp --icmp-type echo-request -j ACCEPT
    #$IPT -t filter -A OUTPUT -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
    #$IPT -t filter -A OUTPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT
    #----> so quando necessario fazer ftp -- stop
    ##--> regras TABELA FILTER, chain FORWARD
    #
    $IPT -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    $IPT -t filter -A FORWARD -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec --limit-burst 5 -j ACCEPT
    $IPT -t filter -A FORWARD -s $REDE -d 0/0 -j ACCEPT
    # --> NAT
    ###--> regras TABELA NAT, chain PREROUTING
    #--> para o squid
    $IPT -t nat -A PREROUTING -i $NIC_INTERNA -p tcp -d 0/0 --dport 80 -j REDIRECT --to-port 3128
    $IPT -t nat -A PREROUTING -i $NIC_INTERNA -d 0/0 -j ACCEPT
    ###--> regras TABELA NAT, chain POSTROUTING
    #
    $IPT -t nat -A POSTROUTING -s $REDE -p ALL -o $NIC_EXTERNA -j MASQUERADE

    }
    encerrar(){
    limpa
    $IPT -t filter -P FORWARD ACCEPT
    $IPT -t filter -P INPUT ACCEPT
    $IPT -t filter -P OUTPUT ACCEPT
    }

    case "$1" in
    start)
    iniciar
    ;;
    stop)
    encerrar
    limpa
    ;;
    restart)
    encerrar
    iniciar
    ;;
    *)
    echo "Uso $0 {start | stop | restart}"
    ;;
    esac

    ########
    convém também usar o seguinte /etc/sysctl.conf:

    #
    # /etc/sysctl.conf - Configuration file for setting system variables
    # See sysctl.conf (5) for information.

    # Uncomment the following to stop low-level messages on console
    #kernel.printk=4 4 1 7

    ##############################################################3
    # Functions previously found in netbase
    #

    # Uncomment the next line to enable Spoof protection (reverse-path filter)
    net.ipv4.conf.default.rp_filter=1

    # Uncomment the next line to enable TCP/IP SYN cookies

    # Uncomment the next line to enable packet forwarding for IPv6
    #net.ipv6.conf.default.forwarding=1
    net.ipv4.tcp_timestamps=0
    net.ipv4.tcp_timestamps=0
    net.ipv4.ip_forward=1
    net.ipv4.tcp_syncookies=1
    net.ipv4.icmp_echo_ignore_broadcasts=1
    net.ipv4.conf.all.accept_source_route=0
    net.ipv4.conf.all.secure_redirects=0
    net.ipv4.conf.all.log_martians=1

    #################

    bem.. espero que agora tudo esteja resolvido. Isso aí funciona em empresa com aprox. 20 máquinas acessando tudo a que tem direito.

    divirta-se.

    Opa!!! Valeu msm pela ajuda
    hehehe engracado que ainda nao funcionou, esta dando erro nessas ultimas 8 linhas de command not found, sera que 'e por isso...

    Muito obrigado
    Abraco.






Tópicos Similares

  1. Kurumin6 não consigo fazer funcionar Proxy transparente!!!
    Por frugoni no fórum Servidores de Rede
    Respostas: 3
    Último Post: 26-07-2006, 09:05
  2. Fazer funcionar Proxy Transparente
    Por capgaiotto no fórum Servidores de Rede
    Respostas: 3
    Último Post: 23-03-2006, 20:18
  3. Como fazer para um site não passar pelo proxy transparente ???
    Por nikolas no fórum Servidores de Rede
    Respostas: 6
    Último Post: 10-03-2006, 07:55
  4. fazer FTP pelo proxy transparente!!!
    Por oxito no fórum Servidores de Rede
    Respostas: 14
    Último Post: 16-11-2004, 15:34
  5. Como fazer proxy transparente com ipchains
    Por linuxfull no fórum Servidores de Rede
    Respostas: 4
    Último Post: 26-03-2004, 15:11

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L