2012/5/21 Renato Frederick <ren...@frederick.eti.br>: > Olá Pessoal, > > Seguinte: > > Eu tenho uma gambiarra atualmente :) > > uso o PF. > > Porém, precisei no passado de uma maneira rápida de gerar gráficos do > cacti de tráfego para diversos IP/portas. > > Para gerar este tipo de gráfico no PF, usando o cacti, eu precisava > jogar o tráfego que hoje é um allow referenciando os IPs, para uma > table, e daí usar o "pfctl -T table blablablalbala" para gerar um > contador de bytes/pacotes in e out e importar isto para o cacti, usando > shell script. > > Porém, o PF que uso tem umas 4mil linhas e a manutenção disto já é um > dano, trocar isto para tabela está fora de questão. > > Eu já fiz isto no pasado usando o "count" do IPFW, inclusive importando > via SNMP, funciona perfeitamente, Porém neste cenário atual, qualquer > regra de count/allow/deny do IPFW não vai funcionar(só o divert ou rdr) > porque a regra que dá match nestes IP já é processada pelo PF. De fato, > se eu limpo as regras do PF, o IPFW começa a contar. > > Então a gambiarra foi: > > Carregar o IPF via módulo no kernel e usar o count do IPF: > > more /etc/ipf.rules > count in on bce1 from any to 187.X.X.X port = 80 > count out on bce1 from 187.X.X.X to any port = 80 > [..] > > Se eu carregar o IPF no kernel, ele também deixava de funcionar, já que > aí o PF voltava a ter prioridade. > > Isto funcionou muito bem no freebsd 7, no 8 também. > > Porém no 9 parou de funcionar e preciso disto o mais rápido possível. > > Minha dúvida é, arriscam um downgrade do 9 para o 8? Nunca fiz antes :)
Nunca fiz isso não, mas acredito que há chances de funcionar. Eu faria da seguinte maneira, contando que o /usr/src jah tenha os sources do 8.x: # rm -rf /usr/obj/* # cd /usr/src # make buildworld buildkernel # make installworld # reboot Nesse ponto vc tem o base system do 8.x e o kernel do 9. O problema agora é que vc tem uma porrada de libraries duplicadas, com a versao do 8 e do 9 instaladas. Pra resolver esse caso o único jeito que consigo pensar é, baixar o src do 9.x pra /usr/src9 e depois: # cd /usr/src9 # make check-old-libs Ele vai apontar pra vc o nome das libs do 8.x que ele removeria no update pro 9, então vc teria que pegar lib por lib e ver se a versão N+1 existe, e, se existir, remover, por exemplo, se ele listar a libm.so.5, vc checa se a libm.so.6 existe, se existir vc remove. Depois de limpar tudo, roda um make installworld novamente, só pra ter certeza que tudo o que precisa do 8 ta em ordem e depois um installkernel. Pode funcionar. Ah, depois disso tudo ainda tem que recompilar os ports. []s -- Renato Botelho ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd