[FUG-BR] Packet loss com Layer2

Renata Dias renatchinha em gmail.com
Quarta Janeiro 6 21:26:55 BRST 2010


Certo, mas eu tinha esse mesmo sistema (router, ipfw e layer2) em um outro
servidor i386. Quando reinstalei nesse amd64 me deparei com essas perdas.

Como eu não faço o controle de MAC de meus clientes por este servidor,
talvez eu possa modificar meu firewall para que fique da seguinte forma:

1550 allow layer2 not mac-type ip // Libera todos os frames que não forem do
tipo IP
1607 deny log all from any to any in via bge0 MAC any 00:12:17:34:eb:a0
layer2 // Bloqueia esse MAC indesejado
1608 deny log all from any to any in via bge0 MAC any 00:12:0e:a1:38:47
layer2 // Bloqueia esse MAC indesejado
1650 allow layer2 // Libera tudo que for layer2 - seria a mesma coisa de não
ter o net.link.ether.ipfw ativado, correto??


// Controle de banda dos clientes como está atualmente
// Cliente 1
20040 pipe 20040 ip from any to 200.200.200.243 out via bge0 not layer2
20041 pipe 20041 ip from 200.200.200.243 to any in via bge0 not layer2
20045 allow ip from any to 200.200.200.243
20046 allow ip from 200.200.200.243 to any

Ou então, como ja liberei layer2 na regra 1650 é lógico que só sobrou
pacotes "not layer2", então poderia ficar assim tbm:

// Cliente 1
20040 pipe 20040 ip from any to 200.200.200.243 out via bge0
20041 pipe 20041 ip from 200.200.200.243 to any in via bge0
20045 allow ip from any to 200.200.200.243
20046 allow ip from 200.200.200.243 to any


Alguém discorda do meu raciocínio? Será que dessa forma eu vou prejudicar a
rede de alguma forma? O controle de banda nas regras pipe sofrerão alguma
deficiencia? A banda será controlada corretamente?

Obrigada!



2010/1/6 Alessandro de Souza Rocha <etherlinkii em gmail.com>

> quando vc ativa o sysctl net.link.ether.ipfw=1 habilitar o suporte a
> camada 2 para o ipfw, vai comerca filtra na camada 2 por isso que vai
> aumentar a latencia vai consumir memoria e processamento.
> qualquer duvida da uma lida no man do ipfw nesta parte
> habilitar o suporte a camada 2 para o ipfw.
>
>                  ^    to upper layers    V
>                  |                       |
>                  +----------->-----------+
>                  ^                       V
>            [ip(6)_input]           [ip(6)_output]
> net.inet(6).ip(6).fw.enable=1
>                  |                       |
>                  ^                       V
>            [ether_demux]        [ether_output_frame]  net.link.ether.ipfw=1
>                  |                       |
>                  +-->--[bdg_forward]-->--+
>  net.link.bridge.ipfw=1
>                  ^                       V
>                  |      to devices       |
>
>
> 2010/1/6, Renata Dias <renatchinha em gmail.com>:
>  > Boa tarde!
> >
> >
> > Tenho um FreeBSD 7.2 STABLE rodando como router da minha rede e o trafego
> da
> > rede é de 34Mbps.
> >
> > Servidor HP:
> >
> > Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
> > usable memory = 6424711168 (6127 MB)
> > FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs
> >  cpu0 (BSP): APIC ID:  0
> >  cpu1 (AP/HT): APIC ID:  1
> >  cpu2 (AP): APIC ID:  2
> >  cpu3 (AP/HT): APIC ID:  3
> >  cpu4 (AP): APIC ID:  4
> >  cpu5 (AP/HT): APIC ID:  5
> >  cpu6 (AP): APIC ID:  6
> >  cpu7 (AP/HT): APIC ID:  7
> > Kernel AMD64
> >
> > Opções adicionadas no kernel DEFAULT:
> >
> > options         HZ=2000
> > maxusers        6121
> >
> > options         ACCEPT_FILTER_DATA
> > options         DEVICE_POLLING
> > options         ACCEPT_FILTER_HTTP
> > options         IPSTEALTH
> > options         IPFIREWALL
> > options         IPFIREWALL_FORWARD
> > options         IPFIREWALL_VERBOSE
> > options         IPFIREWALL_VERBOSE_LIMIT=100
> > options         IPFIREWALL_DEFAULT_TO_ACCEPT
> > options         IPDIVERT
> > options         DUMMYNET
> >
> >
> > Quando eu habilito a sysctl net.link.ether.ipfw=1 toda minha rede passa a
> > apresentar tempo de latencia acima de 80ms (quando rede local deveria ser
> 0
> > ou 1ms) e perdas de pacote acima de 10%. É só eu voltar a sysctl
> > net.link.ether.ipfw para 0 (zero) e a rede volta a responder com 0ms e 0%
> de
> > perdas.
> >
> > No meu Firewall tenho algumas regras de bloqueio de MAC e em seguida
> regras
> > de controle de banda:
> >
> > 01608 deny log logamount 100 ip from any to any in via bge0 MAC any
> > 00:12:0e:a1:38:47 layer2
> > 01609 deny log logamount 100 ip from any to any in via bge0 MAC any
> > 00:e0:4c:fa:87:48 layer2
> > 01650 allow ip from any to any layer2 not mac-type 0x0800
> >
> > # Cliente 1
> > 20040 pipe 20040 ip from any to 200.200.200.243 out via bge0 not layer2
> > 20041 pipe 20041 ip from 200.200.200.243 to any in via bge0 not layer2
> > 20045 allow ip from any to 200.200.200.243
> > 20046 allow ip from 200.200.200.243 to any
> > # Cliente 2
> > 20060 pipe 20060 ip from any to 200.200.200.220 out via bge0 not layer2
> > 20061 pipe 20061 ip from 200.200.200.220 to any in via bge0 not layer2
> > 20065 allow ip from any to 200.200.200.220
> > 20066 allow ip from 200.200.200.220 to any
> >
> > Obrigada!
> >
> > --
> > Renata Dias
>  > -------------------------
> > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> >
>
>
> Alessandro de Souza Rocha
> Administrador de Redes e Sistemas
> FreeBSD-BR User #117
>             Long live FreeBSD
>
>                     Powered by ....
>
>                                          (__)
>                                       \\\'',)
>                                         \/  \ ^
>                                         .\._/_)
>
>                                     www.FreeBSD.org<http://www.freebsd.org/>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>



-- 
Renata Dias


Mais detalhes sobre a lista de discussão freebsd