[FUG-BR] RES: RES: IPFW com ALTQ

Otacílio de Araújo Ramos Neto otacilio.neto em ee.ufcg.edu.br
Quarta Agosto 19 22:29:14 BRT 2009


2009/8/19 Danilo Egea <daniloegea em yahoo.com.br>

> Otacílio de Araújo Ramos Neto wrote:
> > 2009/8/19 Danilo Egea <daniloegea em yahoo.com.br>
> >
> >
> >> Danilo Egea wrote:
> >>
> >>> Thiago Gomes wrote:
> >>>
> >>>
> >>>> faz em forma de artigo o site esta necessitando.. faz um tempao um
> novo
> >>>> artigo nao é publicado.
> >>>>
> >>>> 2009/8/19 Danilo Egea <daniloegea em yahoo.com.br>:
> >>>>
> >>>>
> >>>>
> >>>>> Welkson Renny de Medeiros wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>> Danilo Egea escreveu:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>> Welkson Renny de Medeiros wrote:
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>>> Então, eu encontrei 2 patches bem antigos pra freebsd (4 e 6) que
> >>>>>>>>>
> >> fazem
> >>
> >>>>>>>>> isso, um atraves de sysctl e um atraves do ipfw, mas pelo visto
> não
> >>>>>>>>> foram encorporados no sistema. =/
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>> Se for esse patch abaixo que você está falando pelo menos tem uma
> >>>>>>>> vantagem, foi desenvolvido por Araújo que participa do FUG =)
> >>>>>>>> http://code.google.com/p/exports/wiki/ToSWorkAround
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>> Não era esse, com esse sao 3 hehe
> >>>>>>>
> >>>>>>> esse ->
> >>>>>>>
> >>>>>>>
> >> http://lists.freebsd.org/pipermail/freebsd-bugs/2006-August/019858.html
> >>
> >>>>>>> o outro eu nao achei mais...
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>> Legal! =) provavelmente esse resolve.. lá nos testes fala em FREEBSD
> >>>>>>
> >> 7...
> >>
> >>>>>> Qualquer novidade posta pra gente.
> >>>>>>
> >>>>>> Abraço,
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>> Eu tentei aplicar o patch num freebsd 7.2, mas ele jah nao funciona
> >>>>>
> >> mais.
> >>
> >>>>> Bem, virei a madrugada trabalhando num programa que le pacotes do
> ifpw
> >>>>> via sockets divert e altera o campo ToS deles para 00, esta
> funcionando
> >>>>> aparentemente.
> >>>>> Se alguém se interessar eu mando ele pra lista com as instrucoes. Mas
> >>>>>
> >> ja
> >>
> >>>>> vou avisando, aprendi usar sockets divert nessa madrugada UHauA e
> meus
> >>>>> conhecimentos em raw sockets nao sao os melhores.
> >>>>>
> >>>>> abraços!
> >>>>>
> >>>>>
> >>>>>
> >>>> -------------------------
> >>>> Histórico: http://www.fug.com.br/historico/html/freebsd/
> >>>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> >>>>
> >>>>
> >>>>
> >>>>
> >>> Então, é que o programinha que eu fiz eh meio porco sabe UAHuha,
> preciso
> >>> fazer ele receber parametros e virar daemon, mas o que eu precisava ele
> >>> já está fazendo.
> >>> Quando ele estiver mais esbelto eu faço um artigo.
> >>>
> >>>
> >>>
> >> Houston we have a problem.
> >>
> >> Bem, não sou exímio conhecedor das profundesas do tcp/ip, tive um
> >> pequeno (grande?) problema. Seguinte, localmente (trafego local) o
> >> programinha que eu fiz altera o valor do campo ToS dos pacotes e o
> >> pacote vai embora normal, fiz os teste com uma maquina virtual linux no
> >> qemu. Dai fazendo um teste num gateway, ele alterava o campo mas o
> >> pacote nao ia pra frente, só ai fui me atentar para o fato de o checksum
> >> do pacote ser alterado, implementei alguns algoritmos de calculo de
> >> checksum que encontrei na net, quando nao ha alteracao no pacote ele
> >> calcula certo, quando eu mudo o tos o sistema nao aceita o pacote.
> >>
> >> A pergunta é a seguinte, é possível alterar o checksum dos pacotes em
> >> user mode e repassa-los ao kernel de uma maneira que funcione? Ou isso
> >> só pode ser feito em kernel mode?
> >>
> >>
> >>
> > Eh possível sim, você vai ter que faze um divert do pacote para o seu
> > programa e calcular  o checksum e entrar com o pacote no kernel
> novamente. A
> > conta do checksum do IP é fácil (tem até no RFC),  mas a do TCP eh um
> osso,
> > principalmente porque tem um tal de "cabeçalho virtual" que  é um nó para
> > montar. Principalmente porque a ordem dos bytes na rede é contrária a
> ordem
> > dos bytes no PC. Ai você tem que ter muito cuidado quando monta as coisas
> no
> > PC. Depois disso focê faz a conta. Para mim pessoalmente foi fogo, passei
> > três noites/madrugadas brigando com esse negocio antes de ficar pronto.
> > -------------------------
> > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> >
> >
>
> Mesmo não alterando em nada o cabeçalho TCP eu preciso refazer o
> checksum dele?
> Caso negativo, acho que o problema que estou tendo eh com a ordem dos
> bytes entao, eu vi isso no patch do Marcelo Araujo mas nao me atentei.
> Vou tentar e mando novidades.
>
> Muito obrigado!
>
>
Se você mudar qualquer IP precisa fazer a conta novamente porque o cabeçalho
usa umas coisas do IP também. Ele é criado com coisas do TCP e do IP. Dê uma
olhada no RCF.


Mais detalhes sobre a lista de discussão freebsd