Olá pessoal! Como eu havia prometido em outro tópico que se eu colocasse para rodar página de manutenção no MK sem usar servidor externo “Linux/apache etc...” eu postaria tudo aqui.
Então vamos lá! Para começar quero lembrar que estou usando RB 433ah com versão 4.10 outras versões não testei “fica a critério de cada um”, posso garantir que está rodando 100% há 2 meses em 20 torres com mikrotik, uso hotspot com freeradius levei 2 semanas para deixar tudo 100% e adaptar as configurações para as minhas necessidades, aqui no fórum tem vários tópicos mostrando como configurar o hotspot, não vou mostrar como configura e sim o sistema de monitoramento que desenvolvi com alguns conteúdos tirados daqui mesmo do fórum.
Vou explicar como funciona, coloquei o netwatch para monitorar o dns do Google, se parar de responder por motivo de queda do link, enlace que parou ou até mesmo “desconectando o cabo de rede” o mikrotik executa o 1° script “DOWN-LINK” que cria um dns dinâmico em ip/dns/static “ .* ” com o address 189.124.1xx.xx meu dns, em ip/hotspot/Server profiles, ele muda o diretório HTML :hotspot para “ manutecao “ onde vai está sua página avisando que o seu provedor está em manutenção , também habilita uma regra que vai está em ip/ firewall/ Nat ” MANUTENCAO “ fazendo um dstnat da porta 80 para a porta 64873 do hotspot que redireciona para a tal página. o 2° script “LINK-UP” quando o link retornar desfaz tudo que o 1° script fez. O 3° script habilita em system/scheduler “remover_dns_dinamico” que executa em system/script ”REMOVER-DNS-DINAMICO” se por acaso na hora que faltar link, e seu mikrotik rebootar o hotspot vai criar outro dns static por padrão e na hora que o link retornar vai travar, então o script remove o dns dinâmico para não acontecer isso. Basicamente é isso que esse sistema de monitoramento vai fazer bem simples e funcional “tudo automático”
Lembrando no Nat a regra de dstnat “MANUTENCAO” fica desabilitada, e em system scheduler “remover_dns_dinamico” também fica desabilitada, elas se habilitam automaticamente quando o link cair.
Atenção edite o script onde está em vermelho antes de copiar e colar!
-provedor.com.br = seu dns name que usa no ip/hotspot/server profiles/hsprof1
-189.124.1xx.xxx = seu dns em ip/dns/settings/servers (só o primário)
-10.100.0.1 = seu dns statico em ip/dns/static/address (uma dica ao criar seu dns statico em TLL: coloque assim 00:00:05
-8.8.8.8 = aqui dns do Google altere se quiser
-----------------------------------------------------------------------------------------------------
/system script
add name=DOWN-LINK policy=ftp,read,write,winbox source="/ip firewall nat enabl\
e [find comment=\"MANUTENCAO\"]\r\
\n/ip hotspot profile set hsprof1 html-directory=manutencao\r\
\n/ip dns static set [/ip dns static find name=provedor.com.br] addre\
ss=189.124.1xx.xxx comment=\"\" disabled=no name=.* ttl=5s"
add name=LINK-UP policy=ftp,read,write,winbox source="/ip firewall nat disable\
\_[find comment=\"MANUTENCAO\"]\r\
\n/ip hotspot profile set hsprof1 html-directory=hotspot\r\
\n/ip dns static set [/ip dns static find name=.*] address=10.100.0.1 comm\
ent=\"\" disabled=no name=provedor.com.br ttl=5s\r\
\n"
add name=REMOVER-DNS-DINAMICO-OFF policy=ftp,read,write,winbox source="/ ip dns static remove [/ip dns static find dynamic=yes]\r\
\n"
add name=REMOVER-DNS-DINAMICO-ON policy=ftp,read,write,winbox source="/ip dns static remove [/ip dns static find dynamic=yes]\r\
\n/system script run LINK-UP\r\
\n/system scheduler disable [/system scheduler find name=remover_dns_dinamico_on]\r\
\n/system scheduler disable [/system scheduler find name=remover_dns_dinamico_off]"
/system scheduler
add comment="" disabled=yes interval=5s name=remover_dns_dinamico_on on-event="/ system script run REMOVER-DNS-DINAMICO-ON" policy=read,write start-time=\
startup
add comment="" disabled=yes interval=5s name=remover_dns_dinamico_off on-event="/ system script run REMOVER-DNS-DINAMICO-OFF\r\
\n" policy=read,write start-time=startup
------------------------------------------------------------------------------------------------------
/tool netwatch
add comment="MONITORAR LINK" disabled=no down-script=\
"/ system script run DOWN-LINK\r\
\n/ system scheduler enable [/system scheduler find name=remover_dns_dinamico_off]\r\
\n" host=8.8.8.8 interval=5s timeout=1s up-script=\
"/system scheduler enable [/system scheduler find name=remover_dns_dinamico_on]\r\
\n/ system script run LINK-UP\r\
\n/ queue simple remove hs-<hotspot1>"
-----------------------------------------------------------------------------------------------------
/ip firewall nat
add action=redirect chain=dstnat comment=MANUTENCAO disabled=yes dst-port=80 \
protocol=tcp to-ports=64873
-----------------------------------------------------------------------------------------------------
Outra coisa! Eu não removo os clientes do actve do hotspot para assim que o link retornar eles não vão precisar se autenticar novamente, tem um redirecionamento na minha pagina de manutenção quando volta o link direciona para meu site, mais quem quiser remover os clientes para eles logarem quando voltar o link só acrescentar essa 1° linha abaixo em “DOWN-LINK”
-----------------------------------------------------------------------------------------------------
/ip hotspot active remove [/ip hotspot active find] (remover ativos)
-----------------------------------------------------------------------------------------------------
/ip hotspot cookie remove [/ip hotspot cookie find] (remover cookie)
-----------------------------------------------------------------------------------------------------
/ip hotspot host remove [/ip hotspot host find] (remover host)
-------------------------------------------------------------------------------------------------------------------
Aqui vou deixar uma página simples de manutenção em html altere, ou se quiser fique a vontade para alterar todo conteúdo, em anexo vai a pasta com o diretório manutenção descompacte e altere com um editor html ou até mesmo o bloco de notas salve as com o nome de origem o login.html e status.html , os dois são a mesma pagina ex: login.html é para quem está chegando ao hotspot quando esta sem link e o status.html é para quem já estava no hotspot quando faltou link, depois de alterar e salvar as paginas use alguma ferramenta cliente ftp pode ser esse: FileZilla - Client Download para importar a pasta “manutencao” ou clique e araste para seu mikrotik em files
Essa pagina tem um refresh de 60 segundos para redirecionar para algum site se ela não encontra o site então ela retorna após 60 segundos novamente ela requisita o tal site... até haver resposta ou seja o link voltar. Outra dica! Quanto mais leve for a sua página melhor! Aqui eu testei até com um vídeo em flash com publicidades ficou show de bola! Só que em alguns clientes onde o navegador estava desatualizado dava alguns erros, mais vai ai essa outra dica!
Bem pessoal é isso ai espero ter colaborado com o fórum e ajudado aqueles que tinham essa dificuldade. E aos amigos que quiserem colaborar também se estiver percebendo algo errado por favor fiquem a vontade para esclarecer a todos, um abraço e qualquer coisa estamos ai!!!