Referencia de la CLI (dtvsol)
dtvsol es la línea de comandos del DTVSOL Super Router. Se ejecuta en el propio router, como root
o con sudo. La mayoría de los comandos los responde el daemon del router dtvsold, el mismo daemon que
sirve la API HTTP. El resto (versiones de configuración, configuración de
red, licencia, NTP, usuarios del monitor de OLT) se ejecuta como root en el equipo, por lo que sigue
funcionando incluso cuando la API está caída.
dtvsol <group> <command> [arguments]dtvsol help # the full helpdtvsol ? <group> # one group's detailed help (same as: dtvsol help <group>)Los grupos con ayuda detallada son clients, iface, networks, net6, routes, nat,
protect, firewall, antispoof, olt, service y api.
Autocompletado con Tab. Presione <TAB><TAB> para completar comandos, y luego interfaces, VLAN y MAC. Se
instala una sola vez con dtvsol init.
En las tablas siguientes, Modifica marca los comandos que cambian el router, una OLT o la configuración almacenada. Los comandos sin esa marca solo leen.
Clientes
Sección titulada «Clientes»Los clientes son el modelo anterior: una dirección MAC con una IP fija. Para los abonados aprovisionados junto con su ONT, consulte Servicios. API: Clientes.
| Comando | Propósito | Modifica |
|---|---|---|
clients list |
Lista todos los clientes registrados | |
clients list-net <network> |
Lista los clientes de una red (CIDR) | |
clients search <keyword> |
Busca por MAC, IP, hostname, comentario o interfaz | |
clients get <mac|ip|hostname> |
Consulta un cliente | |
clients add <mac> <ip> [hostname] [comment] [--ipv6 <addr>] |
Registra un cliente con una IP fija. La red, la interfaz y el gateway se detectan a partir de la IP. El hostname se genera a partir de la MAC si usted lo omite. --ipv6 también crea una entrada de host DHCPv6 |
sí |
clients delete <mac> |
Elimina un cliente del DHCP y del firewall | sí |
clients plan <mac> <plan|none> |
Asigna un plan de ancho de banda (none = ilimitado) |
sí |
clients suspend <mac> / clients resume <mac> |
Corta el servicio a un cliente, o lo restablece (también dtvsol suspend <mac> / dtvsol resume <mac>) |
sí |
clients expires <mac> <YYYY-MM-DD|never> |
Fija la fecha de fin del servicio. El cliente se suspende automáticamente en esa fecha | sí |
clients active [online|recent|offline] |
Actividad de los clientes según ARP/NDP y los leases DHCP (también dtvsol active) |
|
clients6 [iface] [--routers] |
Vista IPv6: cada MAC con la dirección que tiene y su prefijo delegado | |
ips [network] |
Uso de IP estáticas por red: usadas, libres, siguiente libre, y dispositivos en la red que no están registrados | |
graph <mac|iface> [hour|day|week|month|year] [outfile.png] |
Guarda una gráfica de tráfico como PNG (período por defecto: 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.pngServicios
Sección titulada «Servicios»Un servicio es la unidad con la que trabaja el sistema de facturación: un cliente, una ONT, una velocidad, una dirección
y un id permanente. Los abonados de un puerto PON comparten la VLAN de ese puerto (v<svlan>.<cvlan>, una
/24 y una /64). Cada ONT recibe una dirección fija, que se entrega solo a la solicitud DHCP cuya
Option 82 (insertada por la OLT) indica ese puerto y esa ONT, por lo que no se necesita ninguna MAC. Un solo comando registra
la ONT en la OLT y configura el lado del router. API: Servicios.
| Comando | Propósito | Modifica |
|---|---|---|
service unregistered [--olt n] |
La lista del técnico: ONT no registradas en cada OLT registrada (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] |
Aprovisiona un abonado en una sola llamada: ONT, VLAN, dirección y velocidad. Muestra la VLAN que se debe configurar en la ONU. Si usted omite --pon, se busca en autofind. --down/--up crean el plan plan_<down>_<up> si no existe. --ref es idempotente: la misma ref devuelve el mismo servicio |
sí |
service add none --svlan s --pon f/s/p --ont-id n --name ... --plan ... |
Agrega un abonado cuya ONT se aprovisionó a mano | sí |
service list [--state active|suspended|error] [--olt n] [-q text] [--fast] [--json] |
Lista los servicios | |
service get <id> |
Muestra un servicio. También puede buscarlo por ref, serial, contrato, dirección o interfaz | |
service set <id> [--plan p | --down d --up u] [--name] [--contract] [--expires] [--comment] [--retry] |
Modifica un servicio. Un cambio de plan también cambia el límite de velocidad de la ONT en la OLT | sí |
service suspend <id> / service resume <id> |
Desactiva la ONT en la OLT y bloquea la dirección en el router, o lo revierte. Las fechas de fin lo hacen automáticamente | sí |
service migrate <id> |
Mueve un servicio a la VLAN y la /24 de su puerto PON sin tocar la ONU. La OLT traduce la VLAN que la ONU ya envía | sí |
service del <id> [--keep-ont] |
Elimina el servicio en el router, y la ONT en la OLT salvo con --keep-ont |
sí |
service graph <id> [hour|day|week|month|year] [out.png] [--olt|--errors] |
Gráfica de tráfico a partir de los contadores del router. --olt muestra el tráfico de la ONT según lo cuenta la OLT, --errors muestra sus errores de fibra (BIP, FEC) |
Numeración: svlan es la S-VLAN de este router en la OLT (dtvsol olt set <olt> --svlan n) y
cvlan es 100 + card*16 + pon. La /24 del puerto es svc_ipv4_pool + (cvlan-100)*256 (la VLAN 100
recibe 100.64.0.0/24), y la dirección de la ONT es .2 + ONT id. Para IPv6, cada puerto recibe una /64 de
svc_ipv6_pool y 256 /64 delegadas de svc_pd_pool. La OLT aplica el límite de velocidad.
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 --errorsLos planes de ancho de banda son velocidades de bajada y subida con nombre. Un cliente sin plan es ilimitado. API: Planes.
| Comando | Propósito | Modifica |
|---|---|---|
plans list |
Lista los planes, con el número de clientes en cada uno | |
plans add <name> <down_mbps> <up_mbps> [comment] |
Crea un plan | sí |
plans del <name> |
Elimina un plan | sí |
dtvsol plans add plan_50_10 50 10 "Home 50"dtvsol plans del plan_50_10Interfaces, VLAN y direcciones IP
Sección titulada «Interfaces, VLAN y direcciones IP»API: VLAN, IP y rutas.
| Comando | Propósito | Modifica |
|---|---|---|
iface |
Lista todas las interfaces agrupadas por tipo (física, VLAN, QinQ), con su estado, IP, IDs de VLAN e interfaz padre | |
vlan list |
Muestra las VLAN administradas. Las deshabilitadas aparecen atenuadas | |
vlan add |
Interactivo: elija la interfaz padre y luego ingrese el ID de VLAN, el protocolo, la IP y la etiqueta. Por defecto la VLAN sirve DHCPv4, DHCPv6 y delegación de prefijos. Persiste tras los reinicios | sí |
vlan disable <name> [reason] |
Apaga una VLAN y conserva toda su configuración. El enlace se cae, y se detienen su DHCPv4/v6, los router advertisements, las reglas NAT, los reenvíos de puertos y las rutas. El rango de delegación queda reservado. Se permite incluso con clientes en la VLAN | sí |
vlan enable <name> |
Restaura una VLAN deshabilitada exactamente como estaba, con los mismos prefijos | sí |
vlan del [name] |
Elimina una VLAN (interactivo si no se da un nombre). Se rechaza mientras haya clientes registrados en ella. No se puede deshacer | sí |
ip add [iface] [ip/cidr] |
Agrega una dirección IP a una interfaz (interactivo sin argumentos) | sí |
ip del <iface> <ip/cidr> |
Elimina una dirección IP. Se rechaza mientras haya clientes registrados que la usen como gateway | sí |
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)
Sección titulada «Redes (DHCP)»API: Redes y DHCP.
| Comando | Propósito | Modifica |
|---|---|---|
networks |
Muestra las interfaces, redes y gateways detectados | |
net list |
Lista las interfaces con su estado DHCP (verde = servida, rojo = no configurada) | |
net add |
Interactivo: agrega una interfaz al DHCP. Escribe la subred con su pool, agrega la interfaz a la lista de escucha del DHCP, prueba la configuración (se revierte si falla) y reinicia el DHCP | sí |
net del |
Interactivo: quita una interfaz del DHCP. Se rechaza mientras haya clientes registrados en ella | sí |
net6 list |
Las interfaces con su estado DHCPv6 | |
net6 add / net6 del |
Interactivo: agrega una interfaz al DHCPv6, o la quita | sí |
net6 pool <iface> [start end] |
Completa el rango DHCPv6 (y el DNS) para la subred IPv6 de la interfaz | sí |
net6 lease <valid> [preferred] |
Fija los tiempos de vida de las direcciones y prefijos DHCPv6, en segundos | sí |
dtvsol net6 pool vlan100dtvsol net6 lease 86400 43200Los resolvers que el DHCP entrega a los abonados. API: Redes y DHCP.
| Comando | Propósito | Modifica |
|---|---|---|
dns |
Muestra los resolvers que sirve cada VLAN, y qué VLAN no sirven ninguno | |
dns set [iface] v4=<a,b> [v6=<c,d>] [domain=<name>] [apply=all|missing] |
Fija los resolvers globales, o la configuración propia de una VLAN cuando usted indica una interfaz. Con apply=all, las VLAN existentes también adoptan el nuevo valor por defecto |
sí |
dns del <iface> |
Quita la configuración propia de una VLAN para que herede los resolvers globales | sí |
dns del global <v4|v6|domain|all> |
Borra un ajuste global (vuelve a no servir nada) | sí |
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 vlan100Rutas, delegación de prefijos y NAT
Sección titulada «Rutas, delegación de prefijos y NAT»API: VLAN, IP y rutas y Redes y DHCP (delegación de prefijos).
| Comando | Propósito | Modifica |
|---|---|---|
route list |
Lista las rutas administradas y las rutas activas (IPv4 e IPv6) | |
route add <prefix|default> [via <gw>] [dev <iface>] [comment] |
Agrega una ruta persistente | sí |
route del <prefix> [via <gw>] [dev <iface>] |
Elimina una ruta | sí |
pd list |
Delegación de prefijos DHCPv6: pools, capacidad, prefijos fijados, rutas | |
pd add <iface> [size] |
Delega prefijos LAN a cada CPE de una VLAN | sí |
pd resize <iface> <size> |
Cambia cuántos abonados caben en la porción de la VLAN | sí |
pd del <iface> |
Deja de delegar en una VLAN | sí |
pd assign <mac> [prefix] |
Fija el prefijo de un abonado. Si usted lo omite, se elige uno automáticamente | sí |
pd unassign <mac> |
Libera un prefijo fijado | sí |
pd sync [--dry-run] |
Reconcilia ahora las rutas de los prefijos delegados | sí (no con --dry-run) |
nat list |
Lista los pools de NAT dinámico y las reglas NAT activas | |
nat add <iface> <pool_start> [pool_end] [exempt <cidr,cidr>] [comment] |
Agrega un pool NAT a una interfaz | sí |
nat del <iface> |
Quita el pool NAT de una interfaz | sí |
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/30Red del router (netcfg)
Sección titulada «Red del router (netcfg)»La red propia del router (puertos, bonds, sus direcciones, ruta por defecto y DNS) se almacena en la
base de datos de configuración y se escribe en netplan. netcfg necesita el binario del daemon. Una aplicación se
deshace a menos que usted la confirme en 120 segundos, y se rechaza una aplicación que cortaría su propia sesión
SSH. API: Configuración de red.
| Comando | Propósito | Modifica |
|---|---|---|
netcfg show |
Muestra la configuración de red almacenada, además de las VLAN y las rutas estáticas | |
netcfg import [--save [--force]] |
Lee la red en ejecución (kernel y netplan) y muestra el cambio clave por clave. --save la almacena, pero rechaza cualquier cosa que haría perder un ajuste de netplan a menos que usted agregue --force |
sí (con --save) |
netcfg render [--proposed] |
Imprime el archivo netplan que escribiría (--proposed: el archivo para lo que import almacenaría) |
|
netcfg diff |
Compara la configuración almacenada, el kernel en vivo y /etc/netplan, e indica si se permite una aplicación |
|
netcfg apply [--try] [--force] |
Escribe el archivo netplan y lo aplica. Confírmelo en 120 s o se revierte. --try solo lo verifica con netplan generate |
sí |
netcfg confirm |
Conserva la red aplicada | sí |
netcfg rollback |
Restaura ahora la red anterior | sí |
dtvsol netcfg importdtvsol netcfg diffdtvsol netcfg apply --trydtvsol netcfg applydtvsol netcfg confirmNAT de grado operador (CGNAT)
Sección titulada «NAT de grado operador (CGNAT)»CGNAT determinístico: cada dirección privada se asigna a una dirección pública y un bloque de puertos fijos. API: CGNAT y anti-spoofing.
| Comando | Propósito | Modifica |
|---|---|---|
cgnat / cgnat status |
Estado: interfaz, pool, rango de puertos, tamaño de bloque, capacidad, asignados y libres | |
cgnat set [enable|disable] [iface <if>] [pool <range>] [block <n>] [exempt <cidrs>] |
Configura el CGNAT | sí |
cgnat lookup <public_ip> <port> |
Averigua qué abonado usó una IP pública y un puerto |
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
Sección titulada «Anti-spoofing»Vincula IP, MAC y VLAN: un paquete procedente de una VLAN se reenvía solo cuando su MAC e IP de origen forman un par conocido, y lo mismo aplica a ARP. Todo lo demás se descarta y se registra con la MAC que lo envió. Para IPv6, la dirección reservada de un cliente, su dirección DHCPv6 y su prefijo delegado quedan vinculados a su MAC. El tráfico link-local siempre pasa, y los router advertisements o redirects procedentes de los abonados se descartan. API: CGNAT y anti-spoofing.
| Comando | Propósito | Modifica |
|---|---|---|
antispoof |
Estado: el modo por VLAN, los vínculos y los descartes de la última hora | |
antispoof on / antispoof off |
Aplica en cada VLAN que sirve el DHCP, o quita todas las reglas (la configuración se conserva) | sí |
antispoof set [mode strict|dynamic] [log on|off] [exempt <cidr,...>|none] |
strict: solo los clientes registrados reciben servicio (los dispositivos no registrados siguen recibiendo DHCP, por lo que aparecen en dtvsol ips). dynamic: también permite los dispositivos no registrados en la dirección que el DHCP les asignó. log: un log del kernel de los descartes, con límite de tasa. exempt: direcciones permitidas desde cualquier MAC (por ejemplo, la dirección de relay de una OLT) |
sí |
antispoof iface <vlan> <strict|dynamic|off|default> |
Fija el modo de una VLAN. off excluye la VLAN. Una configuración propia en una VLAN que el DHCP no sirve la agrega |
sí |
antispoof log [since] [limit] |
Paquetes descartados agrupados por dispositivo. since: 30m, 2h, 1d (por defecto 1 hora) |
|
antispoof sync |
Reconstruye las reglas ahora. Normalmente no es necesario, porque cada cambio de cliente o de VLAN y cada cambio de lease lo hace | sí |
dtvsol antispoof set mode strict exempt 10.0.0.0/30 && dtvsol antispoof ondtvsol antispoof iface vlan100 dynamicdtvsol antispoof log 2h 100Protección, firewall y acceso
Sección titulada «Protección, firewall y acceso»API: Protección.
| Comando | Propósito | Modifica |
|---|---|---|
protect list |
Lista las redes que pueden llegar al puerto de la API (y al monitor de OLT) | |
protect add <network> [comment] |
Permite una red | sí |
protect del <network> |
Quita una red | sí |
firewall list |
Muestra las reglas de filtrado por MAC | |
firewall vlan <svlan> |
Muestra las reglas MAC de una interfaz VLAN | |
portforward list |
Lista los reenvíos de puertos (también pf) |
|
portforward add <tcp|udp> <pub_port> <client_ip> <client_port> [pub_ip] [comment] |
Reenvía un puerto público a un cliente | sí |
portforward del <tcp|udp> <pub_port> [pub_ip] |
Elimina un reenvío de puerto | sí |
fail2ban / fail2ban status |
Bloqueos por claves de API fallidas e inicios de sesión SSH fallidos, por jail | |
fail2ban unban <ip> |
Levanta un bloqueo | sí |
option82 |
Muestra los circuit ID y remote ID del relay DHCP (OLT y puerto) vistos en los leases actuales | |
option82 enable|disable |
Activa o desactiva la captura de Option 82 | sí |
snmp / snmp status |
Estado del agente SNMP del router | |
snmp set [community <c>] [location <l>] [contact <ct>] |
Configura el agente SNMP | sí |
Después de dtvsol init, la protección siempre está activa y solo localhost puede llegar a la API. Agregue sus
redes de facturación, middleware y oficina.
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 compatible con MikroTik (mkapi)
Sección titulada «API compatible con MikroTik (mkapi)»Un listener en el puerto 8728 que habla la API de MikroTik RouterOS, para que los sistemas de facturación escritos para
MikroTik puedan crear, modificar, suspender y eliminar clientes DHCP/IPoE y fijar su velocidad. PPPoE se
rechaza. La red del servidor de facturación debe estar en la lista de permitidos (dtvsol protect add).
API: API compatible con MikroTik.
| Comando | Propósito | Modifica |
|---|---|---|
mkapi / mkapi status |
Muestra el estado del servicio, el puerto, el usuario, si hay una contraseña configurada, la identidad reportada y el número de clientes mapeados | |
mkapi set user <u> password <p> [port <n>] [identity <name>] [model <m>] [version <v>] |
Cambia la configuración y reinicia el listener | sí |
dtvsol mkapi set user billing password 'CHOOSE-A-PASSWORD' identity router-1Control de OLT Huawei de la familia MA5600T (MA5608T, MA5680T, MA5683T). Elija la OLT con
--olt <name>, que por defecto es la única OLT registrada, o haga una llamada puntual con
--host <ip> --user <u> --pass <p> (más --ssh, --port <n> y --raw opcionales). Para llamadas
puntuales también puede definir las variables de entorno OLT_HOST, OLT_USER y OLT_PASS, o dejar que la
herramienta las pida (la contraseña no se muestra). No se guarda nada de una OLT puntual.
API: OLT.
Registro y mantenimiento
| Comando | Propósito | Modifica |
|---|---|---|
olt list |
Lista las OLT registradas (nunca la contraseña) | |
olt add <name> <host> [user] [--pass p] [--ssh] [--svlan n] [--iptv n] [--operator|--owner] |
Registra una OLT. --svlan es la S-VLAN de este router en ella, e --iptv su VLAN de IPTV |
sí |
olt set <name> ... |
Modifica una OLT registrada (mismas opciones) | sí |
olt del <name> |
Quita una OLT del registro | sí |
olt sync [--dry-run] [--olt n] |
Envía los planes de este router a cada OLT registrada (perfiles y tablas de velocidad) | sí (no con --dry-run) |
olt init [--olt n] [--svlan n] [--iptv n] [--operator] [--ntp ip] [--parent iface] [--apply] |
Deja una OLT con la configuración base para este router. Es un dry-run salvo con --apply |
sí (con --apply) |
olt backup |
Respalda ahora la configuración de la OLT en git | |
olt backups |
El historial de respaldos, y si los cambios de la OLT están guardados en flash | |
olt diff [c] [c2] |
Qué cambió entre respaldos | |
olt doctor |
Igual que dtvsol doctor, que verifica la OLT contra los registros del router |
|
olt vault status|bind|rebind ... |
Estado del almacén de los secretos de las OLT, que están vinculados a esta máquina. rebind los recupera después de reemplazar el hardware del router |
sí (bind, rebind) |
Un temporizador de mantenimiento guarda los cambios en flash y los respalda automáticamente.
Lectura
| Comando | Propósito |
|---|---|
olt info |
Producto, versión, uptime, tarjetas, reloj, NTP |
olt autofind |
ONT no registradas (F/S/P, serial, fabricante, cuándo se vieron) |
olt onus [f/s/p] |
ONT registradas: id, serial, estado de ejecución, de configuración y de coincidencia |
olt vlans |
La tabla de VLAN y las VLAN etiquetadas en cada puerto de uplink |
olt sp |
Service-ports (flujos de abonados) |
olt profiles |
Perfiles DBA, de línea y de servicio |
olt config [out.txt] |
La configuración actual (un respaldo) |
olt run "display ..." |
Cualquier comando display, con la salida sin procesar |
Escritura (no se guarda nada en flash hasta olt save)
| Comando | Propósito |
|---|---|
olt vlan add <id> [uplinks 0/3/0,0/3/1] [desc "text"] [type smart|standard] |
Crea una VLAN en la OLT |
olt vlan del <id> [uplinks ...] |
Elimina una VLAN |
olt uplink add|del <vlan> <f/s/p> |
Etiqueta una VLAN en un puerto de uplink, o quita la etiqueta |
olt profile add <vlan> [dba <id>] [eth <ports>] |
Crea un perfil de línea y de servicio dtvsol-v<vlan> |
olt profile del <id> |
Elimina un perfil |
olt ont add <f/s/p> <sn> <vlan> [desc] [--plan p] [--iptv-on] |
Registra una ONT por serial, con una VLAN nativa en eth 1 y un service-port en <vlan>. --plan aplica los perfiles y las tablas de velocidad del plan, e --iptv-on agrega IPTV en eth 2 con un segundo service-port |
olt ont del <f/s/p> <id> [--force] |
Elimina una ONT y sus service-ports |
olt ont reboot <f/s/p> <id> [--force] |
Reinicia una ONT. Tanto del como reboot rechazan una ONT cuyos service-ports están en la S-VLAN de otro operador. --force solo funciona con una ONT que no tiene service-ports |
olt ont desc <f/s/p> <id> "text" |
Fija la descripción de una ONT |
olt ont optical <f/s/p> [id] |
Lecturas ópticas: potencia rx/tx, temperatura, voltaje (solo lectura) |
olt ntp <server> |
Apunta la OLT a un servidor NTP |
olt sysname <name> |
Fija el nombre de sistema de la OLT |
olt save |
Guarda la configuración en flash |
olt exec "<cmd>" ["<cmd>" ...] |
Ejecuta comandos de configuración en orden, en modo config. Se detiene en el primero que la OLT rechace |
# 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 diffHora para las OLT (ntp)
Sección titulada «Hora para las OLT (ntp)»| Comando | Propósito | Modifica |
|---|---|---|
ntp / ntp status |
Muestra el servicio de hora para las OLT que este router administra | |
ntp setup |
Sirve la hora desde aquí (chrony) y apunta cada OLT administrada al router | sí |
Monitor de OLT
Sección titulada «Monitor de OLT»El monitor de OLT es la página web del router para el NOC. Solo es accesible desde la lista de permitidos de la API
(dtvsol protect list) y usa un certificado autofirmado.
| Comando | Propósito | Modifica |
|---|---|---|
monitor / monitor status |
Dónde está el monitor (su URL), si está en ejecución y cuántos usuarios tiene | |
monitor users |
Lista los usuarios que pueden iniciar sesión | |
monitor user add <name> [admin|viewer] |
Agrega un usuario. La contraseña se pide dos veces. Un usuario nuevo es viewer a menos que usted indique admin |
sí |
monitor user passwd <name> |
Cambia la contraseña de un usuario | sí |
monitor user del <name> |
Elimina un usuario | sí |
monitor user role <name> admin|viewer |
Cambia el rol de un usuario. Un admin puede cambiar la configuración desde la página, y un viewer solo puede verla | sí |
monitor wall add <name> |
Agrega una pantalla para la sala de soporte (el wall 24/7). Muestra el enlace que se debe abrir en esa pantalla | sí |
monitor wall del <name> |
Elimina una pantalla del wall | sí |
monitor walls |
Lista las pantallas del wall |
dtvsol monitor user add alice admindtvsol monitor user add noc1dtvsol monitor user role noc1 admindtvsol monitor wall add noc-roomdtvsol monitor wallsSalud: doctor, alertas y alarmas
Sección titulada «Salud: doctor, alertas y alarmas»API: Alarmas y salud y Sistema.
| Comando | Propósito |
|---|---|
doctor [--no-olt] |
Una auditoría completa de la configuración y de lo que sobrevive a un reinicio. Cuando hay una OLT registrada, se verifica contra los registros de este router (S-VLAN, uplinks, Option 82, la ONT y el service-port de cada servicio). --no-olt omite la OLT, lo que es más rápido (también dtvsol check) |
alerts |
Condiciones actuales que merecen atención |
alarms |
El registro de alarmas: qué está mal ahora y desde cuándo (se verifica cada minuto) |
alarms all |
Lo mismo, más las alarmas despejadas en los últimos 7 días |
alarms history [n] |
Las últimas n activaciones y despejes (por defecto 50) |
Versiones de configuración
Sección titulada «Versiones de configuración»La configuración del router se guarda en versiones, como la flash de un switch, en la base de datos de configuración. Estos comandos se ejecutan como root en el equipo, por lo que una restauración funciona incluso cuando la API no. API: Sistema.
| Comando | Propósito | Modifica |
|---|---|---|
config / config status |
Estado del almacén y de la configuración en ejecución | |
config save ["comment"] |
Guarda la configuración en ejecución como una nueva versión | sí |
config versions [n] |
Lista las versiones guardadas | |
config diff <a> [b|running] |
Compara dos versiones, o una versión con la configuración en ejecución | |
config show <id> [path] |
Muestra una versión, o un archivo de ella | |
config restore <id> --yes |
Restaura una versión | sí |
config docs |
Dónde se encuentra cada documento de configuración (archivo o base de datos) | |
config migrate <name>|all |
Mueve documentos a la base de datos | sí |
config export <name> |
Imprime un documento | |
config edit <name> |
Edita un documento de forma segura: se verifica el JSON y antes se guarda una versión | sí |
dtvsol config save "before adding vlan100"dtvsol config versions 10dtvsol config diff 41 runningdtvsol config restore 41 --yesdtvsol config edit plansRespaldo y restauración
Sección titulada «Respaldo y restauración»API: Sistema.
| Comando | Propósito | Modifica |
|---|---|---|
backup [outfile.tar.gz] |
Descarga un respaldo puntual de la configuración y los datos del router | |
backup now |
Ejecuta ahora el respaldo diario (una copia local más una copia cifrada fuera del sitio) | |
backup list |
Lista los respaldos locales | |
backup status |
Último respaldo local y fuera del sitio, errores y la próxima ejecución programada | |
restore <file.tar.gz> |
Restaura desde un archivo de respaldo | sí |
dtvsol backup /root/router-1-backup.tar.gzdtvsol backup statusLicencia
Sección titulada «Licencia»| Comando | Propósito | Modifica |
|---|---|---|
licence / licence status |
Muestra la licencia de plataforma del router | |
licence refresh [-v] |
Obtiene la licencia ahora. Un temporizador diario también lo hace | sí |
licence enrol <router-id> <token|-> |
Inscribe el router con el ID y el token de la plataforma de gestión. - lee el token de la entrada estándar |
sí |
echo "$TOKEN" | dtvsol licence enrol router-1 -(El grupo se llamaba service antes de la v2.8. Ese nombre ahora corresponde al servicio del abonado.)
| Comando | Propósito | Modifica |
|---|---|---|
daemon status |
Estado de la API y del DHCP, y el número de clientes por red | |
daemon reload |
Fuerza una recarga del DHCP | sí |
daemon start / stop / restart |
Controla el servicio de la API (systemd) | sí |
daemon log |
Las últimas 50 líneas del log de la API | |
daemon logf |
Sigue el log de la API en vivo |
Configuración inicial
Sección titulada «Configuración inicial»| Comando | Propósito | Modifica |
|---|---|---|
init |
Configuración inicial: PATH, unidades systemd, protección, autocompletado con Tab | sí |
version |
La versión del software del router, el commit y los estados de los servicios |