Eu arrumei
uci set simple-tc.mesh_vpn.limit_ingress=10000
uci set simple-tc.mesh_vpn.limit_egress=1000
uci commit simple-tc && /etc/init.d/tunneldigger restart
Com essas configurações, quando faço um teste de velocidade, obtenho uma velocidade de download de <3 MBit / s (e upload de ~ 1 MBit / s conforme o esperado).
Com um limite de entrada de 30000
, a velocidade de download aumenta para cerca de 5 MBit / s.
Quando desligo o simple-tc, obtenho 25 MBit / s para downloads (minha linha DSL tem 30 MBit / s, de modo que é o esperado).
Parece que o simple-tc reduz a velocidade de download muito mais do que deveria? Eu dei uma olhada na carga do dispositivo durante esses testes, mas sempre havia> 50% ocioso.
Isso ocorre com um WR841N / ND v10 e um firmware baseado em Gluon v2018.1.8, em uma rede baseada em tunneldigger / l2tp.
TL; DR: os filtros de entrada são ruins, o comportamento é conhecido.
Não temos como controlar a velocidade com que um peer VPN envia tráfego; tal recurso precisaria ser implementado no software VPN, ou possivelmente em uma camada no topo da VPN que transmite o limite e instala um filtro de saída do outro lado.
A única coisa que nosso filtro de ingresso faz é descartar pacotes quando ultrapassamos o limite e esperar que as conexões TCP tenham um comportamento saudável e reduzam a taxa de transferência. Para protocolos não TCP, a situação é ainda pior, já que eles geralmente não têm nenhum tipo de controle (então eles simplesmente terão perda de pacotes quando o filtro de ingresso entrar em ação). E mesmo para TCP, o comportamento na presença de perda de pacotes pode ser muito ruim com algumas implementações TCP, especialmente quando há vários fluxos TCP paralelos.
Entendo. Portanto, o que se deseja é que o tunneldigger diga ao corretor no lado do gateway para fazer a filtragem de saída. Eu posso ver como isso faz mais sentido. :)
Acho que até vi TODOs para isso em algum lugar nas fontes de escavadores de túnel ou algo assim.
Eu posso adicionar suporte para isso no tunneldigger. O simple-tc tem suporte para cooperar com o cliente VPN a esse respeito?
O Tunneldigger já tem esse suporte (o sinalizador -L no cliente faz com que o servidor defina o limite de largura de banda downstream solicitado). É que falta o suporte do lado do Gluon para realmente passar essa bandeira para o escavador de túnel quando
corrigido por d87c4b521b2e891155241c01b98a7ac90a8883b9
Incrível, muito obrigado!