+ Responder ao Tópico



  1. #1

    Padrão Iptables+L7 (Memória)

    Colegas, recentemente atualizei a kernel do meu Suse 9.3 para versão 2.6.11.8, compilada juntamente com o Layer7 e Iptables 1.3.1. Crei 12 regras usando l7, quando passo esse limite, dá o seguinte erro:

    iptables: memory allocation problem

    Sendo que as regras em layer7 estou aplicando somente na chain FORWARD, quando aplico chain (INPUT, OUTPUT, MANGLE) aí nem 1 linha passa.

    Problemas de memória na máquina não pode ser, pois a mesma possui 3GB de Memória em dual-channel, e o processador é um P4 3,4 Extreme Editon.

    Se alguém já teve erro parecido, ou sabe o que ocasiona o mesmo, favor deixar um post aqui.

    Obrigado.

  2. #2

    Padrão Iptables+L7 (Memória)

    Amigo

    Posta aqui suas regras que você esta utilizando no Iptables com o L7 e as regras que você usa em conjunto com o CBQ ou HTB para que possamos analisar o problema.

  3. #3
    RafaelMonteiro
    Visitante

    Padrão Iptables+L7 (Memória)

    você aplicou os patchs da layer7 corretamente no iptables ?

  4. #4

    Padrão Iptables+L7 (Memória)

    Citação Postado originalmente por MoRhY
    Amigo

    Posta aqui suas regras que você esta utilizando no Iptables com o L7 e as regras que você usa em conjunto com o CBQ ou HTB para que possamos analisar o problema.
    Segue as regras (lembrando que o controle de banda é feito via bandlimit)

    #!/bin/sh
    # NetPerdizes - Servidor Wireless
    # By: Alex R. Oliveira
    # Includes: rc.bandlimit, Ips, Interfaces
    # Interfaces: eth0 = Internet eth1 = wireless

    # Variaveis
    iptables=/usr/sbin/iptables
    EXTERNO=200.202.216.192/24
    INTERNO=10.0.0.0/8

    # Zera as Regras
    $iptables -F
    $iptables -X
    $iptables -F -t nat
    $iptables -X -t nat
    $iptables -F -t mangle
    $iptables -X -t mangle

    # Carregando modulos
    /sbin/modprobe ipt_state
    /sbin/modprobe ipt_limit
    /sbin/modprobe ipt_LOG
    /sbin/modprobe ipt_REJECT
    /sbin/modprobe iptable_nat
    /sbin/modprobe ipt_multiport

    # Ativa Roteamento Via Kernel
    echo "1" > /proc/sys/net/ipv4/ip_forward
    # Protecao conta IP Spoof
    echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
    # Protecao Syncookies
    echo "1" > /proc/sys/net/ipv4/tcp_syncookies
    # Ocultando a rota dos pacotes
    for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do
    echo 0 > $f
    done

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

    # Permissao Acesso ao Firewall
    $iptables -A INPUT -i lo -j ACCEPT
    $iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    # Permissao de Fora pra Dentro do Servidor
    $iptables -A INPUT -p tcp -m multiport --dport 53,80,443,1433,3306,5432,10000 -j ACCEPT
    $iptables -A INPUT -p udp -m multiport --dport 53,80,443,1433,3306,5432,10000 -j ACCEPT

    # Libera pacotes que devem entrar
    $iptables -A INPUT -s 200.202.216.192/24 -p tcp --dport 22 -j ACCEPT

    # Bloquear Qualquer trafego do Squid de fora da rede interna
    $iptables -A INPUT -p tcp -s ! 10.0.0.0/8 --dport 3128 -j REJECT
    $iptables -A INPUT -p udp -s ! 10.0.0.0/8 --dport 3128 -j REJECT

    ## LAYER 7 - BLOQUEIOS GERAIS ##
    # FINGER
    $iptables -A FORWARD -m layer7 --l7proto finger -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto finger -s $INTERNO -j DROP
    # NCP
    $iptables -A FORWARD -m layer7 --l7proto ncp -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto ncp -s $INTERNO -j DROP
    # X11
    $iptables -A FORWARD -m layer7 --l7proto x11 -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto x11 -s $INTERNO -j DROP
    # NETBIOS
    $iptables -A FORWARD -m layer7 --l7proto netbios -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto netbios -s $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto nbns -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto nbns -s $INTERNO -j DROP
    # BITTORENT
    $iptables -A FORWARD -m layer7 --l7proto bittorrent -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto bittorrent -s $INTERNO -j DROP
    # COUTER-STRIKE
    $iptables -A FORWARD -m layer7 --l7proto counterstrike-source -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto counterstrike-source -s $INTERNO -j DROP
    # DIRECTCONNECT
    $iptables -A FORWARD -m layer7 --l7proto directconnect -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto directconnect -s $INTERNO -j DROP
    # DOOM3
    $iptables -A FORWARD -m layer7 --l7proto doom3 -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto doom3 -s $INTERNO -j DROP
    # EDONKEY
    $iptables -A FORWARD -m layer7 --l7proto edonkey -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto edonkey -s $INTERNO -j DROP
    # APPLE JUICE
    $iptables -A FORWARD -m layer7 --l7proto applejuice -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto applejuice -s $INTERNO -j DROP
    # 100BAO
    $iptables -A FORWARD -m layer7 --l7proto 100bao -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto 100bao -s $INTERNO -j DROP
    # ARES
    $iptables -A FORWARD -m layer7 --l7proto ares -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto ares -s $INTERNO -j DROP
    # BATTLEFIELD
    $iptables -A FORWARD -m layer7 --l7proto battlefield1942 -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto battlefield1942 -s $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto battlefield2 -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto battlefield2 -s $INTERNO -j DROP
    # QUAKE-HALFLIFE
    $iptables -A FORWARD -m layer7 --l7proto halflife2-deathmatch -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto halflife2-deathmatch -s $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto quake-halflife -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto quake-halflife -s $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto quake1 -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto quake1 -s $INTERNO -j DROP
    # NAPSTER
    $iptables -A FORWARD -m layer7 --l7proto napster -d $INTERNO -j DROP
    $iptables -A FORWARD -m layer7 --l7proto napster -s $INTERNO -j DROP

    ## REDIRECIONAMENTOS
    # SERVIDOR DE EMAIL
    $iptables -t nat -A PREROUTING -d 10.0.1.1 -p tcp --dport 25 -j DNAT --to-dest 200.202.216.194:25
    $iptables -t nat -A PREROUTING -d 10.0.1.1 -p tcp --dport 110 -j DNAT --to-dest 200.202.216.194:110
    # PREFEITURA (SQL SERVER, VNC)
    $iptables -t nat -A PREROUTING -s 200.225.212.98 -d 200.202.216.196 -p tcp --dport 1433 -j DNAT --to-dest 10.0.1.141:1433
    $iptables -t nat -A PREROUTING -s 200.225.212.97 -d 200.202.216.196 -p tcp --dport 1433 -j DNAT --to-dest 10.0.1.141:1433
    # PESSONHA (TERMINAL SERVICES)
    $iptables -t nat -A PREROUTING -d 200.202.216.196 -p tcp --dport 10500 -j DNAT --to-dest 10.0.1.27:3389
    # Agrotrajano
    $iptables -t nat -A PREROUTING -d 200.202.216.196 -p tcp --dport 35000 -j DNAT --to-dest 10.0.1.101:3389
    # TERRAFERT (POSTGRESS, SSH, VNC)
    $iptables -t nat -A PREROUTING -d 200.202.216.196 -p tcp --dport 5906 -j DNAT --to-dest 10.0.1.128:5900
    $iptables -t nat -A PREROUTING -d 200.202.216.196 -p tcp --dport 10100 -j DNAT --to-dest 10.0.1.128:22
    $iptables -t nat -A PREROUTING -d 200.202.216.196 -p tcp --dport 5432 -j DNAT --to-dest 10.0.1.128:5432
    $iptables -t nat -A PREROUTING -d 200.202.216.196 -p udp --dport 5432 -j DNAT --to-dest 10.0.1.128:5432
    # APCRISTO
    $iptables -t nat -A PREROUTING -d 200.202.216.196 -p tcp --dport 30000 -j DNAT --to-dest 10.0.1.5:80

    ## PROXY DIRECIONAMENTO E MASCARAMENTO CONEXAO ##
    $iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
    $iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

  5. #5

    Padrão Iptables+L7 (Memória)

    Pessoal, eu compilei a Kernel e o iptables perfeitamente igual está no tutorial que tem aki na UNDER.

    Hoje eu tirei 4 Regras que contém o filtro L7, e o problema acabou. Mas eu precisaria solucioná-lo, pois o meu firewall precisará ficar maior que o que tenho hoje.

    Segue abaixo a mensagem que peguei no MESSAGES, quando dava pau:

    Sep 29 00:25:21 sol kernel: allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.

    Grato

  6. #6

    Padrão Iptables+L7 (Memória)

    Citação Postado originalmente por Kandango
    Pessoal, eu compilei a Kernel e o iptables perfeitamente igual está no tutorial que tem aki na UNDER.

    Hoje eu tirei 4 Regras que contém o filtro L7, e o problema acabou. Mas eu precisaria solucioná-lo, pois o meu firewall precisará ficar maior que o que tenho hoje.

    Segue abaixo a mensagem que peguei no MESSAGES, quando dava pau:

    Sep 29 00:25:21 sol kernel: allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.

    Grato

    ja tentou usar do comando sugerido??

    use

    vmalloc=<size>

    to increase size