[FUG-BR] RES: RES: IPFW com ALTQ
Danilo Egea
daniloegea em yahoo.com.br
Quarta Agosto 19 22:20:10 BRT 2009
Otacílio de Araújo Ramos Neto wrote:
> 2009/8/19 Danilo Egea <daniloegea at 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 at 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!
--
Danilo Egêa Gondolfo
Email/MSN - daniloegea at yahoo.com.br
Skype - daniloegea
Twitter - http://twitter.com/daniloegea
Blog - http://daniloegea.wordpress.com
__________________________________________________
Faça ligações para outros computadores com o novo Yahoo! Messenger
http://br.beta.messenger.yahoo.com/
Mais detalhes sobre a lista de discussão freebsd