Página de manutenção no Mikrotik sem usar servidor
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!!!
Re: PÁGINA DE MANUTENÇÃO NO MIKROTIK SEM USAR SERVIDOR EXTERNO
muit obrigado, vou testar aqui, vai ser de grande ajuda..
Re: PÁGINA DE MANUTENÇÃO NO MIKROTIK SEM USAR SERVIDOR EXTERNO
Valeu irmão. Vou testar e depois volto pra dar um feedback.
Re: PÁGINA DE MANUTENÇÃO NO MIKROTIK SEM USAR SERVIDOR EXTERNO
RFjonas, muito obrigado por contribuir com esse excelente tutorial.
fiz alguns teste, mais desligo o modem e me aparece a tela do status da minha pagina de hotspot,
eu so tenho algumas duvidas, a pasta manutenção eu coloco ela dentro da pasta do hotspot ou fora,
o seu ip 10.100.0.1 e o ip do mikrotik, desde ja agradeço....
Re: PÁGINA DE MANUTENÇÃO NO MIKROTIK SEM USAR SERVIDOR EXTERNO
muita atenção com o script! altere tudo que estiver em vermelho para os dados do seu mikrotik, ip, dns, dns-name.