Página 1 de 3 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão PCC, HotSpot e WebProxy no mesmo ROS.

    Construir políticas de rotas nunca foi minha área, até porque maior parte dos meus clientes operam com link dedicado e são ASN, mas surgiu a necessidade de construir políticas de rotas para uma empresa que gerencia redes locais de hotéis usando o ROS. O cenário é relativamente simples, com dois ou 3 links, onde normalmente 1 é dedicado e os outros são dinâmicos (xDSL, Cable, etc).

    A maior questão se resumia ao sistema da empresa que utiliza as ferramentas do ROS, webproxy e hotspot, para alimentar as rotinas de gerenciamento do mesmo. Pela web toda sempre as mesmas recomendações de se utilizar um equipamento/roteador distinto para o PCC e outro para webproxy e/ou hotspot. Mas a solução utilizada não permitia isso, ou seja, era necessário executar todas as configurações em apenas um ROS.

    Pois bem, disponibilidade para pesquisa e leitura sempre foram minha rotina, então, mãos obra: laboratório montado fui testar as configurações e pesquisar toda documentação disponível na web.

    Após alguns testes e aproximadamente 3 horas de pesquisa, solução pronta.

  2. #2
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Montei o cenário, o qual exponho abaixo:

    Endereçamento IP
    Código :
    /ip address
    add address=172.16.10.1/24 disabled=no interface=LAN network=172.16.10.0
    add address=10.1.1.2/30 disabled=no interface=ISP-3 network=10.1.1.0

    O endereçamento diz respeito apenas a rede local e a WAN, onde o link é dedicado e possui endereçamento estático.

    PPPoE Client
    Código :
    /interface pppoe-client
    add add-default-route=no allow=chap,mschap1,mschap2 comment="WAN 1" dial-on-demand=no disabled=no interface=ether3 max-mru=1480 max-mtu=1480 name=ISP-1 password=12345 profile=default use-peer-dns=yes user=PPPOE-1
    add add-default-route=no allow=chap,mschap1,mschap2 comment="WAN 2" dial-on-demand=no disabled=no interface=ether2 max-mru=1480 max-mtu=1480 name=ISP-2 password=12345 profile=default use-peer-dns=yes user=PPPOE-2
    Os clientes PPPoE não recebem rotas do servidor, umas vez que iremos definir as mesmas através das interfaces no momento da configuração das políticas de rotas.
    Última edição por sergio; 26-11-2011 às 17:07.

  3. #3
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Em seguida as configurações do hotspot, que são simples, utilizando o setup padrão do ROS.

    Código :
    /ip hotspot profile
    set default dns-name="" hotspot-address=0.0.0.0 html-directory=hotspot http-cookie-lifetime=3d http-proxy=0.0.0.0:0 login-by=cookie,http-chap name=default rate-limit="" \
        smtp-server=0.0.0.0 split-user-domain=no use-radius=no
    add dns-name=hotspot.vialivre.net hotspot-address=172.16.10.1 html-directory=hotspot http-proxy=0.0.0.0:0 login-by=http-chap name=hsprof1 rate-limit="" smtp-server=0.0.0.0 \
        split-user-domain=no use-radius=no
    /ip hotspot
    add address-pool=hs-pool-3 addresses-per-mac=2 disabled=no idle-timeout=5m interface=LAN keepalive-timeout=none name=hotspot1 profile=hsprof1
    /ip hotspot user profile
    set default idle-timeout=none keepalive-timeout=2m name=default shared-users=1 status-autorefresh=1m transparent-proxy=no
    /ip hotspot service-port
    set ftp disabled=no ports=21
    /ip hotspot user
    add disabled=no name=admin password=12345 profile=default

    Também a configuração do webproxy, o qual, da mesma forma que o hotspot, segue apenas o setup básico, uma vez que o uso do mesmo se refere apenas a geração de logs.

    Código :
    /ip proxy
    set always-from-cache=no cache-administrator=webmaster cache-hit-dscp=4 cache-on-disk=no enabled=yes max-cache-size=none max-client-connections=600 max-fresh-time=3d \
        max-server-connections=600 parent-proxy=0.0.0.0 parent-proxy-port=0 port=8080 serialize-connections=yes src-address=0.0.0.0

  4. #4
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Em seguida realizamos as configurações do firewall mangle, onde está o "segredo" do funcionamento do PCC com o HotSpot e o webproxy, juntos.

    Código :
    /ip firewall mangle
    add action=accept chain=prerouting comment="Permite destino sem LB" disabled=no dst-address-list=SEM-LB
    ## Permite que pacotes com destino aos IPs e/ou blocos de IP, configurados em uma address list, chamada SEM-LB
    ## sejam encaminhados sempre pela rota padrão sem usar as políticas de rotas
     
    add action=mark-connection chain=input comment="Marca ISPS - Entra por X sai por X" connection-state=new disabled=no in-interface=ISP-1 new-connection-mark=isp1_conn \
        passthrough=yes
    add action=mark-connection chain=input connection-state=new disabled=no in-interface=ISP-2 new-connection-mark=isp2_conn passthrough=yes
    add action=mark-connection chain=input connection-state=new disabled=no in-interface=ISP-3 new-connection-mark=isp3_conn passthrough=yes
    ## Aqui as marcas de conexão são referentes a pacotes que entrem pela interface X devem ser marcados para quando
    ## no momento que retornarem, saiam pela mesma interface X.
     
    add action=mark-connection chain=output comment="Previne remarcacao PCC por outro gateway" connection-state=new disabled=no new-connection-mark=isp1_conn out-interface=\
        ISP-1 passthrough=yes per-connection-classifier=both-addresses:3/0
    add action=mark-connection chain=output connection-state=new disabled=no new-connection-mark=isp2_conn out-interface=ISP-2 passthrough=yes per-connection-classifier=\
        both-addresses:3/1
    add action=mark-connection chain=output connection-state=new disabled=no new-connection-mark=isp3_conn out-interface=ISP-3 passthrough=yes per-connection-classifier=\
        both-addresses:3/2
    ## Nas regras acima, realizamos a marcação das conexões para que as mesmas sejam balanceadas, usando o PCC, onde, no momento
    ## que sairem tenham os devidos "pesos" dos links distribuidos pelos vários links que possuímos.

  5. #5
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Código :
    add action=mark-connection chain=output comment="PCC para proxy" connection-state=new disabled=no dst-address=!172.16.10.0/24 new-connection-mark=isp1_conn passthrough=yes \
        per-connection-classifier=both-addresses:3/0
    add action=mark-connection chain=output connection-state=new disabled=no dst-address=!172.16.10.0/24 new-connection-mark=isp2_conn passthrough=yes \
        per-connection-classifier=both-addresses:3/1
    add action=mark-connection chain=output connection-state=new disabled=no dst-address=!172.16.10.0/24 new-connection-mark=isp3_conn passthrough=yes \
        per-connection-classifier=both-addresses:3/2
    ## As regras acima definem as marcas de rotas, assim como os devidos pesos do PCC, na saida do roteador, exceto, para a rede local (LAN).
     
     
    add action=mark-connection chain=output comment="LB para proxy" disabled=no dst-port=80 new-connection-mark=isp1_conn passthrough=yes per-connection-classifier=\
        both-addresses:3/0 protocol=tcp
    add action=mark-connection chain=output disabled=no dst-port=80 new-connection-mark=isp2_conn passthrough=yes per-connection-classifier=both-addresses:3/1 protocol=tcp
    add action=mark-connection chain=output disabled=no dst-port=80 new-connection-mark=isp3_conn passthrough=yes per-connection-classifier=both-addresses:3/2 protocol=tcp
    add action=accept chain=prerouting disabled=no dst-port=80 in-interface=LAN protocol=tcp
    ## Aqui está o "grande segredo" do funcionamento do webproxy e do PCC. Se não definirmos que os pacotes saindo do roteador
    ## com destino a porta 80 possuem suas referidas marcas de rota e definição dos pesos do PCC, os mesmos sempre sairão pela
    ## rota padrão, desta forma não usufruímos das políticas de rota e consequentemente dos links que possuímos.
    ## Além disso uma simples regra definindo que toda entrada pela LAN com destino a porta 80 tem aceite automático.
     
     
    add action=mark-routing chain=output comment="ISPx to ISPx" connection-mark=isp1_conn disabled=no new-routing-mark=to_isp1 passthrough=yes
    add action=mark-routing chain=output connection-mark=isp2_conn disabled=no new-routing-mark=to_isp2 passthrough=yes
    add action=mark-routing chain=output connection-mark=isp3_conn disabled=no new-routing-mark=to_isp3 passthrough=yes
    ## Definição das marcas de rota, para utilizarmos em nossas políticas. Através destas regras teremos nossa tabela de rotas
    ## FIB funcionamdo da maneira adequada.

  6. #6
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Código :
    add action=accept chain=prerouting comment="Permite LAN no PCC" disabled=no dst-address=172.16.10.0/24 in-interface=LAN
    add action=mark-connection chain=prerouting comment="PCC da LAN para cada ISP" disabled=no dst-address-type=!local hotspot=auth in-interface=LAN new-connection-mark=\
        isp1_conn passthrough=yes per-connection-classifier=both-addresses:3/0
    add action=mark-connection chain=prerouting disabled=no dst-address-type=!local hotspot=auth in-interface=LAN new-connection-mark=isp2_conn passthrough=yes \
        per-connection-classifier=both-addresses:3/1
    add action=mark-connection chain=prerouting disabled=no dst-address-type=!local hotspot=auth in-interface=LAN new-connection-mark=isp3_conn passthrough=yes \
        per-connection-classifier=both-addresses:3/2
    add action=mark-routing chain=prerouting comment="Rotas LAN para cada ISP" connection-mark=isp1_conn disabled=no in-interface=LAN new-routing-mark=to_isp1 passthrough=yes
    add action=mark-routing chain=prerouting connection-mark=isp2_conn disabled=no in-interface=LAN new-routing-mark=to_isp2 passthrough=yes
    add action=mark-routing chain=prerouting connection-mark=isp3_conn disabled=no in-interface=LAN new-routing-mark=to_isp3 passthrough=yes
    ## Finalmente definimos nossas marcas de conexão e rotas para a rede local, atribuindo os devidos pesos do PCC.
    ## Notem que o "pulo do gato" do funcionamento do hotspot, onde o mesmo exibe a tela de captura para login e senha do usuário
    ## está em atribuir o parâmetro "hotspot=auth".

  7. #7
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    O firewall nat:

    Código :
    /ip firewall nat
    add action=redirect chain=pre-hotspot comment="Paginas de status do hotspot" disabled=no dst-address=172.16.10.1 dst-port=80 hotspot=auth protocol=tcp to-ports=64873
    add action=redirect chain=dstnat comment="REDIR PROXY" disabled=no dst-port=80 in-interface=LAN protocol=tcp to-ports=8080
    add action=masquerade chain=srcnat comment="MASQ ISP-1" disabled=no out-interface=ISP-1
    add action=masquerade chain=srcnat comment="MASQ ISP-2" disabled=no out-interface=ISP-2
    add action=masquerade chain=srcnat comment="MASQ ISP-3" disabled=no out-interface=ISP-3

    O único detalhe aqui fica por conta de uma regra no canal pre-hotspot redirecionando as requisições com destino ao IP 172.16.10.1 (gateway e servidor hotspot) à tela status do hotspot.

  8. #8
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Finalmente a configuração de políticas de rotas, usando nossa routing engine:

    Código :
    /ip route
    add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ISP-1 routing-mark=to_isp1 scope=30 target-scope=10
    add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ISP-2 routing-mark=to_isp2 scope=30 target-scope=10
    add check-gateway=ping disabled=no distance=5 dst-address=0.0.0.0/0 gateway=10.1.1.1 routing-mark=to_isp3 scope=30 target-scope=10
    add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ISP-2 scope=30 target-scope=10
    add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ISP-1 scope=30 target-scope=10
    add check-gateway=ping disabled=no distance=5 dst-address=0.0.0.0/0 gateway=10.1.1.1 scope=30 target-scope=10

    O "grande diferencial" aqui é usar a distância administrativa para definirmos qual dos links será eleito a rota padrão. Por exemplo, não queria que o ISP-3 fosse eleito para tal, uma vez que o mesmo poderia ser o de maior latência ou de menor banda.

  9. #9
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Enfim, é isso. As configurações estão em pleno funcionamento no meu Lab e no cliente.

    Resolvi compartilhar pois é fruto de vários materiais que encontrei na web e do simples uso da lógica para desenvolver as mesmas.

    Espero que antes de comentários tipo "aqui não funcionou", leiam, procurem montar seus Lab. e testem.

    Dúvidas sucintas, estou pronto a respondê-las e se possível resolvê-las.

  10. #10
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Captura de tela com as regras em ação.
    Miniaturas de Anexos Miniaturas de Anexos Clique na imagem para uma versão maior

Nome:	         pcc.jpg
Visualizações:	319
Tamanho: 	16,4 KB
ID:      	30939  

  11. #11
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Conntrack em ação:
    Miniaturas de Anexos Miniaturas de Anexos Clique na imagem para uma versão maior

Nome:	         conntrack.png
Visualizações:	329
Tamanho: 	25,0 KB
ID:      	30941  

  12. #12

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Grande Sérgio ...
    Parabéns pela grande contribuição, vou colocar em testes, pois essa solução é muito bem vinda.

  13. #13
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Blz rps?

    Então... eu nunca fui muito fã de políticas de rotas de maneira dinâmica, até porque quase nunca precisei, mas quando me vi com o problema, tive que correr atrás e consegui estas configurações. Na verdade as dicas estão todas no fórum da própria Mikrotikls, lógico que em posts separados, mas só juntar tudo, botar a cabeça pra funcionar e a solução sai.





    Citação Postado originalmente por rps67 Ver Post
    Grande Sérgio ...
    Parabéns pela grande contribuição, vou colocar em testes, pois essa solução é muito bem vinda.

  14. #14

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Excelente tópico Sergio, com certeza irá ajudar muita gente, inclusive eu que em uma hora oportuna irei colocar em teste e em prática. Obrigado por compartilhar

  15. #15

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Tio aqui nao funcionou!!! kkkkk

    Eeeeeeee, zoeiraa, mas tirando isso o tópico no mínimo merece 3 premiações:

    - Queda de um mito
    - Capacidade de criação e inovação
    - Funcionalidade extrema

    Parabéns

  16. #16

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Opa boa tarde

    Belo material, este é o melhor exemplo de quando a gente pesquisando e fazendo testes na pratica a coisa rende, só não pode ter preguiça...
    Valeu pelo material.

    Obrigado

  17. #17
    Moderador Avatar de minelli
    Ingresso
    Aug 2006
    Localização
    Pres. Venceslau - SP | Pres. Prudente - SP
    Posts
    1.412
    Posts de Blog
    10

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Sérgio mais uma vez parabéns pelo post, não entrarei em detalhe senão vão me chamar de "Puxa" mas creio que seja o que falta no pessoal pesquisar e estudar.
    Parabéns pela contribuição creio que ajudará a muitos.

  18. #18

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Bom pelo jeito ninguém fez uso das tuas explicações... Farei hoje pela madrugada... Amanhã com certeza terei algumas dúvidas rsrs...
    Posto resultado...

  19. #19

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Efetuei configuração conforme explicado pelo Sérgio e posso falar que funciona muito bem, só não coloquei as regras de direcionamento de proxy pois configurei numa RB750G... Minha única dúvida fica por conta de queda de algum dos links, pois aqui uso ambos os links já roteados... Sendo que se colocar para chegar o gateway por ping sempre irá responder mesmo estando sem internet... Há alguma forma de fazer isso sem ser por ping??? Obrigado.

  20. #20
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão Re: PCC, HotSpot e WebProxy no mesmo ROS.

    Bom, o link da rota padrão pode até responder, pois é rota estática, possuindo um roteador no caminho. Agora os dos DSL, sem chances né... pois estão por interface e se cair o dsl, necas de gateway. No caso do meu exemplo.

    No seu caso, sugiro a criação de um script, fazendo o teste externo à rede do fornecedor e ai sim, poderá refazer sua rota padrão. Poderá configurar esse script no netwatch.

    Citação Postado originalmente por peritinaicos Ver Post
    Efetuei configuração conforme explicado pelo Sérgio e posso falar que funciona muito bem, só não coloquei as regras de direcionamento de proxy pois configurei numa RB750G... Minha única dúvida fica por conta de queda de algum dos links, pois aqui uso ambos os links já roteados... Sendo que se colocar para chegar o gateway por ping sempre irá responder mesmo estando sem internet... Há alguma forma de fazer isso sem ser por ping??? Obrigado.