Re: [FUG-BR] Packet loss com Layer2
Realmente, quando o servidor era i386 o HZ estava em 1000, mas de qualquer forma recompilei o kernel dessa AMD64 passando o HZ pra 1000 e não adiantou nada. Como o Patrick disse, deve ter mesmo alguma regra precisando de uma atenção extra... o estranho é que antes de trocar a maquina não tinha esse problema.. Bom... mas solucionei adicionando regra de allow para tudo que for layer2 depois das regras de bloqueio dos MACs indesejados, restando assim somente o tr4afego not layer2 para as demais regras do firewall... Obrigada! 2010/1/7 Patrick Tracanelli eks...@freebsdbrasil.com.br Danilo Egea escreveu: On 01/07/10 11:13, Renata Dias wrote: Oi Nilson, 1) Mesmas regras de firewall, fiz o backup de uma maquina pra outra. 2) Mesmo trafego de rede, pois só troquei o servidor antigo pelo novo.. a rede é a mesma. 3) A WAN é ligada direto com a EBT e a LAN é onde está o switch e os clientes. 4) Não. Quanto a configuração de hardware... eu troquei um Desk Server Quad Core por esse servidor HP Proliant ML350 G6 ! A placa da WAN é uma Intel(R) PRO/1000 e a LAN é a onboard do servidor (HP NC326i Dual Port PCI-E Gigabit) não é realtek. Meu questionamento é se as regras da forma como enviei abaixo causariam alguma perda de informação no meu caso que faço o controle de banda dos clientes por este servidor. Com a regra allow ip from any to any layer2 os clientes voltam a responder com 0ms e 0% de perdas... como se a sysctl net.link.ether.ipfw estivesse desativada... Obrigada. 2010/1/7 Nilsonnil...@forge.com.br 2010/1/6 Renata Diasrenatchi...@gmail.com: 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. Creio que o fato de ser AMD64 nao muda nada, então lhe pergunto: 1) Eram as mesmas regras de firewall? (com pequenas mudanças...) 2) O trafego na rede era semelhante? 3) Ambos as redes usam SWITCHES? 4) Sua interface LAN está em modo promisquo? 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? Dados insuficientes para uma afirmação conclusiva, mas olhando apenas esses pedaços do firewall que nos enviaste, eu fico tensionado a discordar. Existem varias formas de desenhar um firewall e em geral em pequenas redes isso pouco importa em termos de performance, pois o hardware que você estará usando como router (aquele PC velhinho que ninguem mais queria usar na empresa) é muito poderoso com FreeBSD, e dá conta com sobra para tratar aqueles 100 packets por segundo num link de uns 2Mbps. Mas quando você tem um trafego alto, torna-se evidente que o design vai fazer diferença e terás que usar hardware adequado para dar conta do recado. Quanto ao hardware, um detalhe da sua configuração me chamou a atenção e lhe sugiro uma troca: inverter as interfaces de rede, pois você está usando uma Broadcom (muito boa) para a rede roteável, onde o trafego é muito menor e sem lixo ARP, enquanto usas uma realtek (muito ruim) para a rede interna onde em relação a iface externa o trafego deve ser mais que o dobro, com todo aquele lixo ARP, broadcasts, netbios, virus, muitos pacotes que serão bloqueados no firewall, e talvez um proxy com cache. Bom, continuando com o firewall, tens que lembrar que como você faz NAT, todos os pacotes (não todos, tem aqueles que foram bloqueados e tals, mas vou generalizar pra simplificar a história) IP tem que passar
Re: [FUG-BR] Packet loss com Layer2
Oi Nilson, 1) Mesmas regras de firewall, fiz o backup de uma maquina pra outra. 2) Mesmo trafego de rede, pois só troquei o servidor antigo pelo novo.. a rede é a mesma. 3) A WAN é ligada direto com a EBT e a LAN é onde está o switch e os clientes. 4) Não. Quanto a configuração de hardware... eu troquei um Desk Server Quad Core por esse servidor HP Proliant ML350 G6 ! A placa da WAN é uma Intel(R) PRO/1000 e a LAN é a onboard do servidor (HP NC326i Dual Port PCI-E Gigabit) não é realtek. Meu questionamento é se as regras da forma como enviei abaixo causariam alguma perda de informação no meu caso que faço o controle de banda dos clientes por este servidor. Com a regra allow ip from any to any layer2 os clientes voltam a responder com 0ms e 0% de perdas... como se a sysctl net.link.ether.ipfw estivesse desativada... Obrigada. 2010/1/7 Nilson nil...@forge.com.br 2010/1/6 Renata Dias renatchi...@gmail.com: 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. Creio que o fato de ser AMD64 nao muda nada, então lhe pergunto: 1) Eram as mesmas regras de firewall? (com pequenas mudanças...) 2) O trafego na rede era semelhante? 3) Ambos as redes usam SWITCHES? 4) Sua interface LAN está em modo promisquo? 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? Dados insuficientes para uma afirmação conclusiva, mas olhando apenas esses pedaços do firewall que nos enviaste, eu fico tensionado a discordar. Existem varias formas de desenhar um firewall e em geral em pequenas redes isso pouco importa em termos de performance, pois o hardware que você estará usando como router (aquele PC velhinho que ninguem mais queria usar na empresa) é muito poderoso com FreeBSD, e dá conta com sobra para tratar aqueles 100 packets por segundo num link de uns 2Mbps. Mas quando você tem um trafego alto, torna-se evidente que o design vai fazer diferença e terás que usar hardware adequado para dar conta do recado. Quanto ao hardware, um detalhe da sua configuração me chamou a atenção e lhe sugiro uma troca: inverter as interfaces de rede, pois você está usando uma Broadcom (muito boa) para a rede roteável, onde o trafego é muito menor e sem lixo ARP, enquanto usas uma realtek (muito ruim) para a rede interna onde em relação a iface externa o trafego deve ser mais que o dobro, com todo aquele lixo ARP, broadcasts, netbios, virus, muitos pacotes que serão bloqueados no firewall, e talvez um proxy com cache. Bom, continuando com o firewall, tens que lembrar que como você faz NAT, todos os pacotes (não todos, tem aqueles que foram bloqueados e tals, mas vou generalizar pra simplificar a história) IP tem que passar pelo firewall 2 vezes: quando ele chega pela LAN (in) e quando ele está saindo para a WAN (out). Quando você habilita a camada 2 no fw, cada pacote passa 4 vezes pelo seu ipfw: L2 (in) - L3 (in) - **NAT** - L3 (out) - L2 (out) Partindo desse ponto de vista, nos meus firewalls (principalmente nos HEAVYs) gosto de dividir as checagens de cada tipo de trafego em blocos separados, fazendo com que os pacotes sejam checkados apenas pelas regras que lhes são pertinentes, e não por todas as regras existentes, segue um exemplo simples para lhe dar uma boa idéia disso que falei: # INICIO, REGRAS GERAIS QUE VC QUEIRA, # E OS DIVISORES: ipfw blablabla... ipfw blablabla... ipfw blablabla... # DIVISORES: # pacotes entrando L2 ipfw add 2001 skipto 1 all from any to any
Re: [FUG-BR] Packet loss com Layer2
On 01/07/10 11:13, Renata Dias wrote: Oi Nilson, 1) Mesmas regras de firewall, fiz o backup de uma maquina pra outra. 2) Mesmo trafego de rede, pois só troquei o servidor antigo pelo novo.. a rede é a mesma. 3) A WAN é ligada direto com a EBT e a LAN é onde está o switch e os clientes. 4) Não. Quanto a configuração de hardware... eu troquei um Desk Server Quad Core por esse servidor HP Proliant ML350 G6 ! A placa da WAN é uma Intel(R) PRO/1000 e a LAN é a onboard do servidor (HP NC326i Dual Port PCI-E Gigabit) não é realtek. Meu questionamento é se as regras da forma como enviei abaixo causariam alguma perda de informação no meu caso que faço o controle de banda dos clientes por este servidor. Com a regra allow ip from any to any layer2 os clientes voltam a responder com 0ms e 0% de perdas... como se a sysctl net.link.ether.ipfw estivesse desativada... Obrigada. 2010/1/7 Nilsonnil...@forge.com.br 2010/1/6 Renata Diasrenatchi...@gmail.com: 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. Creio que o fato de ser AMD64 nao muda nada, então lhe pergunto: 1) Eram as mesmas regras de firewall? (com pequenas mudanças...) 2) O trafego na rede era semelhante? 3) Ambos as redes usam SWITCHES? 4) Sua interface LAN está em modo promisquo? 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? Dados insuficientes para uma afirmação conclusiva, mas olhando apenas esses pedaços do firewall que nos enviaste, eu fico tensionado a discordar. Existem varias formas de desenhar um firewall e em geral em pequenas redes isso pouco importa em termos de performance, pois o hardware que você estará usando como router (aquele PC velhinho que ninguem mais queria usar na empresa) é muito poderoso com FreeBSD, e dá conta com sobra para tratar aqueles 100 packets por segundo num link de uns 2Mbps. Mas quando você tem um trafego alto, torna-se evidente que o design vai fazer diferença e terás que usar hardware adequado para dar conta do recado. Quanto ao hardware, um detalhe da sua configuração me chamou a atenção e lhe sugiro uma troca: inverter as interfaces de rede, pois você está usando uma Broadcom (muito boa) para a rede roteável, onde o trafego é muito menor e sem lixo ARP, enquanto usas uma realtek (muito ruim) para a rede interna onde em relação a iface externa o trafego deve ser mais que o dobro, com todo aquele lixo ARP, broadcasts, netbios, virus, muitos pacotes que serão bloqueados no firewall, e talvez um proxy com cache. Bom, continuando com o firewall, tens que lembrar que como você faz NAT, todos os pacotes (não todos, tem aqueles que foram bloqueados e tals, mas vou generalizar pra simplificar a história) IP tem que passar pelo firewall 2 vezes: quando ele chega pela LAN (in) e quando ele está saindo para a WAN (out). Quando você habilita a camada 2 no fw, cada pacote passa 4 vezes pelo seu ipfw: L2 (in) - L3 (in) - **NAT** - L3 (out) - L2 (out) Partindo desse ponto de vista, nos meus firewalls (principalmente nos HEAVYs) gosto de dividir as checagens de cada tipo de trafego em blocos separados, fazendo com que os pacotes sejam checkados apenas pelas regras que lhes são pertinentes, e não por todas as regras existentes, segue um exemplo simples para lhe dar uma boa idéia disso que falei: # INICIO, REGRAS GERAIS QUE VC QUEIRA, # E OS DIVISORES: ipfw blablabla...
Re: [FUG-BR] Packet loss com Layer2
geralmente eu uso hz=1000, por padrao nao tenho muito trafego na rede. 2010/1/7 Danilo Egea daniloe...@yahoo.com.br: On 01/07/10 11:13, Renata Dias wrote: Oi Nilson, 1) Mesmas regras de firewall, fiz o backup de uma maquina pra outra. 2) Mesmo trafego de rede, pois só troquei o servidor antigo pelo novo.. a rede é a mesma. 3) A WAN é ligada direto com a EBT e a LAN é onde está o switch e os clientes. 4) Não. Quanto a configuração de hardware... eu troquei um Desk Server Quad Core por esse servidor HP Proliant ML350 G6 ! A placa da WAN é uma Intel(R) PRO/1000 e a LAN é a onboard do servidor (HP NC326i Dual Port PCI-E Gigabit) não é realtek. Meu questionamento é se as regras da forma como enviei abaixo causariam alguma perda de informação no meu caso que faço o controle de banda dos clientes por este servidor. Com a regra allow ip from any to any layer2 os clientes voltam a responder com 0ms e 0% de perdas... como se a sysctl net.link.ether.ipfw estivesse desativada... Obrigada. 2010/1/7 Nilsonnil...@forge.com.br 2010/1/6 Renata Diasrenatchi...@gmail.com: 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. Creio que o fato de ser AMD64 nao muda nada, então lhe pergunto: 1) Eram as mesmas regras de firewall? (com pequenas mudanças...) 2) O trafego na rede era semelhante? 3) Ambos as redes usam SWITCHES? 4) Sua interface LAN está em modo promisquo? 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? Dados insuficientes para uma afirmação conclusiva, mas olhando apenas esses pedaços do firewall que nos enviaste, eu fico tensionado a discordar. Existem varias formas de desenhar um firewall e em geral em pequenas redes isso pouco importa em termos de performance, pois o hardware que você estará usando como router (aquele PC velhinho que ninguem mais queria usar na empresa) é muito poderoso com FreeBSD, e dá conta com sobra para tratar aqueles 100 packets por segundo num link de uns 2Mbps. Mas quando você tem um trafego alto, torna-se evidente que o design vai fazer diferença e terás que usar hardware adequado para dar conta do recado. Quanto ao hardware, um detalhe da sua configuração me chamou a atenção e lhe sugiro uma troca: inverter as interfaces de rede, pois você está usando uma Broadcom (muito boa) para a rede roteável, onde o trafego é muito menor e sem lixo ARP, enquanto usas uma realtek (muito ruim) para a rede interna onde em relação a iface externa o trafego deve ser mais que o dobro, com todo aquele lixo ARP, broadcasts, netbios, virus, muitos pacotes que serão bloqueados no firewall, e talvez um proxy com cache. Bom, continuando com o firewall, tens que lembrar que como você faz NAT, todos os pacotes (não todos, tem aqueles que foram bloqueados e tals, mas vou generalizar pra simplificar a história) IP tem que passar pelo firewall 2 vezes: quando ele chega pela LAN (in) e quando ele está saindo para a WAN (out). Quando você habilita a camada 2 no fw, cada pacote passa 4 vezes pelo seu ipfw: L2 (in) - L3 (in) - **NAT** - L3 (out) - L2 (out) Partindo desse ponto de vista, nos meus firewalls (principalmente nos HEAVYs) gosto de dividir as checagens de cada tipo de trafego em blocos separados, fazendo com que os pacotes sejam checkados apenas pelas regras que lhes são pertinentes, e não por todas as regras existentes, segue um exemplo simples para lhe dar uma boa idéia disso que falei: # INICIO, REGRAS GERAIS QUE VC QUEIRA, # E OS
Re: [FUG-BR] Packet loss com Layer2
Danilo Egea escreveu: On 01/07/10 11:13, Renata Dias wrote: Oi Nilson, 1) Mesmas regras de firewall, fiz o backup de uma maquina pra outra. 2) Mesmo trafego de rede, pois só troquei o servidor antigo pelo novo.. a rede é a mesma. 3) A WAN é ligada direto com a EBT e a LAN é onde está o switch e os clientes. 4) Não. Quanto a configuração de hardware... eu troquei um Desk Server Quad Core por esse servidor HP Proliant ML350 G6 ! A placa da WAN é uma Intel(R) PRO/1000 e a LAN é a onboard do servidor (HP NC326i Dual Port PCI-E Gigabit) não é realtek. Meu questionamento é se as regras da forma como enviei abaixo causariam alguma perda de informação no meu caso que faço o controle de banda dos clientes por este servidor. Com a regra allow ip from any to any layer2 os clientes voltam a responder com 0ms e 0% de perdas... como se a sysctl net.link.ether.ipfw estivesse desativada... Obrigada. 2010/1/7 Nilsonnil...@forge.com.br 2010/1/6 Renata Diasrenatchi...@gmail.com: 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. Creio que o fato de ser AMD64 nao muda nada, então lhe pergunto: 1) Eram as mesmas regras de firewall? (com pequenas mudanças...) 2) O trafego na rede era semelhante? 3) Ambos as redes usam SWITCHES? 4) Sua interface LAN está em modo promisquo? 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? Dados insuficientes para uma afirmação conclusiva, mas olhando apenas esses pedaços do firewall que nos enviaste, eu fico tensionado a discordar. Existem varias formas de desenhar um firewall e em geral em pequenas redes isso pouco importa em termos de performance, pois o hardware que você estará usando como router (aquele PC velhinho que ninguem mais queria usar na empresa) é muito poderoso com FreeBSD, e dá conta com sobra para tratar aqueles 100 packets por segundo num link de uns 2Mbps. Mas quando você tem um trafego alto, torna-se evidente que o design vai fazer diferença e terás que usar hardware adequado para dar conta do recado. Quanto ao hardware, um detalhe da sua configuração me chamou a atenção e lhe sugiro uma troca: inverter as interfaces de rede, pois você está usando uma Broadcom (muito boa) para a rede roteável, onde o trafego é muito menor e sem lixo ARP, enquanto usas uma realtek (muito ruim) para a rede interna onde em relação a iface externa o trafego deve ser mais que o dobro, com todo aquele lixo ARP, broadcasts, netbios, virus, muitos pacotes que serão bloqueados no firewall, e talvez um proxy com cache. Bom, continuando com o firewall, tens que lembrar que como você faz NAT, todos os pacotes (não todos, tem aqueles que foram bloqueados e tals, mas vou generalizar pra simplificar a história) IP tem que passar pelo firewall 2 vezes: quando ele chega pela LAN (in) e quando ele está saindo para a WAN (out). Quando você habilita a camada 2 no fw, cada pacote passa 4 vezes pelo seu ipfw: L2 (in) - L3 (in) - **NAT** - L3 (out) - L2 (out) Partindo desse ponto de vista, nos meus firewalls (principalmente nos HEAVYs) gosto de dividir as checagens de cada tipo de trafego em blocos separados, fazendo com que os pacotes sejam checkados apenas pelas regras que lhes são pertinentes, e não por todas as regras existentes, segue um exemplo simples para lhe dar uma boa idéia disso que falei: # INICIO, REGRAS GERAIS QUE VC QUEIRA, # E OS
[FUG-BR] Packet loss com Layer2
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 maxusers6121 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
Re: [FUG-BR] Packet loss com Layer2
Renata Dias escreveu: # 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 Renata, Camada de enlace lê nível MAC, você está montando regras com endereçamento IP, que é na camada superior. Veja esse link [1], talvez tenha que refazer essas regras. [1]. http://www.fug.com.br/historico/html/freebsd/2005-02/msg00274.html Abraço, - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Packet loss com Layer2
renata vc desativou a passagem unica outra coisa eu uso controle de mac e ip desta forma. ipfw disable one_pass #liberar a tabela arp ipfw add 10 allow layer2 not mac-type ip ## #Controle de mac e ip de cada Cliente # ## # Cliente: Cliente 1 ipfw add 1 allow layer2 src-ip 192.168.0.1 mac any 00:11:09:d9:3f:6b in via rl0 # Cliente: Cliente 2 ipfw add 104 allow layer2 src-ip 10.1.1.2 MAC any 00:0b:d0:fe:00:d1 in via rl0 # Cliente: Cliente 3 ipfw add 5 allow layer2 src-ip 100.1.1.2 MAC any 00:0A:52:00:88:2D in via rl0 #fechando tudo que não tiver cadastro na tabela acima ipfw add 65000 deny all from any to any layer2 in via rl0 2010/1/6, Renata Dias renatchi...@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 maxusers6121 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 - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Packet loss com Layer2
Alessandro, Estou executando o ipfw disable one_pass, sim. A minha regra: 01650 allow ip from any to any layer2 not mac-type 0x0800 É a mesma que a sua: ipfw add 10 allow layer2 not mac-type ip Essa regra para liberar tudo que não for do tipo IP. Quanto ao controle de MAC e IP eu não faço, utilizo o layer2 apenas para bloquear alguns MAC indesejaveis e em seguida as regras de PIPE para controle de banda dos clientes. Como não faço o controle de MAC eu não posso seguir o link que o Márcio me enviou, pois esse coloca um deny layer2 antes de adicionar as regras de PIPE. Se eu fizer isso irei bloquear todo o trafego dos clientes, pois o MAC deles não está pré definido. Nas regras de PIPE eu utilizo not layer2 justamente para que o controle de banda seja feito somente no protocolo IP e dessa forma a banda de navegação não fique reduzida à metade do que for definido no PIPE. Alguma idéia do porque das perdas de pacote? Obrigada. 2010/1/6 Alessandro de Souza Rocha etherlin...@gmail.com renata vc desativou a passagem unica outra coisa eu uso controle de mac e ip desta forma. ipfw disable one_pass #liberar a tabela arp ipfw add 10 allow layer2 not mac-type ip ## #Controle de mac e ip de cada Cliente # ## # Cliente: Cliente 1 ipfw add 1 allow layer2 src-ip 192.168.0.1 mac any 00:11:09:d9:3f:6b in via rl0 # Cliente: Cliente 2 ipfw add 104 allow layer2 src-ip 10.1.1.2 MAC any 00:0b:d0:fe:00:d1 in via rl0 # Cliente: Cliente 3 ipfw add 5 allow layer2 src-ip 100.1.1.2 MAC any 00:0A:52:00:88:2D in via rl0 #fechando tudo que não tiver cadastro na tabela acima ipfw add 65000 deny all from any to any layer2 in via rl0 2010/1/6, Renata Dias renatchi...@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 maxusers6121 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.orghttp://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 - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Packet loss com Layer2
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 layersV | | +--+ ^ 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 renatchi...@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 maxusers6121 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 - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Packet loss com Layer2
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 etherlin...@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 layersV | | +--+ ^ 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 renatchi...@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 maxusers6121 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
Re: [FUG-BR] Packet loss com Layer2
2010/1/6 Renata Dias renatchi...@gmail.com: 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. Creio que o fato de ser AMD64 nao muda nada, então lhe pergunto: 1) Eram as mesmas regras de firewall? (com pequenas mudanças...) 2) O trafego na rede era semelhante? 3) Ambos as redes usam SWITCHES? 4) Sua interface LAN está em modo promisquo? 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? Dados insuficientes para uma afirmação conclusiva, mas olhando apenas esses pedaços do firewall que nos enviaste, eu fico tensionado a discordar. Existem varias formas de desenhar um firewall e em geral em pequenas redes isso pouco importa em termos de performance, pois o hardware que você estará usando como router (aquele PC velhinho que ninguem mais queria usar na empresa) é muito poderoso com FreeBSD, e dá conta com sobra para tratar aqueles 100 packets por segundo num link de uns 2Mbps. Mas quando você tem um trafego alto, torna-se evidente que o design vai fazer diferença e terás que usar hardware adequado para dar conta do recado. Quanto ao hardware, um detalhe da sua configuração me chamou a atenção e lhe sugiro uma troca: inverter as interfaces de rede, pois você está usando uma Broadcom (muito boa) para a rede roteável, onde o trafego é muito menor e sem lixo ARP, enquanto usas uma realtek (muito ruim) para a rede interna onde em relação a iface externa o trafego deve ser mais que o dobro, com todo aquele lixo ARP, broadcasts, netbios, virus, muitos pacotes que serão bloqueados no firewall, e talvez um proxy com cache. Bom, continuando com o firewall, tens que lembrar que como você faz NAT, todos os pacotes (não todos, tem aqueles que foram bloqueados e tals, mas vou generalizar pra simplificar a história) IP tem que passar pelo firewall 2 vezes: quando ele chega pela LAN (in) e quando ele está saindo para a WAN (out). Quando você habilita a camada 2 no fw, cada pacote passa 4 vezes pelo seu ipfw: L2 (in) - L3 (in) - **NAT** - L3 (out) - L2 (out) Partindo desse ponto de vista, nos meus firewalls (principalmente nos HEAVYs) gosto de dividir as checagens de cada tipo de trafego em blocos separados, fazendo com que os pacotes sejam checkados apenas pelas regras que lhes são pertinentes, e não por todas as regras existentes, segue um exemplo simples para lhe dar uma boa idéia disso que falei: # INICIO, REGRAS GERAIS QUE VC QUEIRA, # E OS DIVISORES: ipfw blablabla... ipfw blablabla... ipfw blablabla... # DIVISORES: # pacotes entrando L2 ipfw add 2001 skipto 1 all from any to any layer2 in # pacotes entrando L3 ipfw add 2002 skipto 2 all from any to any not layer2 in # pacotes saindo L3 ipfw add 2003 skipto 3 all from any to any not layer2 out # pacotes saindo L2 ipfw add 2004 skipto 4 all from any to any layer2 out # se algo não bateu em nenhuma dessas, kill it! ipfw add 2005 deny all from any to any # 10.000 - trate a partir daqui suas regras de L2 in, # e entao mande pro final do firewall ipfw add 1 blablabla... ipfw add skipto 65000 all from any to any # 20.000 - trate a partir daqui suas regras de L3 in, e skito final ipfw add 2 blablabla... ipfw add skipto 65000 all from any to any # e assim por diante até que finalmente: ipfw add 65000 allow all from any to any -- Isso foi apenas um exemplo, dependendo da sua necessidade ou imaginação você poderia subdividi-lo muito mais, como fazer essa mesma divisao por interfaces, um bloco exclusivo para os pipes (dummynet), e o que mais você