Vigo Tecnologia

Gerenciamento completo para provedores.

Ferramentas do usuário

Ferramentas do site


mikrotik_ipv6pd

Log do IPv6-PD através da API do VigoWEB

O RouterOS até a versão 6.xx não possuía a implementação correta do atributo Delegated-IPv6-Prefix do radius, impossibilitando assim o armazenamento em log via accounting do IPv6 delegado ao cliente, era possível somente o armazenamento do Framed-IPv6-Prefix, no entanto, existem diversas maneiras de se capturar esta informação e salvá-la em log, explicaremos neste tópico como fazer utilizando a API do VigoWEB.

Passo 1: Definir o Remote IPv6 Prefix Pool e também o DHCPv6 PD Pool no profile do PPPoE Server, estes deverão ser pools locais criados no Mikrotik.

Passo 2: Definir os scripts nos eventos onUP e onDOWN do profile.

Script onUP

Não esquecer de ajustar os parâmetros “nome-do-provedor”, “login-da-api”, “senha-da-api” e “ip-do-mikrotik” no script abaixo.

:local servername "<pppoe-$user>"
:local prefixo
:delay 30s
:foreach binding in=[/ipv6 dhcp-server binding find status="bound" server="$servername"] do={
  :set $prefixo [/ipv6 dhcp-server binding get $binding address]
  :log info "Login=$user   IPv6PD=$prefixo"
  /tool fetch url="https://nome-do-provedor.vigoweb.com.br/api/ipv6pd" http-data="usuario=login-da-api&senha=senha-da-api&login=$user&nas=ip-do-mikrotik&ipv6pd=$prefixo" http-method=post
}

Script onDOWN

:local servername "<pppoe-$user>"
/ipv6 dhcp-server binding remove [find server=$servername]
/ipv6 dhcp-server remove [find numbers=$user]

Passo 3: Criar uma tarefa agendada, SCHEDULER, para que ela atue como “interim-update”, atualizando as informações a cada hora.

Não esquecer de ajustar os parâmetros “nome-do-provedor”, “login-da-api”, “senha-da-api” e “ip-do-mikrotik” no script abaixo.

:local loginpppoe
:local prefixo
:local servername
:foreach logins in=[/ppp active find] do={
  :set $loginpppoe [/ppp active get $logins name]
  :set $servername "<pppoe-$loginpppoe>"
  :foreach b in=[/ipv6 dhcp-server binding find status="bound" server="$servername"] do={
    :set $prefixo [/ipv6 dhcp-server binding get $b address]
    :log info "Login=$loginpppoe   IPv6PD=$prefixo"
    /tool fetch url="https://nome-do-provedor.vigoweb.com.br/api/ipv6pd" http-data="usuario=login-da-api&senha=senha-da-api&login=$loginpppoe&nas=ip-do-mikrotik&ipv6pd=$prefixo" http-method=post
  }
}

Passo 4: Verificar o funcionamento dos scripts no log do mikrotik, deverá aparecer registros como na imagem abaixo.

Passo 5: Também se faz necessário uma configuração específica na query do radius utilizada para o interim-update, para que o interim-update do radius não remova a informação já capturada, após efetuar as configurações acima você deverá entrar em contato com o suporte da Vigo Tecnologia e solicitar este ajuste.


Ferramentas da página