[FUG-BR] RES: RES: Testando ipfw nat

Jean Zanuzo jean em w3nt.com
Quinta Agosto 27 21:53:47 BRT 2009


   Wanderson Tinti escreveu:

2009/8/20 Luiz Otavio O Souza [1]<lists.br em gmail.com>


Wanderson, Ricardo e lista,

Para o correto funcionamento do setfib é necessário tomar alguns cuidados
(e
observar algumas limitações que vou comentar).

Cada FIB representa uma tabela de roteamento distinta e as FIBs só estão
disponíveís para o protocolo IPv4 (não há multiplas fibs para outros
protocolos...).

Como a fib representa uma tabela de roteamento os pacotes devem ser
marcados
ANTES do roteamento com a fib que você deseja utilizar e as únicas forma de
fazer isso é:

- Na recepção dos pacotes pela sua placa conectada à "rede interna": ipfw
setfib 1 ip from 192.168.0.0/24 to any IN via ${iif}

- Rodando um programa no FreeBSD com o utilitário setfib: setfib 1 ping
[2]www.uol.com.br

Assim os pacotes são marcados com a fib desejada ANTES do roteamento, que
vai olhar para a tabela fib que você selecionou.

Setar a fib na saída dos pacotes ou depois que o roteamento já foi feito
simplesmente não funciona.

Outro detalhe é que o ipfw prob não respeita os fluxos, ou seja, uma
conexão
que é iniciada utilizando aquela regra pode ter seus próximos pacotes
seguindo outro caminho (não sei dizer ao certo se a interação com o
keep-state resolve isso - poderia resolver).

   só complementando, a interacao com o keep-state resolve sim.

E para terminar eu diria que as tabelas FIBs não devem ser utilizadas para
balanceamento das conexões, mas sim para pbr, ou seja, aquele tipo de
pré-seleção que você faz para dizer que a maquina X ou o recurso Y utilizam
o link 2 enquanto a navegação é feita pelo link 1.

E vocês viram que eu nem falei de nat...

Eu já consegui um hardware aqui pra fazer os testes no freebsd 8, mas vai
levar algum tempo... (tem uma pilha de coisas esperando aqui...), dai
pretendo postar mais detalhes do balanceamento com ipfw.

Att.,
Luiz



Luiz Otávio, obrigado por esse esclarecimento, acabei por marcar o pacote
entrando pela interface interna e funcionou. Tenho visto muitos exemplos
pela net bem diferente da sua explicação.

Em um post 'meio-recente' você comentou ter tido problemas no freebsd 8
quando forçava a saída do pacote com fwd pela segunda fib, foi preciso
desabilitar a sysctl flowtable eu acho, isso confere?

Boa noite.
-------------------------
Histórico: [3]http://www.fug.com.br/historico/html/freebsd/
Sair da lista: [4]https://www.fug.com.br/mailman/listinfo/freebsd

References

   1. mailto:lists.br em gmail.com
   2. http://www.uol.com.br/
   3. http://www.fug.com.br/historico/html/freebsd/
   4. https://www.fug.com.br/mailman/listinfo/freebsd


Mais detalhes sobre a lista de discussão freebsd