Prezados,
Tenho visto diversos clientes com problemas quanto à uso da banda contratada pelas atualizações Microsoft principalmente do Windows 10 por isso vou criar aqui abaixo um passo à passo de como fazer para capturar todo o tráfego e fazer o controle dessa banda utilizada.
Criei um procedimento que faz a captura no dns dos endereços dessas atualizações e os inclui em uma lista onde consigo controlar o tráfego dessas atualizações.
IMPORTANTE
Isso é para uso em redes corporativas e que não atendem clientes (provedores) pois o Traffic Shaping é proibido.
Vamos lá,
CENÁRIO DA MINHA REDE: (Onde você irá substituir os dados conforme a sua rede)
- MODO DE CONEXAO DO LINK: PPPOE
- IP DA REDE INTERNA OU CLIENTES: 192.168.0.0/24
- GATEWAY: 192.168.0.100 (IP DA MINHA MK)
Primeiramente você irá forçar seu cliente à usar o DNS da Mikrotik, ou seja no meu caso o cliente recebe do DHCP o DNS como sendo o 192.168.0.100
Para fazer isso você vai em IP / DHCP-SERVER / NETWORKS e configura o DNS com o IP da sua Mikrotik.
Código :/ip dhcp-server network add address=192.168.0.0/24 gateway=192.168.0.100 netmask=24
No Firewall você irá criar no NAT um direcionamento fazendo com que todas as requisições vindas dos computadores da sua rede para a porta DNS (53) da sua Mikrotik sejam redirecionadas para o DNS do Google (8.8.8.8), com isso essas informações ficarão registradas no Cache DNS da sua Mikrotik.
Código :/ip firewall nat add action=dst-nat chain=dstnat comment="REDIRECIONAR DNS" \ dst-port=53 in-interface=!pppoe-out1 protocol=udp to-addresses=\ 8.8.8.8 to-ports=53
Agora iremos criar um agendamento no Scheduler para que à cada 2 Minutos seja feita uma captura no Cache do DNS de todos os endereços equivalentes à Microsoft.
Caso queira você pode adicionar novos domínios à lista obedecendo a colocação entre as barras
Código :/system scheduler add interval=2m name=microsoft on-event=":foreach i in=[/ip dns cache all find where (name~\"update.microsoft\" || name~\" wsupdate\" || name~\"download.microsoft\" || name~\"wustat\" || name~\"ntservicepack\") && (type=\"A\") ] do={\r\ \n :local tmpAddress [/ip dns cache get \$i address];\r\ \ndelay delay-time=10ms\r\ \n#prevent script from using all cpu time\r\ \n :if ( [/ip firewall address-list find where address=\$tmpAddress] = \"\") do={ \r\ \n :local cacheName [/ip dns cache get \$i name] ;\r\ \n :log info (\"added entry: \$cacheName \$tmpAddress\");\r\ \n /ip firewall address-list add address=\$tmpAddress list=MS timeout=23:59:59 comment=\$cacheName;\r\ \n\r\ \n}\r\ \n\r\ \n}" policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive start-date=jan/01/2016 start-time=00:01:00
Agora iremos criar uma Simple Queue que faz o controle de tráfego tanto de Download quanto de Upload para esses IPs da Microsoft.
No meu caso eu criei um Burst de até 2,5Mega para uso de tráfego Microsoft. Porém vocês podem modificar conforme a necessidade. Coloquei um controle de horario para que a regra seja ativada somente no horário comercial.
Atualizações poderão ser feitas sem nenhum controle na parte da noite ou nos finais de semana.
Código :/queue simple add burst-limit=2560k/2560k burst-threshold=720k/938k burst-time=7m7s/5m28s comment="CONTROLE ATUALIZACOES MICROSOFT" limit-at=\ 768k/1M max-limit=768k/1M name=MS packet-marks=ms target=pppoe-out1 time=7h30m-17h59m59s,mon,tue,wed,thu,fri
Para saber se a regra está funcionando basta você consultar no IP / Firewall / Address-List se estão sendo adicionadas à lista os endereços Microsoft.
Caso tenha alguma sugestão de alteração ou melhoria favor contribuir.
Att
José Vanderlei Haás dos Santos
Haás Tecnologia em Informática
VisãoNet Telecom
Tel: 42 3436-4096 / 42 3828-0001 / 0800-643-5025