Quando insiro as três regras no ipfw o cliente para de trafegar. Então coloquei essas regras de um dos colegas; ${fwcmd} add 10 divert 8669 all from any to 200.88.99.86 in recv rl2 ${fwcmd} add 20 divert 8669 all from 192.168.0.0/16 to any out xmit rl0 ${fwcmd} add 30 fwd 200.88.99.81 ip from 200.88.99.86 to any ${fwcmd} add 40 divert 8668 all from any to 172.30.50.52 in recv rl0 ${fwcmd} add 50 divert 8668 all from 192.168.0.0/16 to any out xmit rl0 Onde o GW default é; 172.30.4.254 rl0 é o principal; 172.30.50.52 rl1 é dos clientes; 192.168.0.1 rl2 é o secundario p/ ser balanceado; 200.88.99.86 natd -s -n rl0 -p 8668 natd -s -n rl2 -p 8669 Dessa forma o rl2 "secundario" funfa legal e os clientes "rl1" trafegam só que o "rl0" principal para de trafegar, quando deleto a seguinte linha no ipfw; ${fwcmd} add 20 divert 8669 all from 192.168.0.0/16 to any out xmit rl0 , vouta a trafegar no rl0 principal e para o rl2 secundario. Onde estou errando?
Wanderson Tinti escreveu; A dica dos colegas são otimas. Mas se for utilizar o ipfw, pode usar o natd ou a opção setfib. Com natd vc usaria 2 instancia e na regra de ipfw usaria a opção prob 0.5, para mandar metanda para a instancia 1 e o resto para instancia 2, por exemplo: ipfw add 3000 prob 0.5 skipto 3100 ip from any to any out ipfw add 3050 divert 8668 ip from any to any out ipfw add 3100 divert 8669 ip from any to any out com a opção da tabela fib, você compila o kernel com a opção ROUTETABLES=2 # que é seu numero de gw adicionaria as rotas: setfib 0 route add default gw_embratel setfib 1 route add default gw_telemar ipfw add prob 0.5 setfib 0 all from any to any out keep-state //metada pra um ipfw add setfib 1 all from any to any out keep-state //resto pro outro ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd