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 o syslog do Linux.
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 o script no evento onUP do profile.
: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 warning "Login=$user IPv6PD=$prefixo" }
Passo 3: Ativar o envio do log do tipo “warning” para o servidor Linux.
Não esquecer de ajustar o parâmetro “ip-servidor-linux” no comando abaixo.
/system logging action add bsd-syslog=yes name=syslog remote=ip-servidor-linux remote-port=514 syslog-facility=syslog target=remote
/system logging add topics=warning action=syslog
Passo 4: Configurar o syslog do Linux para receber os dados enviados pelo Mikrotik.
vi /etc/rsyslog.conf
# Provides UDP syslog reception #$ModLoad imudp #$UDPServerRun 514 # Provides TCP syslog reception #$ModLoad imtcp #$InputTCPServerRun 514
# Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 # Provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514
systemctl restart rsyslog