Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1

    Padrão Por Favor :( estou ficando louco com iptables

    Por favor, já li varios e varios tutoriais mas nao sei o que esta errado.
    Configuracao :

    Slackware 10.1
    eth0 : 192.168.254.1/24 ( ligado ao router velox 192.168.254.254 )
    eth1 : 10.0.10.254/24 ( ligado a rede interna )
    gateway do servidor : 192.168.254.254
    em resolv.conf coloquei nameserver 200.149.55.142 / 200.165.132.154
    O roteamento ip_forward esta ativado já na inicializacao ( rc.inet2 )
    fiz um script 'simples assim'para o firewall :
    iptables -P INPUT ACCEPT
    iptables -F INPUT
    iptables -P OUTPUT ACCEPT
    iptables -F OUTPUT
    iptables -P FORWARD DROP
    iptables -F FORWARD
    iptables -t nat -F
    iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    iptables -A FORWARD -j LOG
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    No servidor consigo pingar as duas redes. As estacoes da rede interna sao windows e coloquei assim :
    IP : 10.0.10.n ( <> 254 ) mask : 255.255.255.0
    Gateway : 10.0.10.254 DNS : os mesmos do servidor , tentei tambem com 192.168.254.254

    O que ocorre : ao abrir o navegador e digitar qualquer site aparece na barra de status que o site foi encontrado e fica tentando indefinidamente abrir o site mas nao aparece nada.
    Ao pingar www.cade.com.br aparece como resposta o ip do cade mas há uma grande perda de pacotes. Alterei o script para :
    iptables -F
    iptables -t nat -F
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    e tambem assim fica igual ao descrito acima, também tentei
    iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.254.1 e também nao funciona . alguma luz ??? Por favor

  2. #2
    maverick_cba
    Visitante

    Padrão Por Favor :( estou ficando louco com iptables

    Amigo o problema está bem claro, você está tentando fazer um acesso mas não liberou as portas necessárias.

    Quando você digitou:
    iptables -P FORWARD DROP

    você bloqueou todo o acesso que passe pelo firewall
    daí para funcionar algo você tem que liberar primeiro.

    Experimenta trocar o código mostrado acima por:

    iptables -P FORWARD ACCEPT

    Falows

  3. #3

    Padrão Por Favor :( estou ficando louco com iptables

    ja fiz isso e tb nao funciona

  4. #4
    Th3Cr0w
    Visitante

    Padrão Firewall

    alimasilva,

    Tenta utilizar o seguinte script:

    #!/bin/bash
    #######################################
    # Configuracao das variaveis
    IPC=/usr/sbin/iptables
    # INTER (Interface para Internet) - INTRA (Interface Rede Local)
    INTER=eth0
    INTRA=eth1

    ## Habilitacao do iptables no kernel ##
    ## Substitua os 1s por 0s para desabilitar alguma opcao ##

    # source address verification
    if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]
    then
    echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
    fi

    # syn cookies protection
    if [ -e /proc/sys/net/ipv4/tcp_syncookies ]
    then
    echo 1 > /proc/sys/net/ipv4/tcp_syncookies
    fi

    # handle dynamic IP masquerading
    if [ -e /proc/sys/net/ipv4/ip_dynaddr ]
    then
    echo 1 > /proc/sys/net/ipv4/ip_dynaddr
    fi

    # packet forwarding
    if [ -e /proc/sys/net/ipv4/ip_forward ]
    then
    echo 1 > /proc/sys/net/ipv4/ip_forward
    fi

    # Flushing all
    $IPC -F
    $IPC -X
    $IPC -Z
    $IPC -t nat -F
    $IPC -t nat -X
    $IPC -t nat -Z


    ## Esta secao define "logging" ##
    $IPC -N LDROP
    $IPC -A LDROP -p tcp -j LOG --log-level 3 --log-prefix "DROP"
    $IPC -A LDROP -p udp -j LOG --log-level 3 --log-prefix "DROP"
    $IPC -A LDROP -p icmp -j LOG --log-level 3 --log-prefix "DROP"
    $IPC -A LDROP -f -j LOG --log-level 3 --log-prefix "DROP"
    $IPC -A LDROP -j DROP

    $IPC -N LREJECT
    $IPC -A LREJECT -p tcp -j LOG --log-level 3 --log-prefix "REJECT"
    $IPC -A LREJECT -p udp -j LOG --log-level 3 --log-prefix "REJECT"
    $IPC -A LREJECT -p icmp -j LOG --log-level 3 --log-prefix "REJECT"
    $IPC -A LREJECT -f -j LOG --log-level 3 --log-prefix "REJECT"
    $IPC -A LREJECT -j REJECT

    $IPC -N LACCEPT
    $IPC -A LACCEPT -p tcp -j LOG --log-level 3 --log-prefix "ACCEPT"
    $IPC -A LACCEPT -p udp -j LOG --log-level 3 --log-prefix "ACCEPT"
    $IPC -A LACCEPT -p icmp -j LOG --log-level 3 --log-prefix "ACCEPT"
    $IPC -A LACCEPT -f -j LOG --log-level 3 --log-prefix "ACCEPT"
    $IPC -A LACCEPT -j ACCEPT

    $IPC -N TREJECT
    $IPC -A TREJECT -p tcp -j REJECT --reject-with tcp-reset
    $IPC -A TREJECT -p ! tcp -j REJECT --reject-with icmp-port-unreachable
    $IPC -A TREJECT -j REJECT

    $IPC -N LTREJECT
    $IPC -A LTREJECT -p tcp -j REJECT --reject-with tcp-reset
    $IPC -A LTREJECT -p ! tcp -j REJECT --reject-with icmp-port-unreachable
    $IPC -A LTREJECT -p tcp -j LOG --log-level 3 --log-prefix "REJECT "
    $IPC -A LTREJECT -p udp -j LOG --log-level 3 --log-prefix "REJECT "
    $IPC -A LTREJECT -p icmp -j LOG --log-level 3 --log-prefix "REJECT "
    $IPC -A LTREJECT -f -j LOG --log-level 3 --log-prefix "REJECT "
    $IPC -A LTREJECT -p tcp -j REJECT --reject-with tcp-reset
    $IPC -A LTREJECT -p ! tcp -j REJECT --reject-with icmp-port-unreachable
    $IPC -A LTREJECT -j REJECT


    ## Esta eh a parte magica do router ##
    # Setup the actual connection sharing
    $IPC -t nat -A POSTROUTING -o $INTER -j MASQUERADE
    $IPC -A FORWARD -i $INTRA -j LACCEPT
    $IPC -A FORWARD -m state --state ESTABLISHED,RELATED -j LACCEPT
    $IPC -A FORWARD -m limit --limit 60/minute --limit-burst 60


    ## Secao para lidar com port forwarding ##
    # Caso queira redirecionar a porta 80 (webserver) para outra maquina
    #$IPC -t nat -A PREROUTING -i $INTER -p tcp -d $INTER --dport 80 -j DNAT --to <IP_WEBSERVER>


    ## Esta secao define o que ira passar pelo firewall ##
    # Define a regra de OUTPUT padrao para ACCEPT.
    $IPC -P OUTPUT ACCEPT

    # Permite o trafego na interface lo (loopback)
    $IPC -I INPUT -i lo -j ACCEPT
    $IPC -I OUTPUT -o lo -j ACCEPT
    $IPC -I INPUT -i ! lo -s 127.0.0.0/255.0.0.0 -j ACCEPT

    # Permite a conexao de certos IPs para certos servicos.
    # Apenas descomente a linha e adicione as informacoes requeridas.
    # Para adicionar mais regras: copia e cole e depois altere :P.
    #$IPC -A INPUT -p tcp -s IP_TO_GIVE_ACCESS_TO/NETMASK -i $INTER --dport PORT_NUMBER -j LACCEPT

    # Permite conexoes BitTorrent
    $IPC -A INPUT -p tcp -s 0/0 -i $INTER --dport 6881:6889 -j LACCEPT

    # Permite conexoes com bit set ack.
    # (They are from an established connections)
    $IPC -A INPUT -p tcp ! --syn -i $INTER -j LACCEPT

    # Abre as portas para as conexoes estabelecidas
    $IPC -A INPUT -m state --state ESTABLISHED -j LACCEPT
    $IPC -A INPUT -m state --state RELATED -j LACCEPT

    # ICMP rules, permite somente o essencial. Todo request de Ping
    # e bloqueado
    $IPC -A INPUT -p icmp --icmp-type echo-reply -s 0/0 -i $INTER -j LACCEPT
    $IPC -A INPUT -p icmp --icmp-type destination-unreachable -s 0/0 -i $INTER -j LACCEPT
    $IPC -A INPUT -p icmp --icmp-type time-exceeded -s 0/0 -i $INTER -j LACCEPT
    $IPC -A INPUT -p icmp -i $INTER -j LDROP
    $IPC -A OUTPUT -p icmp -o $INTER -j LACCEPT

    # Define telnet, www, smtp, pop3 e FTP para um minimo de delay
    $IPC -t mangle -A OUTPUT -p tcp --dport 21 -j TOS --set-tos Minimize-Delay
    $IPC -t mangle -A OUTPUT -p tcp --dport 22 -j TOS --set-tos Minimize-Delay
    $IPC -t mangle -A OUTPUT -p tcp --dport 23 -j TOS --set-tos Minimize-Delay
    $IPC -t mangle -A OUTPUT -p tcp --dport 25 -j TOS --set-tos Minimize-Delay
    $IPC -t mangle -A OUTPUT -p tcp --dport 80 -j TOS --set-tos Minimize-Delay
    $IPC -t mangle -A OUTPUT -p tcp --dport 110 -j TOS --set-tos Minimize-Delay


    ## Esta secao lida com os bloqueios ##

    # Block nonroutable IPs
    # Note that you might want to comment in one of these if your I-Net provider is
    # using one of them (for my Road Runner I would have to comment in the 10.*)
    $IPC -A INPUT -s 10.0.0.0/8 -i $INTER -j LDROP
    $IPC -A INPUT -s 127.0.0.0/8 -i $INTER -j LDROP
    $IPC -A INPUT -s 172.16.0.0/12 -i $INTER -j LDROP
    $IPC -A INPUT -s 192.168.0.0/16 -i $INTER -j LDROP

    # Block Multicast
    $IPC -A INPUT -s 224.0.0.0/8 -d 0/0 -j LDROP
    $IPC -A INPUT -s 0/0 -d 224.0.0.0/8 -j LDROP

    # Block Back Orifice
    $IPC -A INPUT -p tcp -i $INTER --dport 31337 -j LDROP
    $IPC -A INPUT -p udp -i $INTER --dport 31337 -j LDROP

    # Block NetBus
    $IPC -A INPUT -p tcp -i $INTER --dport 12345:12346 -j LDROP
    $IPC -A INPUT -p udp -i $INTER --dport 12345:12346 -j LDROP

    # Block Trin00
    $IPC -A INPUT -p tcp -i $INTER --dport 1524 -j LDROP
    $IPC -A INPUT -p tcp -i $INTER --dport 27665 -j LDROP
    $IPC -A INPUT -p udp -i $INTER --dport 27444 -j LDROP
    $IPC -A INPUT -p udp -i $INTER --dport 31335 -j LDROP

    # Droping and logging ident requests. Note that some irc servers might not
    # like that very much
    $IPC -A INPUT -p tcp -i $INTER --dport 113 -j LDROP
    $IPC -A INPUT -p udp -i $INTER --dport 113 -j LDROP

    #Blocking access to the X Server ports.
    $IPC -A INPUT -p tcp -i $INTER --dport 5999:6003 -j LDROP
    $IPC -A INPUT -p udp -i $INTER --dport 5999:6003 -j LDROP
    $IPC -A INPUT -p tcp -i $INTER --dport 7100 -j LDROP
    $IPC -A INPUT -p tcp -i $INTER --dport 6000 -j LDROP

    #Block access to printer(lpd) and netbios-ssn.
    $IPC -A INPUT -p tcp -i $INTER --dport 139 -j LDROP
    $IPC -A INPUT -p tcp -i $INTER --dport 515 -j LDROP

    #DROP everything else
    $IPC -A INPUT -i $INTER -j LDROP




    Espero que te ajude.

    []'s

    Luis Falcão

  5. #5
    maverick_cba
    Visitante

    Padrão Por Favor :( estou ficando louco com iptables

    Então você está com problemas de rotas. Posta aí o retorno do comando route -n.

  6. #6

    Padrão Por Favor :( estou ficando louco com iptables

    luis usei o seu script ( reiniciei a maquina primeiro ) e também nao funcionou

  7. #7

    Padrão Por Favor :( estou ficando louco com iptables

    caro maverick, estou reinstalando o slack , vou sair da versao 10.1 e voltar para a 10, também estou trocando as placas realteck 8139 por outras ( 3com / Digital ) que estavam em outra maquina funcionando.
    Quando escolhi os pacotes na instalacao vi um pacote iproute2 creio que esse pacote deve ser o responsavel por rotas.
    O slack 10 ja vem com o modulo iptables compilado no kernell de forma que nao é preciso carrega-lo e em mais de 10 tutoriais sobre o assunto, segundo entendi , estando o ip_forward ativado e no slack é o rc.ip_forward que faz echo 1>/proc/sys/net/ipv4/ip_forward , a principio bastaria 2 linhas para que o compatilhamento com a internet funcionasse que é o :
    modprobe iptable_nat
    iptables -t nat -A POSTROUTING -o interface_ligada_ao router(eth0) -j MASQUERADE

    queria saber com certeza, esquecendo a segurança, basta isso e navega ?

  8. #8

    Padrão Por Favor :( estou ficando louco com iptables

    caro maverick, estou reinstalando o slack , vou sair da versao 10.1 e voltar para a 10, também estou trocando as placas realteck 8139 por outras ( 3com / Digital ) que estavam em outra maquina funcionando.
    Quando escolhi os pacotes na instalacao vi um pacote iproute2 creio que esse pacote deve ser o responsavel por rotas.
    O slack 10 ja vem com o modulo iptables compilado no kernell de forma que nao é preciso carrega-lo e em mais de 10 tutoriais sobre o assunto, segundo entendi , estando o ip_forward ativado e no slack é o rc.ip_forward que faz echo 1>/proc/sys/net/ipv4/ip_forward , a principio bastaria 2 linhas para que o compatilhamento com a internet funcionasse que é o :
    modprobe iptable_nat
    iptables -t nat -A POSTROUTING -o interface_ligada_ao router(eth0) -j MASQUERADE

    queria saber com certeza, esquecendo a segurança, basta isso e navega ?

  9. #9
    Th3Cr0w
    Visitante

    Padrão iptables

    Precisa também aceitar o FORWARD, ou seja, basta essas duas linhas:

    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    iptables -A FORWARD -i eth0 -j LACCEPT


    No caso de se usar NAT.

    No caso de se usar um scrpt. Eu utilizo este que postei no Slack 8. eu o chamei de rc.firewall e faço o start do mesmo automaticamente no boot.

    Caso queira um router linux mais fácil, você pode utilizar um que é bootável a partir de um floppy. O Coyote Linux (www.coyotelinux.com). Existe uma interface gráfica em Windows (tem script para linux também) no qual vc define as opções e ele cria o floppy (router) para você. Depois basta executar o boot pelo floppy. É muito mais prático e nem precisa de uma máquina tão potente (também dispensa o uso de hd).

  10. #10

    Padrão Por Favor :( estou ficando louco com iptables

    Resolvi o problema, :P
    Nao funcionava pois as placas de rede estavam compartilhando irq com outros perifericos, desabilitei os outros perifericos e funcionou.
    O mais estranho era que elas respondiam ao ping sem problemas.

    Mas queria uma ajuda se possivel , tenho o script abaixo, funcionando, e preciso que a rede 10.0.10.0/24 tenha acesso ao servidor 10.0.10.254 a vários servicos como telnet / ftp / samba que nao esta ocorrendo e que a maquina 10.0.10.83 nao tenha acesso ao messenger e a um site em especifico 200.234.200.9, alguem poderia me ajudar ?
    Agradeço desde já. Obrigado

    #!/bin/bash
    # ----------------------------------------------------------------
    # Scrip para firewall
    # ----------------------------------------------------------------
    echo "Carregando o firewall..."

    # Definindo as variaveis

    REDEINT="10.0.10.0/24"
    # IPDNSPROVEDOR="192.168.254.254"
    ENT="eth1"
    SAI="eth0"

    # carregando os modulos
    modprobe iptable_nat

    # limpando as tabelas
    iptables -F
    iptables -t nat -F


    # Protege contra os "Ping of Death"
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

    # Protege contra os ataques do tipo "Syn-flood, DoS, etc"
    iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

    # Permitir repassamento (NAT,DNAT,SNAT) de pacotes etabilizados e os relatados ...
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    # Logar os pacotes mortos por inatividade ...
    iptables -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG

    # Protege contra port scanners avançados (Ex.: nmap)
    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

    # Protege contra pacotes que podem procurar e obter informações da rede interna ...
    iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP

    # Protege contra todos os pacotes danificados e ou suspeitos ...
    iptables -A FORWARD -m unclean -j DROP

    # Bloqueando tracertroute
    iptables -A INPUT -p udp -s 0/0 -i $ENT --dport 33435:33525 -j DROP

    # Protecoes contra ataques
    iptables -A INPUT -m state --state INVALID -j DROP

    # Performance - Setando acesso a web com delay minimo
    iptables -t mangle -A OUTPUT -o $ENT -p tcp --dport 53 -j TOS --set-tos Minimize-Delay
    iptables -t mangle -A OUTPUT -o $ENT -p tcp --dport 80 -j TOS --set-tos Minimize-Delay

    # Deixa passar as portas UDP do servidores DNS, e Rejeitar o restante
    #iptables -A INPUT -i $ENT -p udp -s $IPDNSPROVEDOR -j ACCEPT
    #iptables -A INPUT -i $ENT -p udp -s $IPDNSPROVEDOR -j ACCEPT
    iptables -A INPUT -i $ENT -p udp -j ACCEPT

    # Bloqueia qualquer tentativa de conexao de fora para dentro por TCP
    iptables -A INPUT -i $ENT -p tcp --syn -j DROP

    # Mesmo assim fechar todas as portas abaixo de 32000
    iptables -A INPUT -i $ENT -p tcp --dport :32000 -j DROP

    # Responde pacotes icmp especificados e rejeita o restante
    iptables -A INPUT -i $ENT -p icmp --icmp-type host-unreachable -j ACCEPT
    iptables -A INPUT -i $ENT -p icmp --icmp-type source-quench -j ACCEPT
    iptables -A INPUT -i $ENT -p icmp -j REJECT --reject-with icmp-host-unreachable

    # Rejeita o Kazaa (não testado ainda)
    #$iptables -A FORWARD -p tcp -m string --string X-Kazaa-Username: -j REJECT --reject-with tcp-reset

    # libera acesso interno da rede
    iptables -A INPUT -p tcp --syn -s $REDEINT -j ACCEPT
    iptables -A OUTPUT -p tcp --syn -s $REDEINT -j ACCEPT
    iptables -A FORWARD -p tcp --syn -s $REDEINT -j ACCEPT

    # libera o loopback
    iptables -A OUTPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT

    # libera conexoes de fora pra dentro
    iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT

    #$iptables -A INPUT -p tcp --destination-port 443 -j ACCEPT
    #$iptables -A INPUT -p tcp --destination-port 20 -j ACCEPT
    #$iptables -A INPUT -p tcp --destination-port 21 -j ACCEPT
    #$iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT

    #libera conexoes de dentro pra fora:

    iptables -A OUTPUT -p tcp --destination-port 80 -j ACCEPT
    iptables -A OUTPUT -p tcp --destination-port 3306 -j ACCEPT
    iptables -A OUTPUT -p tcp --destination-port 22 -j ACCEPT
    iptables -A OUTPUT -p tcp --destination-port 20 -j ACCEPT
    iptables -A OUTPUT -p tcp --destination-port 21 -j ACCEPT
    iptables -A OUTPUT -p tcp --destination-port 86 -j ACCEPT
    iptables -A OUTPUT -p tcp --destination-port 5190 -j ACCEPT
    iptables -A OUTPUT -p tcp --destination-port 443 -j ACCEPT

    # libera o bittorrent - (não testado)
    # troque o X.X.X.X pelo IP da máquina correspondente
    #$iptables -A INPUT -p tcp --destination-port 1214 -j ACCEPT
    #$iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 1214 -j DNAT --to-dest X.X.X.X
    #$iptables -A FORWARD -p tcp -i ppp0 --dport 1214 -d X.X.X.X -j ACCEPT
    #$iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 1214 -j DNAT --to-dest X.X.X.X
    #$iptables -A FORWARD -p udp -i ppp0 --dport 1214 -d X.X.X.X -j ACCEPT

    # faz o icq receber arquivos - (não testado)
    # troque o X.X.X.X pelo IP da máquina correspondente
    #$iptables -A INPUT -p tcp --destination-port 2000:3000 -j ACCEPT
    #$iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 2000:3000 -j DNAT --to-dest X.X.X.X
    #$iptables -A FORWARD -p tcp -i ppp0 --dport 2000:3000 -d X.X.X.X -j ACCEPT
    #$iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 2000:3000 -j DNAT --to-dest X.X.X.X
    #$iptables -A FORWARD -p udp -i ppp0 --dport 2000:3000 -d X.X.X.X -j ACCEPT

    # compartilha a web na rede interna
    iptables -t nat -A POSTROUTING -s $REDEINT -o $SAI -j MASQUERADE
    echo 1 > /proc/sys/net/ipv4/ip_forward

    # bloqueia o resto
    iptables -A INPUT -p tcp --syn -j DROP
    iptables -A OUTPUT -p tcp --syn -j DROP
    iptables -A FORWARD -p tcp --syn -j DROP

    # bloqueia ping
    echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all

    # ----------------------------------------------------------------

    echo "Firewall carregado..."

  11. #11
    Sup0rt3
    Visitante

    Padrão Por Favor :( estou ficando louco com iptables

    Cara de boa isso é muito facil de fazer. Axo que devia dar uma pesquisada primeiro e depois postar aqui suas duvidas.

  12. #12
    Th3Cr0w
    Visitante

    Padrão Por Favor :( estou ficando louco com iptables

    Carinha, dá uma olhada no script que postei no tópico, na seção:

    ## Secao para lidar com port forwarding ##

    Basta descomentar a linha do $IPC (que é para porta 80), colocando o endereço do destino. Para os outros serviços, basta copiar e colar.

    Meu script tem função para bloquear/liberar/forward. Dá uma olhadinha nos comentários. Podem existir funções úteis para você. :good:

    []'s

    Luis Falcão

  13. #13
    Visitante

    Padrão Por Favor :( estou ficando louco com iptables

    Caro Suport 3, realmente isso parece muito fácil mas depois de 4 dias apanhando, achando-me uma besta pois como fala na rede , "qualquer uma faz um comparilhamento de internet" e depois acabar descobrindo que nao funcionava por causa de compartilhamento de IRQ de placa !!! e isso eu descobri por acaso no google ao ver uma postagem de um sofredor que nao conseguia colocar a quinta placa no firewall e ai descobri uma tal ACPI ( nao tem nada a ver com CPMI/CPI/CPMF :@: ), ai nesse ponto eu acho que :
    iptables -A INPUT -s 10.0.10.10/24 -p tcp --dport 20:2000 -j ACCEPT para acesso local de uma máquina ao server e
    iptables -A FORWARD -s 10.0.10.0/24 -d 200.234.200.9 -j DROP para nao acessar um site em especifico é fácil realmente, mas em que ponto do script é que é o caso ?!? pois algumas regras nao compreendo e nao posso mais parar a Internet o serviço ficou muito atrasado

  14. #14
    Sup0rt3
    Visitante

    Padrão Por Favor :( estou ficando louco com iptables

    vc disse que queria que a rede 10.0.10.0/24 tenha acesso ao servidor 10.0.10.254. Parace que eles estão na mesma rede intão não tem nada a ver com o firewall. Se vc esta tentando fazer uma DMZ ela não esta certa. alguem da internet acessa esse servidor ??? intão não tem porque ele estar atras de um firewall. Se acessar vc tem que refazer a topologia da sua rede.

    internet................................rede interna
    -------------| firewall |--------------|
    .....................................................|
    .....................................................|
    ...............10.0.10.254................|...........................10.0.10.0/24
    .................| servidor |----------| switch |-------------rede interna

    Viu o servidor não passa pelo firewall...o desenho de cima é sem DM e niguem acessa esse servidor pela internet.
    Se alguem acessar o seu servidor pel ainternet ai vc vai ter que colocar outra paca de rede no seu firewall e fazer isso:


    internet........................................rede interna
    --------------| firewall |------------------|
    ............................|...............................|
    ............................|...............................|
    ............................|...............................|
    ...................192.168.1.254...............|
    .....................| servidor |.....................|...........................10.0.10.0/24
    ....................................................| switch|---------------rede interna

    No desenho desconsidere os pontos. Ta vendo que o servidor esta ligado ao firewall e pra que a rede interna acessar o servidor tem que passar pelo firewall..Essa alternatica é muito mais segura.

    Esplica melhor ende ta esse servidor:
    heheh gostei de desenhar

    estranho que vc tenha problemas em bloquear algo ja que vc ta usando
    as politicas
    ptables -A INPUT -p tcp --syn -j DROP
    iptables -A OUTPUT -p tcp --syn -j DROP
    iptables -A FORWARD -p tcp --syn -j DROP

    mas enfim:
    Para bloquear o MSN da 10.0.10.83:
    Host que não acessam MSN
    # maquinas que NÂO acessão MSN
    $NO_MSN= "10.0.10.83"

    for HOSTS in $NO_MSN; do
    iptables -A FORWARD -p tcp -i $ENT -s $HOSTS -o $SAI --dport 1863 -j DROP
    iptables -t nat -A POSTROUTING -p tcp -s $HOSTS -o $SAI --dport 1863 -j SNAT --to $IP_NET
    done

    maquinas que É PERMITIDO MSN
    # coloque entre " " as maquinas que acessão MSN
    $YES_MSN= ""

    for HOSTS in $YES_MSN; do
    iptables -A FORWARD -p tcp -i $ENT -s $HOSTS -o $SAI --dport 1863 -j ACCEPT
    iptables -t nat -A POSTROUTING -p tcp -s $HOSTS -o $SAI --dport 1863 -j SNAT --to $IP_NET
    done


    Ufa. :good:

  15. #15

    Padrão Por Favor :( estou ficando louco com iptables

    Obrigado pela resposta mas cheguei a bloquear a porta 1863 e mesmo assim o infeliz do MSN abre e o webmsn nem esta ai.
    Como preciso bloquear alguns sites pelo dominio, instalei o squid e a velocidade das paginas aumentou em muito.

    mas criei as seguintes regras


    acl LAN 10.0.10.0/24 192.168.254.0/24
    acl site1 dstdomain arquivosex.com
    acl site2 loginnet.passport.com
    acl site3 webmessenger.msn.com


    http_access allow LAN
    http_access deny site1
    http_access deny site2
    http_access deny site3

    http_access deny all

    e mesmo assim o site e o msn continua a funcionar, poderiam me ajudar

    Quanto a questao do acesso ao servidor bastou eu fazer

    iptables -A INPUT -s 10.0.10.0/24 -p tcp --dport 20:2000 -j ACCEPT e ai as maquinas conseguiram acessar o http/ftp/telnet/swat que roda na maquina que é firewal e agora proxy também.

  16. #16
    Sup0rt3
    Visitante

    Padrão Por Favor :( estou ficando louco com iptables

    Vc redirecionou a porta 80 para a porta do squid ???? 3128 ou 8080 ???

    Axo que vc não esta usando o squid ainda.

  17. #17
    maverick_cba
    Visitante

    Padrão Por Favor :( estou ficando louco com iptables

    Amigo dá uma olhada nesse post, lá tem a solução.

    https://under-linux.org/modules.php?...383&highlight=

  18. #18

    Padrão Por Favor :( estou ficando louco com iptables

    Caro Suport3, limitei-me a instalar o squid e alterar o squid.conf se na instalacao o script de instalacao nao direcionou, nao deve estar. Deixei na porta padrao creio que 3128.

    Como é feito isso ou testo se esta havendo direcionamento para o proxy ?

    Engraçado é que toda vez que entro em um site o led do hd do server acende e na segunda vez que entro 'teoricamente' houve um aumento da velocidade .

    Maverick abri o link indicado, creio que me ajudará em muito mas creio que primeiro preciso ver se esta havendo realmente o direcionamento para o squid. Vc sabe como testo isso ?

  19. #19

    Padrão Por Favor :( estou ficando louco com iptables

    Amigo bom dia,
    Acho q você deveria ler este material abaixo...(é bem pqno) e vai esclarecer a sua duvida... Não fique copiando e colando scripts q vc pega na net tente entender q cada um fez e pegue apenas oq lhe atente pois o FW q e feito para minha rede nem sempre serve para a sua. Leia o artigo e resolva seu problema.
    http://www.vivaolinux.com.br/artigos...php?codigo=473

    Abraço

  20. #20
    maverick_cba
    Visitante

    Padrão Por Favor :( estou ficando louco com iptables

    alimasilva, para testar se está funcionando o seu proxy, basta dar o seguinte comando no seu arquivo access.log do squid. Lembrando que exibirei o exemplo baseado na minha instalação, pois como nosso amigo lacier disse "a minha nem sempre é igual a sua". Portanto é bom dar uma procurada no seu sistema pelo arquivo access.log do squid.

    Abaixo vai o comando:
    Código :
    tail -f /var/log/squid/access.log

    Após digitar o comando, faça um teste colocando outra máquina para acessar a web. Se começar a aparecer várias mensagens na tela é porque seu proxy está transparente.

    Blz, Falows