Mudanças entre as edições de "Teste"

De BrByte Wiki
 
(232 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
=L7 Plugins=
 
A dúvida de muitos usuários do Speedr quando se trata de Plugins é grande, e estou criando esse tópico para diminuir as inúmeras dúvidas!
 
  
==Qual a real utilidade do L7 Plugin? ==
+
=Acesso Externo WEB=
Os plugins do Speedr tem como principal ação interceptar o tráfego através de '''IP/CIDR, Domínios e URL''' visando melhorar ou otimizar ainda mais a performance do Speedr.
 
  
=Como criar um Plugin?=
+
==IP > Firewall > Nat==
Primeiramente você deverá abrir no seu navegador o painel do Speedr no endereço: http://ip_do_seu_speedr:8080 em seguida abra o '''APP L7 Plugins'''.
 
  
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-APP.png|link=]]</div>
+
'''Para adicionar clique no botão:''' ([[Arquivo:MikrotikBotaoAdd.png|link=]])
  
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-INFO.png|link=]]</div>
+
*'''Aba General >'''
 +
**'''Chain: '''dstnat
 +
**'''Protocol: '''tcp
 +
**'''Dst. Port: '''8080
 +
**'''In. Interface: '''ether1 (Interface de Entrada de LINK)
  
Ao abrir o APP L7 Plugins no canto superior você vai clicar em '''Novo'''.  
+
<div class="img-responsive align-center">[[Arquivo:MikrotikIpFirewallNatAccExt1.png|link=]]</div>
  
==Descrição==
 
Nessa janela inicial, você deverá preencher o Nome, Categoria, Descrição, esses dados não tem influencia nenhuma no funcionamento do Plugin, vai ajudar apenas na identificação do mesmo.
 
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-DESC.png]]</div>
 
<p>'''IMPORTANTE: o ID não poderá ser duplicado, portanto na criação de um Plugin cuidado para não usar um ID já existente, pois o sistema não vai aceitar.'''</p>
 
<p>'''Habilitado:''' Essa função vem desabilitada por padrão, você só deve habilitar, após concluir todas as configurações de seu Plugin, pois a partir do momento que for marcado o Plugin estará em funcionamento no seu Speedr. </p>
 
# '''Ícone:''' Dêem preferência a imagens no formato '''JPG, PNG, GIF''' por ser mais leve não esqueçam que o sistema só vai permitir o tamanho máximo de '''16px 16px'''. Para adicionar um ícone é muito simples:
 
# Clique em '''Escolher Arquivo''', procure o seu ícone e em seguida pressione o botão '''Importar'''.
 
  
 +
*'''Aba Action>'''
 +
**'''Action: '''dst-nat
 +
**'''To Address: '''10.10.150.2 (IP do Speedr)
 +
**'''To Ports: '''8080
  
=Condições de Ativação=
+
<div class="img-responsive align-center">[[Arquivo:MikrotikIpFirewallNatAccExt2.PNG|link=]]</div>
<p>Nessa área você pode configurar '''IP/CIDR, Header, URL/DOM Allow e Reject''' entre outros. </p>
 
# '''Protocolo: ''' ALL, não precisa alterar, pois o FTP não tem tanta utilidade nos dias atuais.
 
# '''Método: ''' O Speedr suporta os métodos '''GET, POST e HEAD''' você pode usar todos juntos.
 
# '''Tam. Min. do Objeto: ''' O padrão mínimo é de '''0 bytes''', más é possível definir o limite mínimo em KBytes e Megabytes.
 
# '''Prioridade: ''' A prioridade funciona na existência de 2 ou mais plugins que façam cache do mesmo conteúdo, se a prioridade do primeiro plugin é 10 e a do segundo é 15, o sistema automaticamente irá priorizar o plugin que tenha menor Prioridade, nesse caso é o 10.
 
  
  
==IP/CIDR==
+
'''Regras'''
Por padrão já vem definido o Default: ALLOW, para que todo IP ou Range seja liberado, porém você pode definir sem nenhuma complicação IP/CIDR para serem exclusivamente bloqueadas ou permitidas clicando em NOVO.
+
/ip firewall nat
 +
add action=dst-nat chain=dstnat comment="SPEEDR - EXTERNO WEB" dst-port=8080 in-interface=\
 +
    ether1 protocol=tcp to-addresses=10.10.150.2 to-ports=8080
  
 +
=Acesso Externo SSH=
  
==URL/DOM Allow==
+
==IP > Firewall > Nat==
  
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-ALLOW.png|link=]]</div>
+
'''Para adicionar clique no botão:''' ([[Arquivo:MikrotikBotaoAdd.png|link=]])
  
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-MATCH.png|link=]]</div>
+
*'''Aba General >'''
 +
**'''Chain: '''dstnat
 +
**'''Protocol: '''tcp
 +
**'''Dst. Port: '''2229
 +
**'''In. Interface: '''ether1 (Interface de Entrada de LINK)
  
Esse área é realmente indispensável, pois é nela que você poderá definir os '''Domínios e URLs''' que o plugin irá capturar.
+
<div class="img-responsive align-center">[[Arquivo:MikrotikIpFirewallNatAccExt3.png|link=]]</div>
<p>'''OBS: ''' O Default nesse caso é '''E''', porém você também pode optar pelo '''OU'''
 
<BR>'''Qual a diferença? ''' No caso '''E''', o sistema vai verificar todos os domínios e testar com cada uma das URLs. No caso '''OU''', o sistema vai verificar todos os domínios e URLs individualmente sem unir domínio e URL.
 
<BR>'''Posso adicionar quantos Domínios e URLs? ''' Não existe nenhum limite pré-estabelecido, caso queira adicionar vários lembre-se apenas do detalhe abaixo. </p>
 
# '''PARTIAL MATCH: '''Considera apenas parte do Domínio ou URL.
 
# '''FULL MATCH: '''O sistema vai verificar especificamente o que estiver digitado na String.
 
# '''SPEED REGEX SENSITIVE/INSENSITIVE: '''Você poderia usar ‘’’REGEX’’’ (Expressões Regulares), na String, definindo se o sistema vai diferenciar Maiúsculas e Minúsculas .
 
  
  
==URL/DOM Reject ==
+
*'''Aba Action>'''
 +
**'''Action: '''dst-nat
 +
**'''To Address: '''10.10.150.2 (IP do Speedr)
 +
**'''To Ports: '''2229
  
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-REJECT.png|link=]]</div>
+
<div class="img-responsive align-center">[[Arquivo:MikrotikIpFirewallNatAccExt4.png|link=]]</div>
  
Ao contrário da condição acima, esse Reject irá rejeitar (bypassar) todos os domínios e urls adicionados.
 
  
 +
'''Regras'''
 +
/ip firewall nat
 +
add action=dst-nat chain=dstnat comment="SPEEDR - EXTERNO SSH" dst-port=2229 in-interface=\
 +
    ether1 protocol=tcp to-addresses=10.10.150.2 to-ports=2229
  
=Ação=
+
__NOEDITSECTION__
 
+
[[Category:Teste]]
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-ACAO.png|link=]]</div>
 
 
 
Essa parte é muito importante, pois é nela vamos definir toda a reescrita, e como o Plugin vai identificar e reescrever!
 
Em opções, já temos a descrição detalhada, então vamos proceder para próximo passo.
 
 
 
 
 
==Métodos de Reescrita:==
 
 
 
Vamos usar para exemplificar as reescritas a URL abaixo citada.
 
 
 
'''URL COMPLETA: ''' http://wiki.brbyte.com/wiki/Especial:Arquivos_novos?like=btn&limit=50&offset=
 
 
 
* REQ_R_URL
 
**'''STRING: ''' brbyte /'''
 
**O sistema vai considerar a STRING + URL até o '''? '''.
 
**'''URL REESCRITA: '''http://speedr.brbyte/wiki/Especial:Arquivos_novos
 
 
 
*REQ_SCRIPT
 
**'''STRING: '''|tld|/brbyte/|r_url_path|'''
 
**O sistema vai identificar todas as tags de identificação, |tld|, |r_url_path| entre outras.
 
**'''URL REESCRITA: ''' http://speedr.brbyte.com/wiki/Especial:Arquivos_novos
 
 
 
*REG_AND_REPL_SCRIPT
 
**'''STRING: '''brbyte.midia/|url_path|'''
 
**Praticamente idêntico ao anterior, porém vai identificar os cabeçalhos.
 
**'''URL REESCRITA: ''' http://speedr.brbyte.midia/wiki/Especial:Arquivos_novos?like=btn&limit=50&offset=
 
 
 
*DYNASIG_NO_FALLBACK
 
**'''STRING: ''' NULL'''
 
**Marca o objeto dinamicamente, com uma identificação única, podendo usar a STRING '''NULL''', pois não há necessidade de reescrita.
 
 
 
*DYNASIG_FALLBACK
 
**O DYNASIG após uma tentativa falha de realizar a identificação do objeto, o mesmo será identificado com o método '''REG_AND_REPL_SCRIPT'''
 
 
 
*REDIRECT_URL_REWRITE
 
**Reescreve a URL de Destino com a STRING digitada!
 
**STRING: google.com.br/brbyte
 
**'''URL REESCRITA: ''' google.com.br/brbyte'''
 
 
 
=QOS=
 
 
 
<div class="img-responsive align-center">[[Arquivo:L7-PLUGIN-QOS.png|link=]]</div>
 
 
 
Também é possível priorizar o tráfego marcando com TOS o MISS/HIT!
 
 
 
=IMPORTANTE=
 
 
 
Sem parâmetros:
 
 
 
|tld|
 
Será substituída pelo TLD da presente requisição.
 
Ex: http://videos00.abcd.cdn.com/ será substituído por “cdn.com”
 
 
 
|url_path|
 
 
 
Será substituída pela URL Path da presente requisição.
 
Ex: http://abc.com/path00/path01?abc=req será substituída por “path00/path01?abc=req”
 
 
 
 
 
|r_url_path|
 
 
 
Será substituída pela URL Path da presente requisição, eliminando tudo após o caractere ?, caso presente
 
Ex: http://xyz.com/path00/abc?xyz.com será substituída por ''path00/abc''
 
 
 
|last_url_path|
 
 
 
Substituída pela ultima parte do caminho presente na URL Path.
 
Ex: http://xyz.com/path00/path01/path02 será substituída por ''path02''
 
 
 
|last_r_url_path|
 
 
 
Substituída pela ultima parte do caminho presente na URL Path, eliminando tudo após o caractere ?, caso presente
 
Ex: http://xyz.com/path00/path01/abc?xyz.com será substituída por ''abc''
 
 
 
Com parâmetros (sempre numéricos):
 
 
 
|last_dirs=XX|
 
 
 
http://xyz.com/path00/path01/path02/path03
 
 
 
Caso XX == 00 – substitui por ''path03''
 
Caso XX == 01 – substitui por ''path02/path03''
 
 
 
|r_last_dirs=XX|
 
 
 
Mesmo caso da anterior, mas elimina tudo após o caractere ?, caso presente.
 
 
 
|dir=XX|
 
 
 
Aponta um pedaço especifico na URLPath.
 
 
 
Ex:
 
 
 
http://xyz.com/path00/path01/path02/path03
 
 
 
Caso XX == 00 – substitui por ''path00''
 
Caso XX == 01 – substitui por ''path01''
 
 
 
|r_dir=XX|
 
 
 
Mesmo caso da anterior, mas elimina tudo após o caractere ?, caso presente.
 
 
 
Acesso a variáveis da requisição:
 
 
 
Alem destas palavras chave, qualquer variável sendo passada em uma requisição podem ser utilizados na identificação do conteúdo, utilizando o caractere $
 
 
 
Ex: http://abc.com/req?var00=xyz&var01=123&abc=speedr
 
 
 
$var00$ seria substituído por xyz
 
 
 
$var01$ seria substituído por 123
 
 
 
$abc$ seria substituído por speedr
 
 
 
Qualquer variável não presente na URL será substituída pela string padrão NULL.
 

Edição atual tal como às 11h50min de 28 de fevereiro de 2023

Acesso Externo WEB

IP > Firewall > Nat

Para adicionar clique no botão: (MikrotikBotaoAdd.png)

  • Aba General >
    • Chain: dstnat
    • Protocol: tcp
    • Dst. Port: 8080
    • In. Interface: ether1 (Interface de Entrada de LINK)
MikrotikIpFirewallNatAccExt1.png


  • Aba Action>
    • Action: dst-nat
    • To Address: 10.10.150.2 (IP do Speedr)
    • To Ports: 8080
MikrotikIpFirewallNatAccExt2.PNG


Regras
/ip firewall nat
add action=dst-nat chain=dstnat comment="SPEEDR - EXTERNO WEB" dst-port=8080 in-interface=\
    ether1 protocol=tcp to-addresses=10.10.150.2 to-ports=8080

Acesso Externo SSH

IP > Firewall > Nat

Para adicionar clique no botão: (MikrotikBotaoAdd.png)

  • Aba General >
    • Chain: dstnat
    • Protocol: tcp
    • Dst. Port: 2229
    • In. Interface: ether1 (Interface de Entrada de LINK)
MikrotikIpFirewallNatAccExt3.png


  • Aba Action>
    • Action: dst-nat
    • To Address: 10.10.150.2 (IP do Speedr)
    • To Ports: 2229
MikrotikIpFirewallNatAccExt4.png


Regras
/ip firewall nat
add action=dst-nat chain=dstnat comment="SPEEDR - EXTERNO SSH" dst-port=2229 in-interface=\
    ether1 protocol=tcp to-addresses=10.10.150.2 to-ports=2229