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.
dtvsol <group> <command> [arguments]dtvsol help # the full helpdtvsol ? <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
Seção intitulada “Clientes”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) |
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::5dtvsol clients list-net 10.110.0.0/21dtvsol clients search 10.110.0dtvsol clients plan AA:BB:CC:DD:EE:FF plan_50_10dtvsol clients expires AA:BB:CC:DD:EE:FF 2026-12-31dtvsol clients suspend AA:BB:CC:DD:EE:FFdtvsol clients6 vlan100 --routersdtvsol ips 10.110.0.0/21dtvsol graph AA:BB:CC:DD:EE:FF week /tmp/client.pngServiços
Seção intitulada “Serviços”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.
dtvsol service unregistered --olt olt-1dtvsol service add 48575443A1B2C3D4 --name "Customer 1" --plan plan_200_200 --olt olt-1 --pon 0/0/3 --ref 1001dtvsol service add 48575443A1B2C3D4 --name "Customer 2" --down 100 --up 50 --contract C-2002 --expires 2026-12-31dtvsol service list --state suspended --olt olt-1dtvsol service get 1001dtvsol service set svc_1 --plan plan_300_300dtvsol service suspend svc_1dtvsol service del svc_1 --keep-ontdtvsol service graph svc_1 week --errorsPlanos 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 |
dtvsol plans add plan_50_10 50 10 "Home 50"dtvsol plans del plan_50_10Interfaces, VLANs e endereços IP
Seção intitulada “Interfaces, VLANs e endereços IP”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 |
dtvsol vlan disable vlan100 "OLT maintenance"dtvsol vlan enable vlan100dtvsol ip add vlan100 10.110.96.1/21dtvsol ip del vlan100 10.110.96.1/21Redes (DHCP)
Seção intitulada “Redes (DHCP)”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 |
dtvsol net6 pool vlan100dtvsol net6 lease 86400 43200Os 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 |
dtvsol dns set v4=XXX.XXX.XXX.53,XXX.XXX.XXX.53 v6=XXXX:XXXX::53 domain=example.net apply=alldtvsol dns set vlan100 v4=10.0.0.53dtvsol dns del vlan100Rotas, delegação de prefixo e NAT
Seção intitulada “Rotas, delegação de prefixo e NAT”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 |
dtvsol route add default via XXX.XXX.XXX.1 dev vlan100dtvsol route add 10.20.0.0/16 via 10.0.0.2 "to olt-1 management"dtvsol pd add vlan100 256dtvsol pd assign AA:BB:CC:DD:EE:FF XXXX:XXXX:b:5::/64dtvsol pd sync --dry-rundtvsol nat add vlan100 XXX.XXX.XXX.10 XXX.XXX.XXX.20 exempt 10.0.0.0/30Rede do roteador (netcfg)
Seção intitulada “Rede do roteador (netcfg)”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 |
dtvsol netcfg importdtvsol netcfg diffdtvsol netcfg apply --trydtvsol netcfg applydtvsol netcfg confirmNAT de grande porte (CGNAT)
Seção intitulada “NAT de grande porte (CGNAT)”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 |
dtvsol cgnat set enable iface vlan200 pool XXX.XXX.XXX.0/28 block 2048 exempt 10.0.0.0/30dtvsol cgnat lookup XXX.XXX.XXX.5 40123Anti-spoofing
Seção intitulada “Anti-spoofing”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 |
dtvsol antispoof set mode strict exempt 10.0.0.0/30 && dtvsol antispoof ondtvsol antispoof iface vlan100 dynamicdtvsol antispoof log 2h 100Proteção, firewall e acesso
Seção intitulada “Proteção, firewall e acesso”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.
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.10dtvsol fail2ban unban XXX.XXX.XXX.20dtvsol snmp set location "POP 1" contact noc@example.netAPI compatível com MikroTik (mkapi)
Seção intitulada “API compatível com MikroTik (mkapi)”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 |
dtvsol mkapi set user billing password 'CHOOSE-A-PASSWORD' identity router-1Controle 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 |
# typical first subscriber on a bare OLTdtvsol olt vlan add 100 uplinks 0/3/0dtvsol olt profile add 100 dba 5dtvsol olt autofinddtvsol 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 200dtvsol olt sync --dry-rundtvsol olt ont optical 0/0/3 --olt olt-1dtvsol olt diffHorário para as OLTs (ntp)
Seção intitulada “Horário para as OLTs (ntp)”| 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 |
Monitor de OLT
Seção intitulada “Monitor de OLT”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 |
dtvsol monitor user add alice admindtvsol monitor user add noc1dtvsol monitor user role noc1 admindtvsol monitor wall add noc-roomdtvsol monitor wallsSaúde: doctor, alertas e alarmes
Seção intitulada “Saúde: doctor, alertas e alarmes”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) |
Versões de configuração
Seção intitulada “Versões de configuração”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 |
dtvsol config save "before adding vlan100"dtvsol config versions 10dtvsol config diff 41 runningdtvsol config restore 41 --yesdtvsol config edit plansBackup e restauração
Seção intitulada “Backup e restauração”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 |
dtvsol backup /root/router-1-backup.tar.gzdtvsol backup statusLicença
Seção intitulada “Licença”| 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 |
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 |
Configuração inicial
Seção intitulada “Configuração inicial”| 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.