Controle de Banda - Windows 10 Update - Squid e Iptables

Iniciado por lucascatani, 18 de Julho de 2017, 11:57

tópico anterior - próximo tópico

lucascatani

Gostaria de controlar a banda do Update do Windows 10, pois ele utiliza toda a banda. Tenho a opção do SQUID ou direto no Iptables.

Estava tentando usar esse comando abaixo:

$ ping download.windowsupdate.com   

Ai pegava o ip e fazia isso:

$ tc qdisc add dev eth1 root handle 1: htb   
$ tc class add dev eth1 parent :1 classid 1:10 htb rate 7mbit
$ tc filter add dev eth1 parent 1: u32 match ip src AQUI COLOCO O IP flowid 1:10

Porém o windows update usa vários servidores a todo o momento, fica inviável usar esse comando nesse formato.

Alguma dica?



zekkerj

#1
O ubuntu não é uma boa escolha pra ser gateway da rede. Você tem sistemas prontos especializados com muito mais recursos, como o pfsense e o endian.

Sobre as regras que você está colocando, observo que ela está filtrando o ip de origem ("... ip src..."). Veja se há alguma regra que aceite o IP de destino. Aproveite e veja a documentação, veja se a regra aceita um endereço FQDN --- o iptables, por exemplo, aceita, e se vira pra desdobrar as atualizações e múltiplos IPs.

Sobre o uso do squid, nesse caso você precisa estar usando proxy configurado ou WPAD, pois o windows update usa HTTPS --- que não passa no proxy transparente. Mas, resolvido isso, torna-se uma boa opção, visto que além de ser bem mais fácil de fazer controle de banda, também vai otimizar o tráfego, visto que todas as estações do windows 10 vão tender a baixar os mesmos conteúdos.

Mas insisto: seria melhor você estar fazendo isso com uma distribuição especializada.

EDIT: Outra coisa que lembrei... é possível, aliás, é provável, que boa parte desses servidores já esteja trabalhando em IPv6, o que inviabilizaria suas regras, a menos que vc consiga replicá-las totalmente. O iptables não trabalha com IPv6, há uma outra interface ("ip6tables") específica pra isso.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

lucascatani

Citação de: zekkerj online 18 de Julho de 2017, 12:03
O ubuntu não é uma boa escolha pra ser gateway da rede. Você tem sistemas prontos especializados com muito mais recursos, como o pfsense e o endian.

Sobre as regras que você está colocando, observo que ela está filtrando o ip de origem ("... ip src..."). Veja se há alguma regra que aceite o IP de destino. Aproveite e veja a documentação, veja se a regra aceita um endereço FQDN --- o iptables, por exemplo, aceita, e se vira pra desdobrar as atualizações e múltiplos IPs.

Sobre o uso do squid, nesse caso você precisa estar usando proxy configurado ou WPAD, pois o windows update usa HTTPS --- que não passa no proxy transparente. Mas, resolvido isso, torna-se uma boa opção, visto que além de ser bem mais fácil de fazer controle de banda, também vai otimizar o tráfego, visto que todas as estações do windows 10 vão tender a baixar os mesmos conteúdos.

Mas insisto: seria melhor você estar fazendo isso com uma distribuição especializada.

EDIT: Outra coisa que lembrei... é possível, aliás, é provável, que boa parte desses servidores já esteja trabalhando em IPv6, o que inviabilizaria suas regras, a menos que vc consiga replicá-las totalmente. O iptables não trabalha com IPv6, há uma outra interface ("ip6tables") específica pra isso.

Estou usando o WPAD, então você tem alguma idéia de como posso fazer isso pelo SQUID? Visto que já perdi ou ganhei várias horas sem sucesso.

zekkerj

Vc vai fazer isso no squid com Delay Pools.

Comece identificando o tráfego, pelos logs do squid, depois monte uma ACL identificando os sites de onde o Windows Update faz o download. Feito isso, é só associar essa ACL com uma fila de banda.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D