2 Anexo(s)
QoS no Mikrotik - Completo
Bem, eu já tentei várias formas de melhorar a navegação de meus clientes. Recentemente eu sai "catanto" todas as dicas do UnderLinux e na Wiki do Mikrotik e cheguei ao meu Sistema de QoS proprio....
Dividi tudo em tres partes.
1º Protocolos Layer7Além de identificar o trafego por portas, eu uso layer7 como backup. Caso a pessoa esteja acessando um serviço X em uma porta fora do padrão o mikrotik conseguirá identificar o trafego.
2º Marcacao de Pacotes usando Mangle.Bem, basicamente eu uso a chanin= prerouting e nela eu marco o trafego nas portas dos principais servicos. Adicionalmente, eu uso o Layer7, e marco o que passar despercebido.
A principal diferenca é que eu do nomes diferentes para arquivos de tamanhos diferentes.
Ex: http-ate1mb, http-maiorque60MB
Assim, Caso o arquivo seja menor que 1mb, eu considero o trafego com prioridade maior do que um que tenha mais que 60mb.
3º As queue TreesComo no mangle eu saio marcando tudo, nas queue tree eu do a prioridade para cada tipo de servico. Ex: Para pacotes HTTP menores que 1m, o clientes tem banda liberada. Assim, mesmo que ele esteja fazendo um download na velocidade maxima, ele ainda conseguira navegar normalmente.
Eu uso a mesma ideia para os pacotes do tipo "servicosderede". Neles vem os pings, dns, etc...
Pacotes marcados como hotspot, eu faço com que ao acessar a pagina do hotspot, o cliente tenha banda total.
As regras foram feitas para MEU mikrotik, logo, provavelmente você terá que alterar uma ou outra coisinha para que elas funcionem 100% para você. (Dados Basicos do meu servidor: Link de 1M; Mikrotik 3.23; CacheFull + HotSpot; Rodando em um PC comum)
Caso alguem encontre algum erro, por favor, poste aqui para que eu saiba do mesmo e corrija em meu servidor.
Enfim, nos posts abaixo vao minhas regras.
Caso a dica tenha te ajudado, por favor, agradeça. Assim você me incentiva a escrever mais besteiras por aqui. :o
*** Vide minha Address List na página 3. Ela é necessaria para que os pacotes do youtube sejam identificados. ***
~-~-~-~-~-~-~-~-~-~
Precisa de ajuda com sua rede? Precisa replanejar suas estratégias de marketing e aumentar seu lucro? Contate-me: email {[arroba]} renangomes.com
~-~-~-~-~-~-~-~-~-~
IP FIREWALL LAYER7-PROTOCOL
# Adicionando mais formas de identificar os pacotes.
/ip firewall layer7-protocol
add comment="" name=edonkey regexp="^[\C5\D4\E3-\E5].\?.\?.\?.\?([\01\02\05\14\15\16\
\18\19\1A\1B\1C !234568@ABCFGHIJKLMNOPQRSTUVWX[`\81\82\90\91\93\96\97\98\99\9A\9B\
\9C\9E\A0\A1\A2\A3\A4]|Y................\?[ -~]|\96....\$)"
add comment="" name=goboogy regexp="<peerplat>|^get /getfilebyhash\\.cgi\\\?|^get /que\
ue_register\\.cgi\\\?|^get /getupdowninfo\\.cgi\\\?"
add comment="" name=soribada regexp="^GETMP3\r\
\nFilename|^\01.\?.\?.\?(Q:\\+|Q2:)|^\10[\14-\16]\10[\15-\17].\?.\?.\?.\?\$"
add comment="" name=rdp regexp=rdpdr.*cliprdr.*rdpsnd
add comment="" name=gnutella regexp="^(gnd[\01\02]\?.\?.\?\01|gnutella connect/[012]\\\
.[0-9]\r\
\n|get /uri-res/n2r\\\?urn:sha1:|get /.*user-agent: (gtk-gnutella|bearshare|mactel\
la|gnucleus|gnotella|limewire|imesh)|get /.*content-type: application/x-gnutella-p\
ackets|giv [0-9]*:[0-9a-f]*/|queue [0-9a-f]* [1-9][0-9]\?[0-9]\?\\.[1-9][0-9]\?[0-\
9]\?\\.[1-9][0-9]\?[0-9]\?\\.[1-9][0-9]\?[0-9]\?:[1-9][0-9]\?[0-9]\?[0-9]\?|gnutel\
la.*content-type: application/x-gnutella|...................\?lime)"
add comment="" name=cvs regexp="^BEGIN (AUTH|VERIFICATION|GSSAPI) REQUEST\
\n"
add comment="" name=nbns regexp="\01\10\01|\\)\10\01\01|0\10\01"
add comment="" name=shoutcast regexp=\
"icy [1-5][0-9][0-9] [\t-\r -~]*(content-type:audio|icy-)"
add comment="" name=dns regexp="^.\?.\?.\?.\?[\01\02].\?.\?.\?.\?.\?.\?[\01-\?][a-z0-9\
][\01-\?a-z]*[\02-\06][a-z][a-z][fglmoprstuvz]\?[aeop]\?(um)\?[\01-\10\1C][\01\03\
\04\FF]"
add comment="" name=quake-halflife regexp="^\FF\FF\FF\FFget(info|challenge)"
add comment="" name=poco regexp="^\80\94\
\n\01....\1F\9E"
add comment="" name=ciscovpn regexp="^\01\F4\01\F4"
add comment="" name=x11 regexp="^[lb].\?\0B"
add comment="" name=xboxlive regexp="^X\80........\F3|^\06XN"
add comment="" name=applejuice regexp="^ajprot\r\
\n"
add comment="" name=zmaap regexp="^\1B\D7;H[\01\02]\01\?\01"
add comment="" name=live365 regexp=membername.*session.*player
add comment="" name=rlogin regexp=\
"^[a-z][a-z0-9][a-z0-9]+/[1-9][0-9]\?[0-9]\?[0-9]\?00"
add comment="" name=http regexp="http/(0\\.9|1\\.0|1\\.1) [1-5][0-9][0-9] [\t-\r -~]*(\
connection:|content-type:|content-length:|date:)|post [\t-\r -~]* http/[01]\\.[019\
]"
add comment="" name=sip regexp=\
"^(invite|register|cancel) sip[\t-\r -~]*sip/[0-2]\\.[0-9]"
add comment="" name=pop3 regexp="^(\\+ok |-err )"
add comment="" name=smb regexp="\FFsmb[r%]"
add comment="" name=quake1 regexp="^\80\0C\01quake\03"
add comment="" name=lpd regexp="^(\01[!-~]+|\02[!-~]+\
\n.[\01\02\03][\01-\
\n -~]*|[\03\04][!-~]+[\t-\r]+[a-z][\t-\r -~]*|\05[!-~]+[\t-\r]+([a-z][!-~]*[\t-\r\
]+[1-9][0-9]\?[0-9]\?|root[\t-\r]+[!-~]+).*)\
\n\$"
add comment="" name=mute regexp="^(Public|AES)Key: [0-9a-f]*\
\nEnd(Public|AES)Key\
\n\$"
add comment="" name=ssh regexp="^ssh-[12]\\.[0-9]"
add comment="" name=jabber regexp=\
"<stream:stream[\t-\r ][ -~]*[\t-\r ]xmlns=['\"]jabber"
add comment="" name=bittorrent regexp="^(\13bittorrent protocol|azver\01\$|get/scrape\
\\\?info_hash=)|d1:ad2:id20:|\08'7P\\)[RP]"
add comment="" name=ncp regexp="^(dmdt.*\01.*(\"\"|\11\11|uu)|tncp.*33)"
add comment="" name=tls regexp="^(.\?.\?\16\03.*\16\03|.\?.\?\01\03\01\?.*\0B)"
add comment="" name=directconnect regexp="^(\\\$mynick |\\\$lock |\\\$key )"
add comment="" name=netbios regexp="\81.\?.\?.[A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P]\
[A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A\
-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P][A-P]"
add comment="" name=tftp regexp="^(\01|\02)[ -~]*(netascii|octet|mail)"
add comment="" name=subspace regexp="^\01....\11\10........\01\$"
add comment="" name=hotline regexp="^....................TRTPHOTL\01\02"
add comment="" name=doom3 regexp="^\FF\FFchallenge"
add comment="" name=ftp regexp="^220[\t-\r -~]*ftp"
add comment="" name=kugoo regexp="^1..\8E"
add comment="" name=tsp regexp=\
"^[\01-\13\16-\$]\01.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?[ -~]+"
add comment="" name=battlefield1942 regexp="^\01\11\10\\|\F8\02\10@\06"
add comment="" name=ssdp regexp="^notify[\t-\r ]\\*[\t-\r ]http/1\\.1[\t-\r -~]*ssdp:(\
alive|byebye)|^m-search[\t-\r ]\\*[\t-\r ]http/1\\.1[\t-\r -~]*ssdp:discover"
add comment="" name=imap regexp="^(\\* ok|a[0-9]+ noop)"
add comment="" name=ares regexp="^\03[]Z].\?.\?\05\$"
add comment="" name=fasttrack regexp="^get (/.download/[ -~]*|/.supernode[ -~]|/.statu\
s[ -~]|/.network[ -~]*|/.files|/.hash=[0-9a-f]*/[ -~]*) http/1.1|user-agent: kazaa\
|x-kazaa(-username|-network|-ip|-supernodeip|-xferid|-xferuid|tag)|^give [0-9][0-9\
][0-9][0-9][0-9][0-9][0-9][0-9]\?[0-9]\?[0-9]\?"
add comment="" name=qq regexp="^.\?\02.+\03\$"
add comment="" name=100bao regexp="^\01\01\05\
\n"
add comment="" name=aim regexp=\
"^(\\*[\01\02].*\03\0B|\\*\01.\?.\?.\?.\?\01)|flapon|toc_signon.*0x"
add comment="" name=unknown regexp=.
add comment="" name=msn-filetransfer regexp=\
"^(ver [ -~]*msnftp\r\
\nver msnftp\r\
\nusr|method msnmsgr:)"
add comment="" name=yahoo regexp=\
"^(ymsg|ypns|yhoo).\?.\?.\?.\?.\?.\?.\?[lwt].*\C0\80"
add comment="" name=validcertssl regexp="^(.\?.\?\16\03.*\16\03|.\?.\?\01\03\01\?.*\0B\
).*(thawte|equifax secure|rsa data security, inc|verisign, inc|gte cybertrust root\
|entrust\\.net limited)"
add comment="" name=ntp regexp=\
"^([\13\1B#\D3\DB\E3]|[\14\1C\$].......\?.\?.\?.\?.\?.\?.\?.\?.\?[\C6-\FF])"
add comment="" name=gnucleuslan regexp=\
"gnuclear connect/[\t-\r -~]*user-agent: gnucleus [\t-\r -~]*lan:"
add comment="" name=vnc regexp="^rfb 00[1-9]\\.00[0-9]\
\n\$"
add comment="" name=bgp regexp=\
"^\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF..\?\01[\03\04]"
add comment="" name=tesla regexp="\03\9A\89\"111\\.00 Beta |\E2<i\1E\1C\E9"
add comment="" name=openft regexp="x-openftalias: [-)(0-9a-z ~.]"
add comment="" name=h323 regexp=\
"^\03..\?\08...\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?\05"
add comment="" name=finger regexp=\
"^[a-z][a-z0-9\\-_]+|login: [\t-\r -~]* name: [\t-\r -~]* Directory:"
add comment="" name=ident regexp="^[1-9][0-9]\?[0-9]\?[0-9]\?[0-9]\?[\t-\r]*,[\t-\r]*[\
1-9][0-9]\?[0-9]\?[0-9]\?[0-9]\?(\r\
\n|[\r\
\n])\?\$"
add comment="" name=gkrellm regexp="^gkrellm [23].[0-9].[0-9]\
\n\$"
add comment="" name=hddtemp regexp=\
"^\\|/dev/[a-z][a-z][a-z]\\|[0-9a-z]*\\|[0-9][0-9]\\|[cfk]\\|"
add comment="" name=socks regexp=\
"\05[\01-\08]*\05[\01-\08]\?.*\05[\01-\03][\01\03].*\05[\01-\08]\?[\01\03]"
add comment="" name=biff regexp="^[a-z][a-z0-9]+@[1-9][0-9]+\$"
add comment="" name=dhcp regexp="^[\01\02][\01- ]\06.*c\82sc"
add comment="" name=smtp regexp="^220[\t-\r -~]* (e\?smtp|simple mail)"
add comment="" name=ipp regexp=ipp://
add comment="" name=msnmessenger regexp="ver [0-9]+ msnp[1-9][0-9]\? [\t-\r -~]*cvr0\r\
\n\$|usr 1 [!-~]+ [0-9. ]+\r\
\n\$|ans 1 [!-~]+ [0-9. ]+\r\
\n\$"
add comment="" name=irc regexp="^(nick[\t-\r -~]*user[\t-\r -~]*:|user[\t-\r -~]*:[\02\
-\r -~]*nick[\t-\r -~]*\r\
\n)"
add comment="" name=gopher regexp="^[\t-\r]*[1-9,+tgi][\t-\r -~]*\t[\t-\r -~]*\t[a-z0-\
9.]*\\.[a-z][a-z].\?.\?\t[1-9]"
add comment="" name=telnet regexp="^\FF[\FB-\FE].\FF[\FB-\FE].\FF[\FB-\FE]"
add comment="" name=snmp regexp="^\02\01\04.+([\A0-\A3]\02[\01-\04].\?.\?.\?.\?\02\01.\
\?\02\01.\?0|\A4\06.+@\04.\?.\?.\?.\?\02\01.\?\02\01.\?C)"
add comment="" name=nntp regexp=\
"^(20[01][\t-\r -~]*AUTHINFO USER|20[01][\t-\r -~]*news)"
add comment="" name=aimwebcontent regexp=user-agent:aim/
add comment="" name=rtsp regexp="rtsp/1.0 200 ok"
Já que estás a ajudar solicito uma informação!!!
[QUOTE=renangomes;404699] Mikrotik 3.23
renangomes,
Muito bom mesmo este material, nós que já estamos por aqui a algum tempo sabemos que já esta tão difícil alguém postar materiais deste porte que caimos em cima de forma a parecer "urubu na carniça" (no sentido figurado e no bom sentido rsrsrs), mas eu quero aproveitar aqui para perguntar se já passou por isso, vejo que usa MK 3.23 você teve alguma dificuldade ao migrar das versões que no meu caso foi da 2.9.27 para 2.9.51(legal...) e agora quero apenas migrar para 3.13 e não consigo em meus testes que clientes naveguem, somente pegam IP e pronto não se faz mas nada o hotspot não da nem sinal de vida, se puder ajudar por favor sou todo ouvidos para que possa me ajudar, irei abrir um topico logo mais se não conseguir.
desde já obrigado.
Re: QoS no Mikrotik - Completo
por gentileza amigo renan... eu tenho um link de 10m full onde eu mudo preciso mudar alguma coisa nesse teu scripts...e detalhe meu mk a versao dele e 4.6 pode me dar uma força ..msn : [email protected]
abraços ;;; fico no aguardo ..
Re: QoS no Mikrotik - Completo
amigo, com esse QoS é possivel manter o controle de banda normal do cliente pelo simple queue?
ou seja, cada cliente teria sua banda contratada (controlada pelo simple queue), mas o trafego de todos estaria sendo controlado pelo Queue tree e assim garantindo banda ou priorizando certos tipos de trafego?
ou...
com esse QoS... se um cliente gerar trafego em algum pacotes/portas marcada... esse trafego podera chegar a uma velocidade superior a que o cliente contratou?
outra coisa, esse QoS é para download ou upload (cliente-servidor)?
Re: QoS no Mikrotik - Completo
Amigo, eu sempre tive essa dúvida tbm. Já vi gente falando que o controle pelo simples queue passa a nao funcionar, ficando valendo o queue tree... e outros que falam que o queue tree apenas prioriza.
Também queria saber melhor... quem é bom com isso é o Sergio da Mikrotik Brasil
Citação:
Postado originalmente por
mascaraapj
amigo, com esse QoS é possivel manter o controle de banda normal do cliente pelo simple queue?
ou seja, cada cliente teria sua banda contratada (controlada pelo simple queue), mas o trafego de todos estaria sendo controlado pelo Queue tree e assim garantindo banda ou priorizando certos tipos de trafego?
ou...
com esse QoS... se um cliente gerar trafego em algum pacotes/portas marcada... esse trafego podera chegar a uma velocidade superior a que o cliente contratou?
outra coisa, esse QoS é para download ou upload (cliente-servidor)?
Re: QoS no Mikrotik - Completo
Citação:
Postado originalmente por
lessa
Obrigado pelas regras, apliquei em meu servidor e funcionou, porém as regras de HTTP de 1MB, 3MB, 6MB, 30MB e 60MB, não funcionaram.
Verifique a versão do seu Mikrotik.
Re: QoS no Mikrotik - Completo
Amigo, se podia ajudar fazendo o queue tree funcionar ! Eu gostaria de implantar aqui, mais nao sei se ta funcionando direitinho tudo. Lendo do começo ao fim do post, agente fica com dúvida se ta blz ou não...
Citação:
Postado originalmente por
anjunior
Renan, a marcação de pacotes esta fazendo o trabalho dela certinho, porém as queues tree não estao fazendo quase nada, ou pelo menos, não estão fazendo seu papel principal (priorizar trafego e reservar banda). Para que isso ocorra você tem que primeiramente informar para seu sistema o quanto de banda disponivel voce tem. Definindo isso através de uma arvore pai, apos isso voce vai dividir e alocar essa banda para servicos especificos, atraves de arvores filhas, que devem estar obrigatoriamente dentro da hierarquia de arvores.
Entao é necessario termos em mente bem definido o conceito de QoS, e o que esperamos conseguir atraves da implementacao de tais politicas.
No entanto parabens pela iniciativa.
Re: QoS no Mikrotik - Completo
Acompanhando o tópico. Muito interessante.
Re: QoS no Mikrotik - Completo
Obrigado por compartilhar, estou aplicando essas regras e testando...
Re: QoS no Mikrotik - Completo
Caro exclusivenet
Sobre o cache do Webproxy:
O Mikrotik não armazena dados de sites dinâmicos, pra isso é necessário um servidor externo - ex: Thunder
Em Queue Tree provavelmente há uma entrada limitando o tamanho dos arquivos armazenados; dizem que o limite ideal para provedores via rádio é de 5Mb por aquivo.
Abraço
Márcio Eiji