configuracióndered
16 min
el objeto configuración de red permite configurar las interfaces de red en el reproductor cada instancia del objeto corresponde a una sola interfaz de red (ethernet, wifi o módem), que se especifica mediante el atributo tipo este objeto solo le permite configurar/recuperar ajustes relacionados con las interfaces de red del dispositivo para otra información de red, utilice el módulo os de node js® idl de networkconfiguration \[ constructor(string ifname) ] interface networkinterface { readonly attribute string type; // values wifi, ethernet, modem networkinterfaceconfig defaultconfig(); promise\<networkinterfaceconfig> getconfig(networkinterfaceconfigrequestparams params\[optional]); // promise will be resolved as wifiinterfaceconfig, modeminterfaceconfig, ethernetinterfaceconfig promise\<void> applyconfig(networkinterfaceconfig config); \[type == "ethernet"] promise\<lldpneighborinformation> getneighborinformation(); \[type == "ethernet"] promise\<void> enableleds(); \[type == "wifi"] promise\<wifiaccesspointlist> scan(); \[type == "wifi"] promise\<void> reassociate(); interface wifiaccesspointlist { attribute string essid; attribute string bssid; attribute long signal; }; interface lldpneighborinformation { // information is directly converted from lldp fields are defined deep down there }; interface networkinterfaceconfigrequestparams { attribute bool includeencryptedsecrets; }; interface networkinterfaceconfig { attribute bool enable; attribute long metric; \[optional = config dhcp server] attribute dhcpserverconfig dhcpserverconfig; attribute array\<string> dnsserverlist; attribute array\<ipaddress> ipaddresslist; attribute long inboundshaperrate; attribute long mtu; \[optional = config vlan] attribute array\<int> vlanidlist; attribute string clientidentifier; attribute string domain; 	attribute array\<string> enabledprotocollist; }; \[optional = config dialup] interface dialupinterfaceconfig public networkinterfaceconfig { attribute string user; attribute string password; attribute string number; attribute string initstring; }; interface dhcpserverconfig { attribute string start; attribute string end; \[optional] attribute string gateway; \[optional] attribute array\<string> dnsserverlist; \[optional] attribute string domain; }; interface ipaddress { attribute string family; attribute string address; attribute string netmask; attribute string gateway; attribute string broadcast; }; interface ethernetinterfaceconfig public networkinterfaceconfig { attribute string securitymode; attribute string identity; attribute string eaptlsoptions; attribute string cacertificates; attribute string clientcertificate; attribute string privatekey; }; interface wifiinterfaceconfig public networkinterfaceconfig{ attribute string essid; attribute string passphrase; \[optional = config secure store] attribute string obfuscatedpassphrase; attribute string securitymode; attribute string identity; attribute string eaptlsoptions; attribute string cacertificates; attribute string clientcertificate; attribute string privatekey; attribute string frequencies; \[optional = config wifi ap] attribute bool accesspointmode; \[optional = config wifi ap] attribute long accesspointfrequency; \[optional = config wifi ap] attribute bool accesspointhidden; }; creación de objetos para crear un objeto networkconfiguration , primero cargue el módulo brightsign/networkconfiguration utilizando el método require() luego cree una instancia de la clase networkconfiguration utilizando un valor de cadena que indique la interfaz de red asociada con la instancia var networkconfigclass = require("@brightsign/networkconfiguration"); var networkconfigeth = new networkconfigclass("eth0"); el parámetro ifname puede ser cualquiera de los siguientes 0 o "eth0" el puerto ethernet en el reproductor brightsign "eth1" el puerto ethernet de “control” en los reproductores que tienen uno este puerto es solo para control de pantalla (dns relay no es compatible) tenga en cuenta que el puerto no está habilitado de forma predeterminada y debe habilitarse explícitamente (lo cual puede hacerse desde el shell prompt de brightsign, javascript o brightscript) 1 o "wlan0" el wifi interno 2 o "ppp0" un módem conectado "usb0" , "usb1" , etc interfaces ethernet usb networkinterface utilice esta interfaz para configurar una interfaz de red en el reproductor tipo \<font color="#6321ae">string\</font> el tipo de interfaz de red, que es de solo lectura puede ser uno de los siguientes "ethernet" un puerto ethernet en el reproductor brightsign "wifi" el wifi interno "módem" un módem conectado el puerto ethernet de “control” en los reproductores que tienen uno, como el xd6 y el hd6, no está habilitado de forma predeterminada debe habilitarse explícitamente, lo cual puede hacerse desde el shell prompt de brightsign, javascript o brightscript la interfaz de red puede configurarse como una vlan utilizando el siguiente formato de cadena "\[parent interface] \[vlan id]" (por ejemplo "eth0 42") una vez que las interfaces vlan estén configuradas, deben habilitarse en la interfaz de red principal (por ejemplo, "eth0") incluyéndolas en la vlanidlist de la interfaz principal las interfaces vlan utilizan dhcp de forma predeterminada solo son compatibles con los reproductores series 4 (xtx44, xdx34, hdx24, ls424) y series 3 (xtx43, xdx33, hdx23, ls423, ho523) consulte también métricas de enrutamiento predeterminadas docid 0jdtagrv4albwlyfjnj45 getconfig() promise\<networkinterfaceconfig> getconfig(networkinterfaceconfigrequestparams params\[optional]) devuelve los ajustes de configuración de la interfaz de red dependiendo del parámetro tipo especificado, este método devolverá una interfaz configuración de interfaz ethernet , configuración de interfaz wi‑fi , o configuración de la interfaz del módem si hay una contraseña establecida, getconfig() devolverá true para el parámetro contraseña si no hay una contraseña establecida, getconfig() devolverá false para el parámetro contraseña tenga en cuenta que esta clase se ocupa de la configuración de red persistente del reproductor si desea determinar los ajustes actuales (por ejemplo, la dirección ip que se ha recuperado mediante dhcp), utilice el módulo os de node js® https //nodejs org/api/os html#os os networkinterfaces applyconfig() promise\<void> applyconfig(networkinterfaceconfig config) configura la interfaz de red utilizando los parámetros del objeto networkinterfaceconfig pasado este método devuelve void en caso de éxito para restablecer un ajuste de la interfaz de red a su valor predeterminado, pase el objeto networkinterfaceconfig sin el atributo correspondiente el parámetro configuración debe contener la configuración completa deseada cualquier configuración anterior se sobrescribe si desea cambiar un elemento mientras mantiene el resto de la configuración igual, primero llame a getconfig y modifique el objeto devuelto (consulte el ejemplo en la sección examples) getneighborinformation() promise\<lldpneighborinformation> getneighborinformation() devuelve información lldp relacionada con la red, o null este método solo está disponible con la interfaz ethernet enableleds() promise\<void> enableleds() habilita o deshabilita los led de actividad ethernet (es decir, el parpadeo durante el enlace y la actividad) los led ethernet están habilitados de forma predeterminada los cambios en este ajuste no persisten después de reinicios este método solo está disponible con la interfaz ethernet scan() promise\<wifiaccesspointlist> scan() busca puntos de acceso wifi y devuelve una lista de los puntos de acceso detectados este método solo está disponible con la interfaz wifi reassociate() promise\<void> reassociate() intenta desconectarse y volver a conectarse de forma asíncrona a la red wifi configurada actualmente normalmente esto no debería ser necesario, pero podría ser útil al diagnosticar problemas de red si tiene éxito, la promesa devuelta se resolverá si no tiene éxito, la promesa devuelta será rechazada con información del error este método está presente en bos 8 4 20 y posteriores, bos 8 5 26 y posteriores, y en todas las versiones de bos 9 0 tenga en cuenta que la promesa puede resolverse antes de que la red se haya vuelto a conectar utilice @brightsign/networkhotplug para determinar cuándo se completa la reconexión wifiaccesspointlist esta interfaz representa los resultados de una búsqueda de redes inalámbricas cada entrada de la lista contiene los siguientes parámetros essid \<font color="#6321ae">string \</font> nombre de red wifi essid bssid \<font color="#6321ae">string\</font> bssid del punto de acceso señal \<font color="#6321ae">long\</font> la intensidad de la señal recibida el valor absoluto de este atributo normalmente no es relevante, pero puede compararse con el valor informado en otras redes o en diferentes ubicaciones lldpneighborinformation esta interfaz contiene información de ubicación recibida de la infraestructura de red mediante el protocolo lldp med docid\ nb5kguphymfjugcngukrt networkinterfaceconfigrequestparams \<font color="#0c121d">`includeencryptedsecrets` \</font> \<font color="#6554c0">bool\</font> si se establece en verdadero , se incluyen secretos cifrados; si se establece en falso no se incluyen networkinterfaceconfig esta interfaz contiene configuraciones relacionadas con una interfaz de red métrica \<font color="#6321ae">long\</font> la métrica de enrutamiento para la puerta de enlace predeterminada en la interfaz las rutas con métricas más bajas se prefieren sobre las rutas con métricas más altas si no se especifica, la métrica se establecerá para garantizar que las interfaces se prefieran de manera coherente para una configuración dada dhcpserverconfig \<font color="#6321ae">dhcpserverconfig\</font> una interfaz dhcpserverconfig que especifica la configuración del servidor dhcp para la interfaz el servidor dhcp puede deshabilitarse estableciendo este atributo en un valor nulo al llamar a applyconfig() dnsserverlist \<font color="#6321ae">array\<string\>\</font> una lista de cadenas que contiene un máximo de tres servidores dns cada cadena debe contener la dirección ip dotted quad de un servidor dns ipaddresslist \<font color="#6321ae">array\<ipaddress\> \</font> una matriz que contiene cero o una configuración de dirección ipv4 estática los reproductores actualmente no admiten más de una dirección ipv4 por interfaz ni la configuración estática de direcciones ipv6 si la matriz está vacía, las direcciones ip se asignarán mediante dhcp inboundshaperrate \<font color="#6321ae"> long\</font> el límite de ancho de banda para el tráfico entrante en bits por segundo si no está definido, no hay límite de ancho de banda mtu \<font color="#6321ae">long\</font> la unidad máxima de transmisión (mtu) para la interfaz de red en bytes si no se especifica, se elegirá automáticamente un valor mtu apropiado vlanidlist \<font color="#6321ae">array\<unsigned short\>\</font> una lista de id de vlan para las cuales esta interfaz de red es la principal identificador del cliente \<font color="#6321ae">string\</font> el identificador del cliente dhcp para la interfaz de red dominio \<font color="#6321ae">string\</font> el nombre de dominio para la interfaz de red enabledprotocollist \<font color="#6321ae">array\<string\>\</font> una matriz opcional que contiene el conjunto de protocolos ip habilitados el valor predeterminado es \[ ipv4 , ipv6 ] dialupinterfaceconfig esta interfaz contiene atributos relacionados con la interfaz del módem usuario \<font color="#6321ae">string\</font> el nombre de usuario que se ha introducido algunos operadores requerirán el nombre de usuario, otros no contraseña \<font color="#6321ae">string\</font> la contraseña que se ha introducido algunos operadores requerirán la contraseña, otros no número \<font color="#6321ae">string\</font> el comando de "iniciar conexión", que anteriormente marcaba un número ahora, number es casi siempre " 99#" initstring \<font color="#6321ae">string\</font> la cadena de configuración general del módem, que varía entre operadores dhcpserverconfig esta interfaz configura un servidor dhcp en el puerto ethernet o en el punto de acceso inalámbrico si configura dhcp para wifi, tenga en cuenta que la interfaz wifi debe estar en modo de punto de acceso debe asignarse una dirección ip estática a la interfaz wlan0 para que el servidor dhcp funcione correctamente para aplicar una dirección ip , consulte configuracióndeinterfazdered docid qpnvwgjt 7xggv l0vna , y use la configuración ipaddresslist comenzar \<font color="#6321ae">string\</font> el inicio del rango de direcciones ip ofrecidas fin \<font color="#6321ae">string\</font> el final del rango de direcciones ip ofrecidas puerta de enlace \<font color="#6321ae">string\</font> \<font color="#01a0af">optional\</font> dirección ipv4 de la puerta de enlace que utilizarán los clientes dnsserverlist \<font color="#6554c0">array\<string\>\</font> \<font color="#01a0af">optional\</font> una matriz de cadenas que contiene las direcciones ipv4 de los servidores de nombres (las direcciones ipv6 no son compatibles actualmente) dominio \<font color="#6554c0">string\</font> \<font color="#01a0af">optional\</font> el sufijo de dominio que utilizarán los clientes ipaddress esta interfaz representa una configuración de dirección ip familia \<font color="#6554c0">string\</font> la configuración ip (debe establecerse en ipv4) dirección \<font color="#6554c0">string\</font> la dirección ip4 esta es una cadena decimal punteada de cuatro grupos; por ejemplo, "192 168 1 42" máscara de red \<font color="#6554c0">string\</font> la máscara de red ip4 esta es una cadena decimal punteada de cuatro grupos; por ejemplo, "255 255 255 0" puerta de enlace \<font color="#6554c0">string\</font> la configuración de la interfaz ip4 esta es una cadena decimal punteada de cuatro grupos; por ejemplo, "192 168 1 2" transmisión \<font color="#6554c0">string\</font> la dirección de difusión ip4 esta es una cadena decimal punteada de cuatro grupos; por ejemplo, "192 168 1 255" ethernetinterfaceconfig modo de seguridad \<font color="#6554c0">string\</font> establece el método de cifrado identidad \<font color="#6554c0">string\</font> la identidad radius (remote authentication dial in user service) si este valor está en blanco, se tomará del certificado de cliente especificado (se utilizará "subjectaltname" si está presente; de lo contrario, se utilizará "commonname") eaptlsoptions \<font color="#6554c0">string\</font> una cadena que contiene opciones específicas de eap cacertificates \<font color="#6554c0">string\</font> el contenido de un archivo de certificado ca en formato de texto (es decir, un archivo "pem") clientcertificate \<font color="#6554c0">string\</font> el contenido de un archivo de certificado de cliente en formato de texto (es decir, un archivo "pem") privatekey \<font color="#6554c0">string \</font> la clave privada para autenticación wifiinterfaceconfig esta interfaz contiene atributos relacionados con la interfaz wifi essid \<font color="#6554c0">string\</font> el essid de la red inalámbrica frase de contraseña \<font color="#6554c0">string\</font> la frase de contraseña/clave en texto sin formato para la red inalámbrica obfuscatedpassphrase \<font color="#6554c0">string\</font> \<font color="#01a0af">optional\</font> la frase de contraseña/clave para la red inalámbrica que ha sido ofuscada mediante un secreto compartido contacte con support\@brightsign biz mailto\ support\@brightsign biz para obtener más información sobre cómo generar una clave para la ofuscación y almacenarla en el reproductor los siguientes atributos se relacionan con la compatibilidad con wpa enterprise modo de seguridad \<font color="#6554c0">string\</font> establece el método de cifrado wifi de forma predeterminada, se permiten tanto el cifrado wpa (tkip) como wpa2 (ccmp) este método acepta una lista separada por espacios y sin distinción entre mayúsculas y minúsculas que puede incluir valores "tkip" o "ccmp" pasar una cadena vacía establece el modo predeterminado si tanto ccmp como tkip están permitidos, ccmp siempre tiene prioridad identidad \<font color="#6554c0">string\</font> la identidad radius si este valor está vacío, se tomará del certificado de cliente especificado (se utilizará "subjectaltname" si está presente; de lo contrario, se utilizará "commonname") eaptlsoptions \<font color="#6554c0">string\</font> una cadena que contiene opciones específicas de eap actualmente, esta cadena puede utilizarse para habilitar o deshabilitar la compatibilidad con md5 ("md5=enable" o "md5=disable") cacertificates \<font color="#6554c0">string\</font> el contenido de un archivo de certificado ca en formato de texto (es decir, un archivo "pem") los certificados también pueden enviarse desde un peer eap clientcertificate \<font color="#6554c0">string\</font> el contenido de un certificado de cliente en formato de texto (es decir, un archivo "pem") privatekey \<font color="#6554c0">string\</font> la clave privada para la autenticación si la clave privada está protegida con contraseña, utilice el atributo passphrase/obfuscatedpassphrase para establecer la contraseña si el certificado de cliente y la clave privada asociada están en el mismo archivo pkcs#12, el contenido del archivo debe especificarse en el campo privatekey y el campo clientcertificate debe dejarse vacío frecuencias \<font color="#6554c0">string\</font> obtiene la lista de frecuencias wifi modo de punto de acceso \<font color="#6554c0">bool\</font> \<font color="#01a0af">optional\</font> \<font color="#00b8d9"> \</font> si el modo de punto de acceso wifi está habilitado o deshabilitado el essid y la frase de contraseña del punto de acceso wifi se establecen con los atributos essid y passphrase/obfuscatedpassphrase si se ha establecido una frase de contraseña, el punto de acceso inalámbrico utilizará autenticación wpa2; de lo contrario, no utilizará autenticación accesspointfrequency \<font color="#6554c0">long\</font> \<font color="#01a0af">optional\</font> \<font color="#00b8d9"> \</font> la frecuencia https //en wikipedia org/wiki/list of wlan channels del punto de acceso wifi (en mhz) accesspointhidden \<font color="#6554c0">bool\</font> \<font color="#01a0af">optional\</font> si hidden es verdadero , el ssid está oculto; si es falso es visible el valor predeterminado es no oculto, que era el comportamiento anterior ejemplos el siguiente ejemplo consulta un dispositivo brightsign para obtener la configuración de red de una interfaz específica e imprime los resultados (o cualquier error) en la consola var networkconfigclass = require("@brightsign/networkconfiguration"); var nc = new networkconfigclass("etho"); nc getconfig() then( function(data) { console log(" general interface data "); console log(json stringify(data)); }) catch( function(data) { console log(json stringify(data)); }); el siguiente ejemplo de descarga aplica una dirección ip estática a la interfaz ethernet si no se proporciona una dirección ip estática, configura la interfaz para dhcp en su lugar el siguiente ejemplo de código restringe la compatibilidad de versiones ip únicamente a ipv4 var networkconfigclass = require("@brightsign/networkconfiguration"); var networkconfigethernet = new networkconfigclass("eth0"); networkconfigethernet getconfig() then( function(data) { networkconfig = {} networkconfig enabledprotocollist = \["ipv4"]; networkconfigethernet applyconfig(networkconfig) then( function() { console log("success"); }) catch( function(err) { console log(err); }); }) catch( function(err) { console log(err); }); para cambiar un elemento mientras mantiene el resto de la configuración igual, llame a getconfig y modifique el objeto devuelto var networkconfiguration = require('@brightsign/networkconfiguration'); var address = { ipaddress "10 0 1 20", defaultgateway "10 0 1 1", subnetmask "255 255 255 0", broadcast "10 0 1 255" }; var networkconfig = new networkconfiguration("eth0"); networkconfig getconfig() then(function(config) { var ipaddress = { family "ipv4", address address ipaddress, netmask address subnetmask, gateway address defaultgateway, broadcast address broadcast, }; config ipaddresslist = \[ipaddress]; networkconfig applyconfig(config); }) then(function() { console log("success"); }) catch(function(error) { console log(`${json stringify(error)}`); });