Pular para o conteúdo

Referência da CLI (dtvsol)

dtvsol é a linha de comando do DTVSOL Super Router. Você a executa no próprio roteador, como root ou com sudo. A maioria dos comandos é respondida pelo daemon do roteador, dtvsold, o mesmo daemon que serve a API HTTP. O restante (versões de configuração, configuração de rede, licença, NTP, usuários do monitor de OLT) roda como root no equipamento, então continua funcionando mesmo quando a API está fora do ar.

Janela do terminal
dtvsol <group> <command> [arguments]
dtvsol help # the full help
dtvsol ? <group> # one group's detailed help (same as: dtvsol help <group>)

Os grupos com ajuda detalhada são clients, iface, networks, net6, routes, nat, protect, firewall, antispoof, olt, service e api.

Autocompletar com Tab. Pressione <TAB><TAB> para completar comandos e, depois, interfaces, VLANs e MACs. Ele é instalado uma vez pelo dtvsol init.

Nas tabelas abaixo, Altera marca os comandos que alteram o roteador, uma OLT ou a configuração armazenada. Os comandos sem a marca apenas leem.

Clientes são o modelo mais antigo: um endereço MAC com um IP fixo. Para assinantes provisionados junto com a sua ONT, veja Serviços. API: Clientes.

Comando Finalidade Altera
clients list Lista todos os clientes registrados
clients list-net <network> Lista os clientes de uma rede (CIDR)
clients search <keyword> Busca por MAC, IP, hostname, comentário ou interface
clients get <mac|ip|hostname> Consulta um cliente
clients add <mac> <ip> [hostname] [comment] [--ipv6 <addr>] Registra um cliente com IP fixo. A rede, a interface e o gateway são detectados a partir do IP. O hostname é gerado a partir do MAC quando você o omite. --ipv6 também cria uma entrada de host DHCPv6 sim
clients delete <mac> Remove um cliente do DHCP e do firewall sim
clients plan <mac> <plan|none> Atribui um plano de banda (none = ilimitado) sim
clients suspend <mac> / clients resume <mac> Corta um cliente, ou o restabelece (também dtvsol suspend <mac> / dtvsol resume <mac>) sim
clients expires <mac> <YYYY-MM-DD|never> Define a data de término do serviço. O cliente é suspenso automaticamente nessa data sim
clients active [online|recent|offline] Atividade dos clientes a partir do ARP/NDP e dos leases DHCP (também dtvsol active)
clients6 [iface] [--routers] Visão IPv6: cada MAC com o endereço que detém e o seu prefixo delegado
ips [network] Uso de IPs estáticos por rede: usados, livres, próximo livre e dispositivos na rede que não estão registrados
graph <mac|iface> [hour|day|week|month|year] [outfile.png] Salva um gráfico de tráfego como PNG (período padrão: day)
Janela do terminal
dtvsol clients add AA:BB:CC:DD:EE:FF 10.110.0.5 client-1 "Client 1 - 50 Mbps"
dtvsol clients add AA:BB:CC:DD:EE:FF 10.110.0.5 client-1 "Client 1" --ipv6 XXXX:XXXX::5
dtvsol clients list-net 10.110.0.0/21
dtvsol clients search 10.110.0
dtvsol clients plan AA:BB:CC:DD:EE:FF plan_50_10
dtvsol clients expires AA:BB:CC:DD:EE:FF 2026-12-31
dtvsol clients suspend AA:BB:CC:DD:EE:FF
dtvsol clients6 vlan100 --routers
dtvsol ips 10.110.0.0/21
dtvsol graph AA:BB:CC:DD:EE:FF week /tmp/client.png

Um serviço é a unidade com que o sistema de cobrança trabalha: um cliente, uma ONT, uma velocidade, um endereço e um id permanente. Os assinantes de uma porta PON compartilham a VLAN dessa porta (v<svlan>.<cvlan>, uma /24 e uma /64). Cada ONT recebe um endereço fixo, que é entregue somente à requisição DHCP cuja Option 82 (inserida pela OLT) indica essa porta e essa ONT, então nenhum MAC é necessário. Um único comando registra a ONT na OLT e configura o lado do roteador. API: Serviços.

Comando Finalidade Altera
service unregistered [--olt n] A lista do técnico: ONTs não registradas em todas as OLTs registradas (serial, PON, fabricante)
service add <sn> --name "..." (--plan p | --down d --up u) [--olt n] [--pon f/s/p] [--user-vlan v] [--ref r] [--contract c] [--expires YYYY-MM-DD|never] [--comment ...] [--iptv] [--no-ipv6] Provisiona um assinante em uma única chamada: ONT, VLAN, endereço e velocidade. Imprime a VLAN a configurar na ONU. --pon é procurado no autofind quando você o omite. --down/--up criam o plano plan_<down>_<up> se ele não existir. --ref é idempotente: a mesma ref retorna o mesmo serviço sim
service add none --svlan s --pon f/s/p --ont-id n --name ... --plan ... Adiciona um assinante cuja ONT foi provisionada à mão sim
service list [--state active|suspended|error] [--olt n] [-q text] [--fast] [--json] Lista os serviços
service get <id> Mostra um serviço. Você também pode buscá-lo por ref, serial, contrato, endereço ou interface
service set <id> [--plan p | --down d --up u] [--name] [--contract] [--expires] [--comment] [--retry] Altera um serviço. Uma mudança de plano também altera o limite de taxa da ONT na OLT sim
service suspend <id> / service resume <id> Desativa a ONT na OLT e bloqueia o endereço no roteador, ou desfaz isso. As datas de término fazem isso automaticamente sim
service migrate <id> Move um serviço para a VLAN e a /24 da sua porta PON sem tocar na ONU. A OLT traduz a VLAN que a ONU já envia sim
service del <id> [--keep-ont] Apaga o serviço no roteador, e a ONT na OLT a menos que se use --keep-ont sim
service graph <id> [hour|day|week|month|year] [out.png] [--olt|--errors] Gráfico de tráfego a partir dos contadores do roteador. --olt mostra o tráfego da ONT contado pela OLT, --errors mostra os seus erros de fibra (BIP, FEC)

Numeração: svlan é a S-VLAN deste roteador na OLT (dtvsol olt set <olt> --svlan n) e cvlan é 100 + card*16 + pon. A /24 da porta é svc_ipv4_pool + (cvlan-100)*256 (a VLAN 100 recebe 100.64.0.0/24), e o endereço da ONT é .2 + ONT id. Para IPv6, cada porta recebe uma /64 do svc_ipv6_pool e 256 /64 delegadas do svc_pd_pool. A OLT aplica o limite de velocidade.

Janela do terminal
dtvsol service unregistered --olt olt-1
dtvsol service add 48575443A1B2C3D4 --name "Customer 1" --plan plan_200_200 --olt olt-1 --pon 0/0/3 --ref 1001
dtvsol service add 48575443A1B2C3D4 --name "Customer 2" --down 100 --up 50 --contract C-2002 --expires 2026-12-31
dtvsol service list --state suspended --olt olt-1
dtvsol service get 1001
dtvsol service set svc_1 --plan plan_300_300
dtvsol service suspend svc_1
dtvsol service del svc_1 --keep-ont
dtvsol service graph svc_1 week --errors

Planos de banda são taxas de download e upload com nome. Um cliente sem plano é ilimitado. API: Planos.

Comando Finalidade Altera
plans list Lista os planos, com o número de clientes em cada um
plans add <name> <down_mbps> <up_mbps> [comment] Cria um plano sim
plans del <name> Apaga um plano sim
Janela do terminal
dtvsol plans add plan_50_10 50 10 "Home 50"
dtvsol plans del plan_50_10

API: VLANs, IPs e rotas.

Comando Finalidade Altera
iface Lista todas as interfaces agrupadas por tipo (física, VLAN, QinQ), com estado, IPs, IDs de VLAN e interface pai
vlan list Mostra as VLANs gerenciadas. As desabilitadas aparecem esmaecidas
vlan add Interativo: escolha a interface pai e depois informe o ID da VLAN, o protocolo, o IP e o rótulo. Por padrão a VLAN atende DHCPv4, DHCPv6 e delegação de prefixo. Persiste após reinicializações sim
vlan disable <name> [reason] Desliga uma VLAN mantendo todas as configurações. O link cai, e o DHCPv4/v6, os router advertisements, as regras de NAT, os redirecionamentos de porta e as rotas dela param. A faixa de delegação continua reservada. Permitido mesmo com clientes na VLAN sim
vlan enable <name> Restaura uma VLAN desabilitada exatamente como estava, com os mesmos prefixos sim
vlan del [name] Apaga uma VLAN (interativo sem nome). Recusado enquanto houver clientes registrados nela. Não pode ser desfeito sim
ip add [iface] [ip/cidr] Adiciona um endereço IP a uma interface (interativo sem argumentos) sim
ip del <iface> <ip/cidr> Remove um endereço IP. Recusado enquanto clientes registrados o usarem como gateway sim
Janela do terminal
dtvsol vlan disable vlan100 "OLT maintenance"
dtvsol vlan enable vlan100
dtvsol ip add vlan100 10.110.96.1/21
dtvsol ip del vlan100 10.110.96.1/21

API: Redes e DHCP.

Comando Finalidade Altera
networks Mostra as interfaces, redes e gateways detectados
net list Lista as interfaces com o seu status DHCP (verde = atendida, vermelho = não configurada)
net add Interativo: adiciona uma interface ao DHCP. Escreve a sub-rede com o seu pool, adiciona a interface à lista de escuta do DHCP, testa a configuração (revertida em caso de falha) e reinicia o DHCP sim
net del Interativo: remove uma interface do DHCP. Recusado enquanto houver clientes registrados nela sim
net6 list As interfaces com o seu status DHCPv6
net6 add / net6 del Interativo: adiciona uma interface ao DHCPv6, ou a remove sim
net6 pool <iface> [start end] Preenche a faixa DHCPv6 (e o DNS) para a sub-rede IPv6 da interface sim
net6 lease <valid> [preferred] Define os tempos de vida dos endereços e prefixos DHCPv6, em segundos sim
Janela do terminal
dtvsol net6 pool vlan100
dtvsol net6 lease 86400 43200

Os resolvedores que o DHCP entrega aos assinantes. API: Redes e DHCP.

Comando Finalidade Altera
dns Mostra os resolvedores que cada VLAN entrega, e quais VLANs não entregam nenhum
dns set [iface] v4=<a,b> [v6=<c,d>] [domain=<name>] [apply=all|missing] Define os resolvedores globais, ou a substituição de uma VLAN quando você informa uma interface. Com apply=all, as VLANs existentes também passam a seguir o novo padrão sim
dns del <iface> Remove a substituição de uma VLAN para que ela herde os resolvedores globais sim
dns del global <v4|v6|domain|all> Limpa uma configuração global (volta a não entregar nada) sim
Janela do terminal
dtvsol dns set v4=XXX.XXX.XXX.53,XXX.XXX.XXX.53 v6=XXXX:XXXX::53 domain=example.net apply=all
dtvsol dns set vlan100 v4=10.0.0.53
dtvsol dns del vlan100

API: VLANs, IPs e rotas e Redes e DHCP (delegação de prefixo).

Comando Finalidade Altera
route list Lista as rotas gerenciadas e as rotas ativas (IPv4 e IPv6)
route add <prefix|default> [via <gw>] [dev <iface>] [comment] Adiciona uma rota persistente sim
route del <prefix> [via <gw>] [dev <iface>] Remove uma rota sim
pd list Delegação de prefixo DHCPv6: pools, capacidade, prefixos fixados, rotas
pd add <iface> [size] Delega prefixos de LAN a todos os CPEs de uma VLAN sim
pd resize <iface> <size> Altera quantos assinantes a fatia da VLAN comporta sim
pd del <iface> Para de delegar em uma VLAN sim
pd assign <mac> [prefix] Fixa o prefixo de um assinante. Um é escolhido automaticamente quando você o omite sim
pd unassign <mac> Libera um prefixo fixado sim
pd sync [--dry-run] Reconcilia agora as rotas dos prefixos delegados sim (não com --dry-run)
nat list Lista os pools de NAT dinâmico e as regras de NAT ativas
nat add <iface> <pool_start> [pool_end] [exempt <cidr,cidr>] [comment] Adiciona um pool de NAT a uma interface sim
nat del <iface> Remove o pool de NAT de uma interface sim
Janela do terminal
dtvsol route add default via XXX.XXX.XXX.1 dev vlan100
dtvsol route add 10.20.0.0/16 via 10.0.0.2 "to olt-1 management"
dtvsol pd add vlan100 256
dtvsol pd assign AA:BB:CC:DD:EE:FF XXXX:XXXX:b:5::/64
dtvsol pd sync --dry-run
dtvsol nat add vlan100 XXX.XXX.XXX.10 XXX.XXX.XXX.20 exempt 10.0.0.0/30

A rede do próprio roteador (portas, bonds, seus endereços, rota padrão e DNS) fica armazenada no banco de dados de configuração e é escrita no netplan. O netcfg precisa do binário do daemon. Um apply é desfeito a menos que você o confirme em até 120 segundos, e um apply que cortaria a sua própria sessão SSH é recusado. API: Configuração de rede.

Comando Finalidade Altera
netcfg show Mostra a configuração de rede armazenada, além das VLANs e rotas estáticas
netcfg import [--save [--force]] Lê a rede em execução (kernel e netplan) e mostra a mudança chave por chave. --save a armazena, mas recusa qualquer coisa que faria perder uma configuração do netplan, a menos que você adicione --force sim (com --save)
netcfg render [--proposed] Imprime o arquivo netplan que seria escrito (--proposed: o arquivo para o que o import armazenaria)
netcfg diff Compara a configuração armazenada, o kernel ativo e /etc/netplan, e diz se um apply é permitido
netcfg apply [--try] [--force] Escreve o arquivo netplan e o aplica. Confirme em até 120 s ou ele é revertido. --try apenas o verifica com netplan generate sim
netcfg confirm Mantém a rede aplicada sim
netcfg rollback Restaura agora a rede anterior sim
Janela do terminal
dtvsol netcfg import
dtvsol netcfg diff
dtvsol netcfg apply --try
dtvsol netcfg apply
dtvsol netcfg confirm

CGNAT determinístico: cada endereço privado é mapeado para um endereço público e um bloco de portas fixos. API: CGNAT e anti-spoofing.

Comando Finalidade Altera
cgnat / cgnat status Status: interface, pool, faixa de portas, tamanho do bloco, capacidade, atribuídos e livres
cgnat set [enable|disable] [iface <if>] [pool <range>] [block <n>] [exempt <cidrs>] Configura o CGNAT sim
cgnat lookup <public_ip> <port> Descobre qual assinante usou um IP público e uma porta
Janela do terminal
dtvsol cgnat set enable iface vlan200 pool XXX.XXX.XXX.0/28 block 2048 exempt 10.0.0.0/30
dtvsol cgnat lookup XXX.XXX.XXX.5 40123

Vincula IP, MAC e VLAN: um pacote vindo de uma VLAN só é encaminhado quando o seu MAC e IP de origem formam um par conhecido, e o mesmo vale para o ARP. Todo o resto é descartado e registrado em log com o MAC de origem. Para IPv6, o endereço reservado de um cliente, o seu endereço DHCPv6 e o seu prefixo delegado são vinculados ao seu MAC. O tráfego link-local sempre passa, e router advertisements ou redirects vindos de assinantes são descartados. API: CGNAT e anti-spoofing.

Comando Finalidade Altera
antispoof Status: o modo por VLAN, os vínculos e os descartes na última hora
antispoof on / antispoof off Aplica em todas as VLANs que o DHCP atende, ou remove todas as regras (as configurações são mantidas) sim
antispoof set [mode strict|dynamic] [log on|off] [exempt <cidr,...>|none] strict: só clientes registrados recebem serviço (dispositivos não registrados ainda recebem DHCP, então aparecem em dtvsol ips). dynamic: também permite dispositivos não registrados no endereço que o DHCP lhes concedeu. log: um log de kernel com limite de taxa dos descartes. exempt: endereços permitidos a partir de qualquer MAC (por exemplo o endereço de relay de uma OLT) sim
antispoof iface <vlan> <strict|dynamic|off|default> Define o modo de uma VLAN. off exclui a VLAN. Uma substituição em uma VLAN que o DHCP não atende a adiciona sim
antispoof log [since] [limit] Pacotes descartados agrupados por dispositivo. since: 30m, 2h, 1d (padrão 1 hora)
antispoof sync Reconstrói as regras agora. Normalmente não é necessário, porque toda mudança de cliente ou de VLAN e toda mudança de lease já faz isso sim
Janela do terminal
dtvsol antispoof set mode strict exempt 10.0.0.0/30 && dtvsol antispoof on
dtvsol antispoof iface vlan100 dynamic
dtvsol antispoof log 2h 100

API: Proteção.

Comando Finalidade Altera
protect list Lista as redes autorizadas a acessar a porta da API (e o monitor de OLT)
protect add <network> [comment] Autoriza uma rede sim
protect del <network> Remove uma rede sim
firewall list Mostra as regras de filtragem por MAC
firewall vlan <svlan> Mostra as regras de MAC de uma interface VLAN
portforward list Lista os redirecionamentos de porta (também pf)
portforward add <tcp|udp> <pub_port> <client_ip> <client_port> [pub_ip] [comment] Redireciona uma porta pública para um cliente sim
portforward del <tcp|udp> <pub_port> [pub_ip] Remove um redirecionamento de porta sim
fail2ban / fail2ban status Banimentos por chaves de API e logins SSH que falharam, por jail
fail2ban unban <ip> Remove um banimento sim
option82 Mostra os circuit IDs e remote IDs do relay DHCP (OLT e porta) vistos nos leases atuais
option82 enable|disable Liga ou desliga a captura da Option 82 sim
snmp / snmp status Status do agente SNMP do roteador
snmp set [community <c>] [location <l>] [contact <ct>] Configura o agente SNMP sim

Depois do dtvsol init, a proteção está sempre ativa e só o localhost pode acessar a API. Adicione as redes do seu sistema de cobrança, do middleware e do escritório.

Janela do terminal
dtvsol protect add 10.10.10.0/24 "Office network"
dtvsol protect add XXX.XXX.XXX.7 "Billing server"
dtvsol portforward add tcp 8443 10.110.0.5 443 XXX.XXX.XXX.10 "Customer camera"
dtvsol portforward del tcp 8443 XXX.XXX.XXX.10
dtvsol fail2ban unban XXX.XXX.XXX.20
dtvsol snmp set location "POP 1" contact noc@example.net

Um listener na porta 8728 que fala a API do MikroTik RouterOS, para que sistemas de cobrança escritos para MikroTik possam criar, alterar, suspender e apagar clientes DHCP/IPoE e definir a sua velocidade. PPPoE é recusado. A rede do servidor de cobrança precisa estar na lista de permissões (dtvsol protect add). API: API compatível com MikroTik.

Comando Finalidade Altera
mkapi / mkapi status Mostra o estado do serviço, a porta, o usuário, se há senha definida, a identidade informada e o número de clientes mapeados
mkapi set user <u> password <p> [port <n>] [identity <name>] [model <m>] [version <v>] Altera as configurações e reinicia o listener sim
Janela do terminal
dtvsol mkapi set user billing password 'CHOOSE-A-PASSWORD' identity router-1

Controle de OLTs Huawei da família MA5600T (MA5608T, MA5680T, MA5683T). Escolha a OLT com --olt <name>, que por padrão é a única OLT registrada, ou faça uma chamada avulsa com --host <ip> --user <u> --pass <p> (mais --ssh, --port <n> e --raw, opcionais). Para chamadas avulsas você também pode definir as variáveis de ambiente OLT_HOST, OLT_USER e OLT_PASS, ou deixar a ferramenta perguntar (a senha não é exibida). Nada sobre uma OLT avulsa é guardado. API: OLT.

Registro e manutenção

Comando Finalidade Altera
olt list Lista as OLTs registradas (nunca a senha)
olt add <name> <host> [user] [--pass p] [--ssh] [--svlan n] [--iptv n] [--operator|--owner] Registra uma OLT. --svlan é a S-VLAN deste roteador nela, e --iptv a sua VLAN de IPTV sim
olt set <name> ... Altera uma OLT registrada (mesmas opções) sim
olt del <name> Remove uma OLT do registro sim
olt sync [--dry-run] [--olt n] Envia os planos deste roteador para todas as OLTs registradas (perfis e tabelas de taxa) sim (não com --dry-run)
olt init [--olt n] [--svlan n] [--iptv n] [--operator] [--ntp ip] [--parent iface] [--apply] Aplica a configuração base de uma OLT para este roteador. É dry-run a menos que se use --apply sim (com --apply)
olt backup Faz agora o backup da configuração da OLT no git
olt backups O histórico de backups, e se as alterações da OLT estão salvas na flash
olt diff [c] [c2] O que mudou entre backups
olt doctor O mesmo que dtvsol doctor, que verifica a OLT contra os registros do roteador
olt vault status|bind|rebind ... Status do armazenamento dos segredos das OLTs, que ficam vinculados a esta máquina. rebind os recupera depois que o hardware do roteador é substituído sim (bind, rebind)

As alterações são salvas na flash e têm backup feito automaticamente por um timer de manutenção.

Leitura

Comando Finalidade
olt info Produto, versão, uptime, placas, relógio, NTP
olt autofind ONTs não registradas (F/S/P, serial, fabricante, quando foram vistas)
olt onus [f/s/p] ONTs registradas: id, serial, estado de run, config e match
olt vlans A tabela de VLANs e as VLANs marcadas em cada porta de uplink
olt sp Service-ports (fluxos de assinante)
olt profiles Perfis DBA, de linha e de serviço
olt config [out.txt] A configuração atual (um backup)
olt run "display ..." Qualquer comando display, com a saída bruta

Escrita (nada é salvo na flash até olt save)

Comando Finalidade
olt vlan add <id> [uplinks 0/3/0,0/3/1] [desc "text"] [type smart|standard] Cria uma VLAN na OLT
olt vlan del <id> [uplinks ...] Apaga uma VLAN
olt uplink add|del <vlan> <f/s/p> Marca (tag) uma VLAN em uma porta de uplink, ou a desmarca
olt profile add <vlan> [dba <id>] [eth <ports>] Cria um perfil de linha e de serviço dtvsol-v<vlan>
olt profile del <id> Apaga um perfil
olt ont add <f/s/p> <sn> <vlan> [desc] [--plan p] [--iptv-on] Registra uma ONT pelo serial, com uma VLAN nativa na eth 1 e uma service-port em <vlan>. --plan aplica os perfis e as tabelas de taxa do plano, e --iptv-on adiciona IPTV na eth 2 com uma segunda service-port
olt ont del <f/s/p> <id> [--force] Apaga uma ONT e as suas service-ports
olt ont reboot <f/s/p> <id> [--force] Reinicia uma ONT. Tanto del quanto reboot recusam uma ONT cujas service-ports estão na S-VLAN de outra operadora. --force funciona apenas para uma ONT que não tem service-ports
olt ont desc <f/s/p> <id> "text" Define a descrição de uma ONT
olt ont optical <f/s/p> [id] Leituras ópticas: potência rx/tx, temperatura, tensão (somente leitura)
olt ntp <server> Aponta a OLT para um servidor NTP
olt sysname <name> Define o nome de sistema da OLT
olt save Salva a configuração na flash
olt exec "<cmd>" ["<cmd>" ...] Executa comandos de configuração em ordem, em modo config. Para no primeiro que a OLT recusar
Janela do terminal
# typical first subscriber on a bare OLT
dtvsol olt vlan add 100 uplinks 0/3/0
dtvsol olt profile add 100 dba 5
dtvsol olt autofind
dtvsol olt ont add 0/0/0 48575443A1B2C3D4 100 "Customer 1"
dtvsol olt save
dtvsol olt add olt-1 10.20.0.2 admin --ssh --svlan 400 --iptv 200
dtvsol olt sync --dry-run
dtvsol olt ont optical 0/0/3 --olt olt-1
dtvsol olt diff
Comando Finalidade Altera
ntp / ntp status Mostra o serviço de horário para as OLTs que este roteador administra
ntp setup Serve o horário aqui (chrony) e aponta cada OLT administrada para o roteador sim

O monitor de OLT é a página web do roteador para o NOC. Ele só pode ser acessado a partir da lista de permissões da API (dtvsol protect list) e usa um certificado autoassinado.

Comando Finalidade Altera
monitor / monitor status Onde está o monitor (a sua URL), se ele está rodando e quantos usuários tem
monitor users Lista os usuários que podem entrar
monitor user add <name> [admin|viewer] Adiciona um usuário. A senha é pedida duas vezes. Um usuário novo é viewer, a menos que você diga admin sim
monitor user passwd <name> Altera a senha de um usuário sim
monitor user del <name> Remove um usuário sim
monitor user role <name> admin|viewer Altera o papel de um usuário. Um admin pode alterar configurações pela página, e um viewer só pode vê-las sim
monitor wall add <name> Adiciona um display para a sala de suporte (a tela 24/7). Imprime o link a abrir nesse display sim
monitor wall del <name> Remove um display da tela 24/7 sim
monitor walls Lista os displays da tela 24/7
Janela do terminal
dtvsol monitor user add alice admin
dtvsol monitor user add noc1
dtvsol monitor user role noc1 admin
dtvsol monitor wall add noc-room
dtvsol monitor walls

API: Alarmes e saúde e Sistema.

Comando Finalidade
doctor [--no-olt] Uma auditoria completa da configuração e do que sobrevive a um reboot. Quando há uma OLT registrada, ela é verificada contra os registros deste roteador (S-VLAN, uplinks, Option 82, a ONT e a service-port de cada serviço). --no-olt pula a OLT, o que é mais rápido (também dtvsol check)
alerts Condições atuais que merecem atenção
alarms O registro de alarmes: o que está errado agora e desde quando (verificado a cada minuto)
alarms all O mesmo, mais os alarmes normalizados nos últimos 7 dias
alarms history [n] Os últimos n alarmes gerados e normalizados (padrão 50)

A configuração do roteador é mantida em versões, como a flash de um switch, no banco de dados de configuração. Estes comandos rodam como root no equipamento, então uma restauração funciona mesmo quando a API não funciona. API: Sistema.

Comando Finalidade Altera
config / config status Status do armazenamento e da configuração em execução
config save ["comment"] Salva a configuração em execução como uma nova versão sim
config versions [n] Lista as versões salvas
config diff <a> [b|running] Compara duas versões, ou uma versão com a configuração em execução
config show <id> [path] Mostra uma versão, ou um arquivo dentro dela
config restore <id> --yes Restaura uma versão sim
config docs Onde fica cada documento de configuração (arquivo ou banco de dados)
config migrate <name>|all Move documentos para o banco de dados sim
config export <name> Imprime um documento
config edit <name> Edita um documento com segurança: o JSON é verificado e uma versão é guardada antes sim
Janela do terminal
dtvsol config save "before adding vlan100"
dtvsol config versions 10
dtvsol config diff 41 running
dtvsol config restore 41 --yes
dtvsol config edit plans

API: Sistema.

Comando Finalidade Altera
backup [outfile.tar.gz] Baixa um backup avulso da configuração e dos dados do roteador
backup now Executa agora o backup diário (uma cópia local e uma cópia externa criptografada)
backup list Lista os backups locais
backup status O último backup local e externo, os erros e a próxima execução agendada
restore <file.tar.gz> Restaura a partir de um arquivo de backup sim
Janela do terminal
dtvsol backup /root/router-1-backup.tar.gz
dtvsol backup status
Comando Finalidade Altera
licence / licence status Mostra a licença de plataforma do roteador
licence refresh [-v] Busca a licença agora. Um timer diário também faz isso sim
licence enrol <router-id> <token|-> Registra o roteador com o ID e o token da plataforma de gerenciamento. - lê o token da entrada padrão sim
Janela do terminal
echo "$TOKEN" | dtvsol licence enrol router-1 -

(O grupo se chamava service antes da v2.8. Esse nome agora designa o serviço do assinante.)

Comando Finalidade Altera
daemon status Status da API e do DHCP, e a contagem de clientes por rede
daemon reload Força um reload do DHCP sim
daemon start / stop / restart Controla o serviço da API (systemd) sim
daemon log As últimas 50 linhas do log da API
daemon logf Acompanha o log da API ao vivo
Comando Finalidade Altera
init Configuração inicial: PATH, units do systemd, proteção, autocompletar com Tab sim
version A versão do software do roteador, o commit e o estado dos serviços

Este site foi escrito com a ajuda de IA e revisado pela nossa equipe.