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".
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.
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.
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.
1 Anexo(s)
Re: PCC, HotSpot e WebProxy no mesmo ROS.
Captura de tela com as regras em ação.