Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
Nenhum _de_Nos wrote: > hail, > > estou tentando fazer um sistema para ver trafego nat ( contar bytes de > e/s de cada cliente ) para mandar via snmp para cacti/mrtg e estou > tendo problemas ( nao sou eximio programador C ) em tratar a estrutura > **mbuf que recebo ( quase resolvida, via mtod virando struct ip ), > probemas em acessar essa struct ip e por final com problemas em > mostrar estes dados. > Que trabalho pra pegar essas informacões hein ? > o exemplo que temla cria um arquivo em /dev onde se faz cat e se le o > conteudo. no meu caso, nao to conseguindo isso. o cat nao acaba ... > > estou salvando um array com os valores s_addr que recebo da (struct > ip).src_ip.s_addr. mas nao sei ainda transformar este valor em ip > legivel :( > inet_ntoa(3) > queria saber se alguem sabe onde vejo mais sobre isso. faco buscas no > codigo do kernel, mas isso nao eh o ideal. nao eh eficiente pra mim e > nem didatico heheh :) > > a ideia era isso ficar algo decente para ser um > natmonitor.souceforge.net para o FreeBSD. > Além das ideias que já lhe passaram (prontas por sinal), pra quem gosta de sofrer (mas não tanto), seria mais facil escrever um daemon pra rodar no espaco usuario e não no kernel atachado (hehe) a interface via bpf (ou libpcap). Quem faz isso é o /usr/ports/net-mgmt/bandwidthd (outra solucão pronta). Luiz - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
msn: [EMAIL PROTECTED] anota ae. posso lhe dar uma mao ;) Nenhum _de_Nos wrote: > algo de errado nas regras ou na consulta do pfctl ? > > matheus > > - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
algo de errado nas regras ou na consulta do pfctl ? matheus -- We will call you cygnus, The God of balance you shall be - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
Nenhum _de_Nos wrote: > On 7/19/06, Christopher Giese - iRapida <[EMAIL PROTECTED]> wrote: > >> Nao entendi sua duvida >> >> seja + especifico >> >> >> > > o comando q vc me passou nao retorna nada > > matheus > > Kra vc deve estar fazendo algo errado ae pq aki funciona 100% ;) e em varios amigos meus ... que eu passei a dica... funciona tb ;) - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
On 7/19/06, Christopher Giese - iRapida <[EMAIL PROTECTED]> wrote: > Nao entendi sua duvida > > seja + especifico > > o comando q vc me passou nao retorna nada matheus -- We will call you cygnus, The God of balance you shall be - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
Nao entendi sua duvida seja + especifico Nenhum _de_Nos escreveu: > On 7/18/06, Christopher Giese - iRapida <[EMAIL PROTECTED]> wrote: > >> opa >> >> um count para pf: >> >> ## >> Upload pfctl -v -sr|grep "from ipqueVOCEquer" -A 1|grep Bytes|awk >> '{print $7}' >> >> Download pfctl -v -sr|grep "to ipqueVOCEquer" -A 1|grep Bytes|awk >> '{print $7}' >> ## >> >> usar os 2 ao mesmo tempo sem problemas. (claro desde que vc nao >> tenha 2000 regras em cada um - rs) >> >> estou trabalhando na ideia do Diego ipfw + snmp.. deu uma >> googleada e achei como montar. >> >> a ideia >> http://www.sat.t.u-tokyo.ac.jp/~hideyuki/ipfwsnmp.html >> >> o script >> http://www.sat.t.u-tokyo.ac.jp/~hideyuki/ipfwsnmp >> >> Funcionou 100% muito legal mesmo >> >> mas para mim nao pode ser com ipfw... tem que ser com pf. entaum >> estou portando o ipfwsnmp para pf assim que estiver funcional eu >> distribui na net >> >> :) >> >> t+ >> >> > > nao retornou nada aqui estas consultas :( > > na minha solucao: > > DSL --bridge-- FreeBSD ( NAT ) FreeBSD ( lim trafego ) - Rede > > em nenhum dos dois tem resultado ... :( > > ha saida, mas nada nos ips da rede 192.168.254.0/24. > > saida: ( FreeBSD com NAT ) > > [EMAIL PROTECTED] ~]# pfctl -v -sr > block drop in on tun0 inet from 201.x.x.x to any > [ Evaluations: 11735803 Packets: 0 Bytes: 0 States: 0 > ] > pass in on tun0 inet proto tcp from 201.xxxo any port 1:11000 > [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 > ] > pass in on tun0 inet proto tcp from 201.x.x.x.x to any port 11001:11600 > [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 > ] > pass in on tun0 inet proto tcp from 201.x.x.x.x to any port 8000:8100 > [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 > ] > pass in on tun0 inet proto tcp from 201.x.x.x.x to any port 5010:5019 > [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 > ] > pass in on tun0 inet proto tcp from 201.x.x.x.x to any port 5020:5029 > [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 > ] > pass in on tun0 inet proto tcp from 201.x.x.x.x to any port 15000:15500 > [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 > ] > pass in on tun0 inet proto udp from 201.x.x.x.x to any port 1:11000 > [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 > ] > pass in on tun0 inet proto udp from 201.x.x.x.x to any port 11001:11600 > [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 > ] > pass in on tun0 inet proto udp from 201.x.x.x.x to any port 8000:8100 > [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 > ] > pass in on tun0 inet proto udp from 201.x.x.x.x to any port 5010:5019 > [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 > ] > pass in on tun0 inet proto udp from 201.x.x.x.x to any port 5020:5029 > [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 > ] > pass in on tun0 inet proto udp from 201.x.x.x.x to any port 15000:15500 > [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 > ] > pass in on rl0 all > [ Evaluations: 10378505 Packets: 5080445 Bytes: 1233312838 States: 0 > ] > > e ha regras de nat: > > nat on tun0 inet from 192.168.254.10 to any -> (tun0) round-robin > nat on tun0 inet from 192.168.254.100 to any -> (tun0) round-robin > nat on tun0 inet from 192.168.254.251 to any -> (tun0) round-robin > nat on tun0 inet from 192.168.254.12 to any -> (tun0) round-robin > nat on tun0 inet from 192.168.254.101 to any -> (tun0) round-robin > nat on tun0 inet from 192.168.254.103 to any -> (tun0) round-robin > nat on tun0 inet from 192.168.254.102 to any -> (tun0) round-robin > nat on tun0 inet from 192.168.254.1 to any -> (tun0) round-robin > nat on tun0 inet from 192.168.254.2 to any -> (tun0) round-robin > nat on tun0 inet from 192.168.254.3 to any -> (tun0) round-robin > rdr on tun0 inet proto tcp from any to any port 1:11000 -> 192.168.254.10 > rdr on tun0 inet proto udp from any to any port 1:11000 -> 192.168.254.10 > rdr on tun0 inet proto tcp from any to any port 11001:11600 -> 192.168.254.100 > rdr on tun0 inet proto udp from any to any port 11001:11600 -> 192.168.254.100 > rdr on tun0 inet proto tcp from any to any port 8000:8100 -> 192.168.254.12 > rdr on tun0 inet proto udp from any to any port 8000:8100 -> 192.168.254.12 > rdr on tun0 inet proto tcp from any to any port 5010:5019 -> 192.168.254.101 > rdr on tun0 inet proto udp from any to any port 5010:5019 -> 192.168.254.101 > rdr on tun0 inet proto tcp from any to any port 5020:5029 -> 192.168.254.103 > rdr on tun0 inet proto udp from any to any port 5020:5029 -> 192.168.254.103 > rdr on tun0 inet proto tcp from any
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
On 7/18/06, Christopher Giese - iRapida <[EMAIL PROTECTED]> wrote: > opa > > um count para pf: > > ## > Upload pfctl -v -sr|grep "from ipqueVOCEquer" -A 1|grep Bytes|awk > '{print $7}' > > Download pfctl -v -sr|grep "to ipqueVOCEquer" -A 1|grep Bytes|awk > '{print $7}' > ## > > usar os 2 ao mesmo tempo sem problemas. (claro desde que vc nao > tenha 2000 regras em cada um - rs) > > estou trabalhando na ideia do Diego ipfw + snmp.. deu uma > googleada e achei como montar. > > a ideia > http://www.sat.t.u-tokyo.ac.jp/~hideyuki/ipfwsnmp.html > > o script > http://www.sat.t.u-tokyo.ac.jp/~hideyuki/ipfwsnmp > > Funcionou 100% muito legal mesmo > > mas para mim nao pode ser com ipfw... tem que ser com pf. entaum > estou portando o ipfwsnmp para pf assim que estiver funcional eu > distribui na net > > :) > > t+ > nao retornou nada aqui estas consultas :( na minha solucao: DSL --bridge-- FreeBSD ( NAT ) FreeBSD ( lim trafego ) - Rede em nenhum dos dois tem resultado ... :( ha saida, mas nada nos ips da rede 192.168.254.0/24. saida: ( FreeBSD com NAT ) [EMAIL PROTECTED] ~]# pfctl -v -sr block drop in on tun0 inet from 201.x.x.x to any [ Evaluations: 11735803 Packets: 0 Bytes: 0 States: 0 ] pass in on tun0 inet proto tcp from 201.xxxo any port 1:11000 [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ] pass in on tun0 inet proto tcp from 201.x.x.x.x to any port 11001:11600 [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ] pass in on tun0 inet proto tcp from 201.x.x.x.x to any port 8000:8100 [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ] pass in on tun0 inet proto tcp from 201.x.x.x.x to any port 5010:5019 [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ] pass in on tun0 inet proto tcp from 201.x.x.x.x to any port 5020:5029 [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ] pass in on tun0 inet proto tcp from 201.x.x.x.x to any port 15000:15500 [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ] pass in on tun0 inet proto udp from 201.x.x.x.x to any port 1:11000 [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ] pass in on tun0 inet proto udp from 201.x.x.x.x to any port 11001:11600 [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ] pass in on tun0 inet proto udp from 201.x.x.x.x to any port 8000:8100 [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ] pass in on tun0 inet proto udp from 201.x.x.x.x to any port 5010:5019 [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ] pass in on tun0 inet proto udp from 201.x.x.x.x to any port 5020:5029 [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ] pass in on tun0 inet proto udp from 201.x.x.x.x to any port 15000:15500 [ Evaluations: 0 Packets: 0 Bytes: 0 States: 0 ] pass in on rl0 all [ Evaluations: 10378505 Packets: 5080445 Bytes: 1233312838 States: 0 ] e ha regras de nat: nat on tun0 inet from 192.168.254.10 to any -> (tun0) round-robin nat on tun0 inet from 192.168.254.100 to any -> (tun0) round-robin nat on tun0 inet from 192.168.254.251 to any -> (tun0) round-robin nat on tun0 inet from 192.168.254.12 to any -> (tun0) round-robin nat on tun0 inet from 192.168.254.101 to any -> (tun0) round-robin nat on tun0 inet from 192.168.254.103 to any -> (tun0) round-robin nat on tun0 inet from 192.168.254.102 to any -> (tun0) round-robin nat on tun0 inet from 192.168.254.1 to any -> (tun0) round-robin nat on tun0 inet from 192.168.254.2 to any -> (tun0) round-robin nat on tun0 inet from 192.168.254.3 to any -> (tun0) round-robin rdr on tun0 inet proto tcp from any to any port 1:11000 -> 192.168.254.10 rdr on tun0 inet proto udp from any to any port 1:11000 -> 192.168.254.10 rdr on tun0 inet proto tcp from any to any port 11001:11600 -> 192.168.254.100 rdr on tun0 inet proto udp from any to any port 11001:11600 -> 192.168.254.100 rdr on tun0 inet proto tcp from any to any port 8000:8100 -> 192.168.254.12 rdr on tun0 inet proto udp from any to any port 8000:8100 -> 192.168.254.12 rdr on tun0 inet proto tcp from any to any port 5010:5019 -> 192.168.254.101 rdr on tun0 inet proto udp from any to any port 5010:5019 -> 192.168.254.101 rdr on tun0 inet proto tcp from any to any port 5020:5029 -> 192.168.254.103 rdr on tun0 inet proto udp from any to any port 5020:5029 -> 192.168.254.103 rdr on tun0 inet proto tcp from any to any port 15000:15500 -> 192.168.254.1 rdr on tun0 inet proto udp from any to any port 15000:15500 -> 192.168.254.1 faco as regras separadas para poder controlar quem pode ou nao usar o FreeBSD como roteador :) valeu matheus -- We will call you cygnus, The God of balance you
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
massa !!! hj agressivo pra cimadisso ;) valeuz mesmo :) mas, isso pega so o nat ? tenho: DSL - Roteador ( NAT ) --- Roteador ( Limite de Banda ) --- REDE obs: como nao consegui limitar banda de saida depois de passar pro nat, coloquei duas maquinas para o servico. elas estavam paradas mesmo e eu queria usar PF posso colocar el qualquer um, pois quem passa do primeiro vai pra internet :) matheus On 7/18/06, Christopher Giese - iRapida <[EMAIL PROTECTED]> wrote: > opa > > um count para pf: > > ## > Upload pfctl -v -sr|grep "from ipqueVOCEquer" -A 1|grep Bytes|awk > '{print $7}' > > Download pfctl -v -sr|grep "to ipqueVOCEquer" -A 1|grep Bytes|awk > '{print $7}' > ## > > usar os 2 ao mesmo tempo sem problemas. (claro desde que vc nao > tenha 2000 regras em cada um - rs) > > estou trabalhando na ideia do Diego ipfw + snmp.. deu uma > googleada e achei como montar. > > a ideia > http://www.sat.t.u-tokyo.ac.jp/~hideyuki/ipfwsnmp.html > > o script > http://www.sat.t.u-tokyo.ac.jp/~hideyuki/ipfwsnmp > > Funcionou 100% muito legal mesmo > > mas para mim nao pode ser com ipfw... tem que ser com pf. entaum > estou portando o ipfwsnmp para pf assim que estiver funcional eu > distribui na net > > :) > > t+ > > Christopher Giese > [EMAIL PROTECTED] > > > Nenhum _de_Nos wrote: > > hmmm, entao me restao duas saidas. > > > > ou eu uso nat+firewall com pf e faco ipfw so para count ( como dito, > > sem bloquear nem interferir em nada ) > > > > ou eu procuro algo como count para pf > > > > eu posso ter pf e ipfw rodando ao mesmo tempo ? > > > > e obrigado pelas respostas :) > > > > matheus > > > > > > - > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > -- We will call you cygnus, The God of balance you shall be - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
Chris, Idéia melhor ainda!!! Deixa separado em sets diferentes. Set 1 para os counts e set 2 para os pipes/queues ... Quando for zerar com o script de limitação de banda: ipfw delete set 1 ipfw pipe flush (ou ipfw pipe delete (não me recordo)). O esquema de sets diferentes é a melhor maneira com certeza, eu estou sem nenhum FreeBSD aqui para testar mas na documentação do IPFW é bem facil verificar como usar os sets com IPFW. Abraços -- Diego Linke Public Key: http://www.gamk.com.br/gamk.asc - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
Blz vou testar isto. mas vou portar para PF de qq jeito (risos) afinal... ja comecei... e parar no meio agora ...tiraria todo o tchan da coisa (risos) ;) Diego Linke wrote: > Chris, > > >> mas isto tb estaria zerando os pipes / queues / etc...etc..etc ??? >> >> > > Ele apagaria os pipes e queues, mas não todas as regras do firewall. > Acho que seria a melhor opção! > > Abraços > > - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
Chris, > > mas isto tb estaria zerando os pipes / queues / etc...etc..etc ??? > Ele apagaria os pipes e queues, mas não todas as regras do firewall. Acho que seria a melhor opção! Abraços -- Diego Linke Public Key: http://www.gamk.com.br/gamk.asc - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
Blz mas isto tb estaria zerando os pipes / queues / etc...etc..etc ??? Diego Linke wrote: > Christopher, > > >> calma homi >> >> > > Eu estou calmo :D > > >> assim tenho um LIMITADOR de banda rodando com ipfw + dummynet. >> onde tenho varios funcionarios que o alimentam atravez de .txt e scripts >> >> quando os funcionarios rodam os scripts... ZERA O IPFW e realizmenta >> o mesmo >> >> ou seja.. o contador VAI PRO PAU >> >> por isso pensei em usar pf... pois nesta maquina nao uso pf... e ninguem >> ZERARIA situacoes do mesmo (rs) >> >> fragou ??? >> > > Entendi!!! > Solução: > As regras de count ficariam entre os números 0-1000 e as de limitação de > banda de 10001 a 2000, dai na hora do script "zerar" o ipfw ao invez de > ele executar um "ipfw -qf flush" ele executaria "ipfw del 10001-2000". > > Abraços > > - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
Christopher, > calma homi > Eu estou calmo :D > assim tenho um LIMITADOR de banda rodando com ipfw + dummynet. > onde tenho varios funcionarios que o alimentam atravez de .txt e scripts > > quando os funcionarios rodam os scripts... ZERA O IPFW e realizmenta > o mesmo > > ou seja.. o contador VAI PRO PAU > > por isso pensei em usar pf... pois nesta maquina nao uso pf... e ninguem > ZERARIA situacoes do mesmo (rs) > > fragou ??? Entendi!!! Solução: As regras de count ficariam entre os números 0-1000 e as de limitação de banda de 10001 a 2000, dai na hora do script "zerar" o ipfw ao invez de ele executar um "ipfw -qf flush" ele executaria "ipfw del 10001-2000". Abraços -- Diego Linke Public Key: http://www.gamk.com.br/gamk.asc - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
Risos calma homi assim tenho um LIMITADOR de banda rodando com ipfw + dummynet. onde tenho varios funcionarios que o alimentam atravez de .txt e scripts quando os funcionarios rodam os scripts... ZERA O IPFW e realizmenta o mesmo ou seja.. o contador VAI PRO PAU por isso pensei em usar pf... pois nesta maquina nao uso pf... e ninguem ZERARIA situacoes do mesmo (rs) fragou ??? Diego Linke wrote: > Christopher, > > >> http://www.sat.t.u-tokyo.ac.jp/~hideyuki/ipfwsnmp >> >> Funcionou 100% muito legal mesmo >> >> mas para mim nao pode ser com ipfw... tem que ser com pf. entaum >> estou portando o ipfwsnmp para pf assim que estiver funcional eu >> distribui na net >> >> > > Porque não pode ser com IPFW ? > Não vejo problemas de você manter o seu Firewall com PF+CARP+ALTQ e > deixar a parte de accouting para o IPFW+SNMP. > > Abraços > > - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
Christopher, > http://www.sat.t.u-tokyo.ac.jp/~hideyuki/ipfwsnmp > > Funcionou 100% muito legal mesmo > > mas para mim nao pode ser com ipfw... tem que ser com pf. entaum > estou portando o ipfwsnmp para pf assim que estiver funcional eu > distribui na net > Porque não pode ser com IPFW ? Não vejo problemas de você manter o seu Firewall com PF+CARP+ALTQ e deixar a parte de accouting para o IPFW+SNMP. Abraços -- Diego Linke Public Key: http://www.gamk.com.br/gamk.asc - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
opa um count para pf: ## Upload pfctl -v -sr|grep "from ipqueVOCEquer" -A 1|grep Bytes|awk '{print $7}' Download pfctl -v -sr|grep "to ipqueVOCEquer" -A 1|grep Bytes|awk '{print $7}' ## usar os 2 ao mesmo tempo sem problemas. (claro desde que vc nao tenha 2000 regras em cada um - rs) estou trabalhando na ideia do Diego ipfw + snmp.. deu uma googleada e achei como montar. a ideia http://www.sat.t.u-tokyo.ac.jp/~hideyuki/ipfwsnmp.html o script http://www.sat.t.u-tokyo.ac.jp/~hideyuki/ipfwsnmp Funcionou 100% muito legal mesmo mas para mim nao pode ser com ipfw... tem que ser com pf. entaum estou portando o ipfwsnmp para pf assim que estiver funcional eu distribui na net :) t+ Christopher Giese [EMAIL PROTECTED] Nenhum _de_Nos wrote: > hmmm, entao me restao duas saidas. > > ou eu uso nat+firewall com pf e faco ipfw so para count ( como dito, > sem bloquear nem interferir em nada ) > > ou eu procuro algo como count para pf > > eu posso ter pf e ipfw rodando ao mesmo tempo ? > > e obrigado pelas respostas :) > > matheus > > - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
hmmm, entao me restao duas saidas. ou eu uso nat+firewall com pf e faco ipfw so para count ( como dito, sem bloquear nem interferir em nada ) ou eu procuro algo como count para pf eu posso ter pf e ipfw rodando ao mesmo tempo ? e obrigado pelas respostas :) matheus -- We will call you cygnus, The God of balance you shall be - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
Matheus, Eu uso o modelo que o Diego disse e funciona legal... Pra economizar regras eu não utilizei o count propriamente dito, peguei o tráfego direto das regras do pipe do IP do usuário. Fiz algumas alterações e ficou assim: Você precisará de 2 arquivos, um pra ser o .conf do mrtg e o outro que será um script que esse .conf vai chamar. Exemplo das regras do ipfw do usuário com o IP 192.168.1.185 sendo 64K Upload e 128K Download: ipfw add 11185 pipe 64 ip from 192.168.1.185 to any in via vr1 ipfw add 11185 pipe 192 ip from any to 192.168.1.185 out via vr1 Essa regra após um "ipfw show 11185" gera a saída para os scripts trabalharem, a terceira coluna são os bytes trafegados, veja... # ipfw show 11185 11185 605994 pipe 64 ip from 192.168.1.185 to any in via vr1 11185 137 47824 pipe 192 ip from any to 192.168.1.185 out via vr1 Aqui está o arquivo .conf que deve ser chamado pelo mrtg no cron... #BOF #GLOBAL OPTIONS WorkDir: /usr/local/www/data/mrtg Language: brazilian WriteExpires: YES Refresh: 600 Interval: 5 Options[_]: growright, bits XSize[_]: 300 YSize[_]: 100 #TOTAL COUNTER Target[IP185]: `/usr/local/script/ipfw-ip185.sh` Title[IP185]: Trafego do IP 192.168.1.185 PageTop[IP185]: Trafego do IP 192.168.1.185 #EOF Aqui está o script que pega os bytes da regra do ipfw do IP em questão... # cat /usr/local/script/ipfw-ip185.sh #!/bin/sh out=`/sbin/ipfw show 11185 | grep in | /usr/bin/awk '{print $3}'` in=`/sbin/ipfw show 11185 | grep out | /usr/bin/awk '{print $3}'` echo $in echo $out echo 0 echo -n 0 #EOF []s EVANDRO ZAMPIERI E-COMP Provedor Internet Afiliado à Rede Global Info Rua Santos Dumont, 521 Birigüi - SP - 16200-095 FoneFax (18) 3644-6000 - Original Message - From: "Diego Linke" <[EMAIL PROTECTED]> To: ""Lista_Brasileira_de_Discussão_sobre_FreeBSD_(FUG-BR)"" Sent: Tuesday, July 18, 2006 11:31 AM Subject: Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks Nenhum de nos, > > estou tentando fazer um sistema para ver trafego nat ( contar bytes de > e/s de cada cliente ) para mandar via snmp para cacti/mrtg e estou > tendo problemas ( nao sou eximio programador C ) em tratar a estrutura > **mbuf que recebo ( quase resolvida, via mtod virando struct ip ), > probemas em acessar essa struct ip e por final com problemas em > mostrar estes dados. > Você não precisa fazer um sistema para isso o FreeBSD já faz isso :-) Crie regras de Count no IPFW e depois com um patch no isc-snmpd (se não me engano já está no ports este patch) você consegue pegar tráfego por regras do IPFW via snmp. Estas regras de count, apenas contariam o que está passando sem fazer nenhum espécie de match (allow, deny, divert...), neste caso elas deverão estar antes da regra divert. Exemplo: ipfw add 100 count ip from any to IP via INTERFACE ipfw add 101 count ip from IP to any via INTERFACE E depois monitorar via SNMP as regras 100 e 101. Agora a imaginação pode ir longe pois com count você pode fazer estatística do que for necessário. Espero ter ajudado! Abraços -- Diego Linke Public Key: http://www.gamk.com.br/gamk.asc - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
Em Ter, 2006-07-18 às 11:02 -0300, Nenhum _de_Nos escreveu: > estou salvando um array com os valores s_addr que recebo da (struct > ip).src_ip.s_addr. mas nao sei ainda transformar este valor em ip > legivel :( > > queria saber se alguem sabe onde vejo mais sobre isso. faco buscas no > codigo do kernel, mas isso nao eh o ideal. nao eh eficiente pra mim e > nem didatico heheh :) Acho que um lugar interessante pra você encontrar como fazer essa conversão é no codigo fonte do ifconfig, pois ele vai pegar um ip q esta na placa de rede de alguma struct e mostrar na tela. []s Nilson - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
Nenhum de nos, > > estou tentando fazer um sistema para ver trafego nat ( contar bytes de > e/s de cada cliente ) para mandar via snmp para cacti/mrtg e estou > tendo problemas ( nao sou eximio programador C ) em tratar a estrutura > **mbuf que recebo ( quase resolvida, via mtod virando struct ip ), > probemas em acessar essa struct ip e por final com problemas em > mostrar estes dados. > Você não precisa fazer um sistema para isso o FreeBSD já faz isso :-) Crie regras de Count no IPFW e depois com um patch no isc-snmpd (se não me engano já está no ports este patch) você consegue pegar tráfego por regras do IPFW via snmp. Estas regras de count, apenas contariam o que está passando sem fazer nenhum espécie de match (allow, deny, divert...), neste caso elas deverão estar antes da regra divert. Exemplo: ipfw add 100 count ip from any to IP via INTERFACE ipfw add 101 count ip from IP to any via INTERFACE E depois monitorar via SNMP as regras 100 e 101. Agora a imaginação pode ir longe pois com count você pode fazer estatística do que for necessário. Espero ter ajudado! Abraços -- Diego Linke Public Key: http://www.gamk.com.br/gamk.asc - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
Nenhum _de_Nos wrote: > On 7/18/06, Patrick Tracanelli <[EMAIL PROTECTED]> wrote: > >>Matheus, essa msg eh fora da lista. > > > mal entao ... nao sabia ... :( hehe fora da lista era a minha, pra informar que era em pvt, mas agora ja foi pra lista hehe ;-) nao esquenta > era so isso mesmo ... muito obrigado mesmo velho. como falei, eu nao > iria notar nunca isso ... :) Blz tem bastante gente com dificuldades pra enviar email pra lista por enviar com HTML. Valeu :-) -- Patrick Tracanelli FreeBSD Brasil LTDA. (31) 3281-9633 / 3281-3547 [EMAIL PROTECTED] http://www.freebsdbrasil.com.br "Long live Hanin Elias, Kim Deal!" - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] modulo do kernel - exemplo de pffil_hooks
On 7/18/06, Patrick Tracanelli <[EMAIL PROTECTED]> wrote: > > Matheus, essa msg eh fora da lista. mal entao ... nao sabia ... :( > Agora sua msg foi com sucesso pra FUG, voce apenas removeu o uso de HTML > ou fez mais algo? Era isso entao? era so isso mesmo ... muito obrigado mesmo velho. como falei, eu nao iria notar nunca isso ... :) > Valeu :) matheus -- We will call you cygnus, The God of balance you shall be - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
[FUG-BR] modulo do kernel - exemplo de pffil_hooks
hail, estou tentando fazer um sistema para ver trafego nat ( contar bytes de e/s de cada cliente ) para mandar via snmp para cacti/mrtg e estou tendo problemas ( nao sou eximio programador C ) em tratar a estrutura **mbuf que recebo ( quase resolvida, via mtod virando struct ip ), probemas em acessar essa struct ip e por final com problemas em mostrar estes dados. o exemplo que temla cria um arquivo em /dev onde se faz cat e se le o conteudo. no meu caso, nao to conseguindo isso. o cat nao acaba ... estou salvando um array com os valores s_addr que recebo da (struct ip).src_ip.s_addr. mas nao sei ainda transformar este valor em ip legivel :( queria saber se alguem sabe onde vejo mais sobre isso. faco buscas no codigo do kernel, mas isso nao eh o ideal. nao eh eficiente pra mim e nem didatico heheh :) a ideia era isso ficar algo decente para ser um natmonitor.souceforge.net para o FreeBSD. :) matheus -- We will call you cygnus, The God of balance you shall be - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd