configuración del host
9 min
el objeto hostconfiguration le permite recuperar información sobre interfaces de red y conectividad a internet idl de hostconfiguration interface networkhost { hostconfig defaultconfig(); promise\<hostconfig> getconfig(); promise\<void> applyconfig(hostconfigwritable config); }; interface hostconfig { \[optional] attribute string proxy; \[optional] attribute array\<string> proxybypasslist; \[optional] attribute array\<string> timeserverlist; \[optional] attribute string timeserverinterval; \[optional] attribute string hostname; 	\[optional] attribute bool loginpassword; \[optional] attribute bool forwardingenabled; \[optional] attribute bool masqueradingenabled; 	\[optional] attribute array\<natrule> natlist; 	\[optional] attribute array\<string> sshauthorizedkeys; }; interface hostconfigwritable hostconfig { \[optional] attribute string\[or bool] loginpassword; \[optional] attribute string\[or bool] obfuscatedloginpassword; }; interface natrule { attribute natrulematch match; attribute natrulereplacement replace; }; interface natrulematch { attribute string protocol; \[optional] attribute string sourceaddressrange; attribute string destinationaddressrange; attribute unsigned short destinationport; }; interface natrulereplacement { attribute string destinationaddress; attribute unsigned short destinationport; }; creación de objetos para crear un objeto hostconfiguration , primero cargue el módulo brightsign/hostconfiguration usando el método require() luego cree una instancia de la clase hostconfiguration var hostconfigurationclass = require("@brightsign/hostconfiguration"); var hc = new hostconfigurationclass(); networkhost utilice esta interfaz para recuperar y modificar la configuración del host getconfig() promise\<hostconfig> getconfig() devuelve una interfaz hostconfig que contiene información actual de configuración del host proxy \<font color="#704ae0">string\</font> el servidor proxy utilizado para solicitudes http, https y ftp proxybypasslist \<font color="#704ae0">string\</font> una lista de hosts exentos de la configuración proxy timeserverlist \<font color="#704ae0">string\</font> una lista de servidores de hora consulte ronetworkconfiguration settimeserver() docid\ nb5kguphymfjugcngukrt para obtener más información timeserverinterval \<font color="#704ae0">string\</font> con qué frecuencia el reproductor se comunica con el servidor de hora y ajusta su reloj un valor de 0 especifica el intervalo predeterminado (12 horas) nombredehost \<font color="#704ae0">string\</font> el nombre de host del dispositivo loginpassword \<font color="#704ae0">bool\</font> indica si se ha configurado una contraseña de inicio de sesión para la conexión ssh reenvío habilitado \<font color="#704ae0">bool\</font> habilita o deshabilita el reenvío ip si falso , no se realiza ningún reenvío ip suplantaciónactivada \<font color="#704ae0">bool\</font> habilita o deshabilita la traducción de direcciones con reenvío ip si reenvío habilitado es verdadero , masquerading enabled debe especificarse como verdadero o falso si reenvío habilitado es verdadero y masquerading enabled es falso , los datagramas ip se reenvían entre todas las interfaces y no se realiza ninguna traducción de direcciones si reenvío habilitado es verdadero y masquerading enabled es verdadero , los datagramas ip se reenvían entre todas las interfaces, pero snat se aplica a cualquier datagrama enviado desde una interfaz "upstream" para este propósito, una interfaz "upstream" es cualquiera en la que se establece una ruta predeterminada tenga en cuenta que puede haber más de una interfaz de este tipo los datagramas destinados a una interfaz que no tiene una ruta predeterminada se reenvían sin nat natlist \<font color="#704ae0">array \<natrule\>\</font> sshauthorizedkeys \<font color="#704ae0">array\<string\>\</font> una matriz de cadenas de claves públicas autorizadas la misma propiedad puede pasarse al método applyconfig() para establecer las claves públicas autorizadas disponible a partir de bos 10 0 11 applyconfig() promise\<void> applyconfig(hostconfigwritable config) aplica configuraciones de host al reproductor este método acepta una interfaz hostconfigwritable el parámetro configuración debe contener la configuración deseada completa cualquier configuración previa se sobrescribe si desea cambiar un elemento mientras mantiene el resto de la configuración igual, llame a getconfig y modifique el objeto devuelto (consulte el ejemplo en la sección examples) hostconfig esta interfaz contiene parámetros de configuración del host proxy \<font color="#704ae0">string\</font> el nombre o la dirección del servidor proxy utilizado para solicitudes http y ftp la cadena del proxy debe tener el formato "http //user\ password\@hostname\ port" el nombre de host puede contener hasta cuatro caracteres " "; cada carácter " " puede utilizarse para reemplazar un octeto de la dirección ip actual por ejemplo, si la dirección ip es actualmente 192 168 1 2 y el proxy está configurado como "proxy ", entonces el reproductor intentará usar un proxy llamado "proxy 192 168" proxybypasslist \<font color="#704ae0">array\</font> \<font color="#704ae0">\<string\>\</font> una lista de nombres de host exentos de la configuración del proxy el reproductor intentará acceder a los hosts especificados directamente en lugar de usar el proxy especificado en el atributo proxy por ejemplo, el nombre de host "example com" excluiría "example com", "example com 80" y "www example com" de la configuración del proxy timeserverlist \<font color="#704ae0">array\</font> \<font color="#704ae0">\<string\>\</font> una matriz que contiene cero o un servidor de hora para ser utilizado por el reproductor una matriz vacía deshabilita el ajuste automático del reloj del reproductor una sola entrada indica el servidor de hora y el protocolo que deben utilizarse como url los protocolos admitidos son http, https y ntp para mantener la compatibilidad con versiones anteriores, se admite el uso de solo un nombre de host e indica que debe utilizarse ntp tenga en cuenta que, al usar https, la verificación del host y del par están deshabilitadas ya que el reloj del reproductor puede no ser correcto las siguientes son direcciones válidas de servidores de hora http //time brightsignnetwork com/ https //time brightsignnetwork com/ ntp\ //time brightsignnetwork com/ time brightsignnetwork com timeserverinterval \<font color="#704ae0">string\</font> un valor que especifica con qué frecuencia (en segundos) el reproductor debe comunicarse con el servidor de hora para ajustar su reloj el intervalo predeterminado es de 12 horas el intervalo mínimo permitido es de 120 segundos nombredehost \<font color="#704ae0">string\</font> el nombre de host del reproductor si no se ha establecido explícitamente un nombre de host, se genera automáticamente un nombre de host basado en el número de serie del dispositivo pasar una cadena vacía a este método restablece el nombre de host del dispositivo a su valor generado automáticamente loginpassword \<font color="#704ae0">bool\</font> un valor de verdadero significa que la contraseña existe, falso significa que no hay contraseña reenvíohabilitado \<font color="#704ae0">bool\</font> habilita o deshabilita el reenvío ip el reenvío ip está deshabilitado ( falso ) de forma predeterminada masqueradingenabled \<font color="#704ae0">bool\</font> habilita o deshabilita la traducción de direcciones de origen con reenvío de ip si reenvíohabilitado es true, masqueradingenabled debe especificarse como true o false si masqueradingenabled es false, los datagramas ip se reenvían entre todas las interfaces y no se realiza ninguna traducción de direcciones si masqueradingenabled es true, los datagramas ip se reenvían entre todas las interfaces, pero snat https //ipwithease com/snat vs dnat/ se aplica a cualquier datagrama que se envíe fuera de una interfaz "upstream" (cualquier interfaz o interfaces en las que se configure una ruta predeterminada) los datagramas destinados a una interfaz que no tenga una ruta predeterminada se reenvían sin nat https //ipwithease com/snat vs dnat/ natlist \<font color="#704ae0">array\<natrule\>\</font> una lista de reglas de dnat https //ipwithease com/snat vs dnat/ que permite a los usuarios cambiar la dirección y el puerto de destino de un paquete hostconfigwritable esta interfaz contiene configuraciones de contraseña para ssh al escribir configuraciones usando el método applyconfig() , algunos miembros de la interfaz hostconfig tienen un comportamiento especial loginpassword \<font color="#704ae0">string\</font> o \<font color="#704ae0">bool\</font> si se proporciona una cadena, establece una contraseña de inicio de sesión en texto plano para la conexión ssh (tenga en cuenta que ssh también debe habilitarse por separado en el registro para que esto sea útil) si se proporciona el valor booleano verdadero , la contraseña existente (si existe) permanece sin cambios si se proporciona el valor booleano falso , se elimina cualquier contraseña existente obfuscatedloginpassword \<font color="#704ae0">string\</font> o \<font color="#704ae0">bool\</font> como se indicó anteriormente, excepto que la contraseña debe haberse ofuscado previamente utilizando un secreto compartido póngase en contacto 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 este comportamiento garantiza que código como getconfig() then((c) => { applyconfig(c); }) conserve cualquier contraseña existente, aunque la propia contraseña no sea devuelta por getconfig() natrulematch las reglas de esta interfaz se comparan con los destinos de los paquetes tcp o udp que ingresan al reproductor si los campos del paquete coinciden con las propiedades establecidas en natrulematch , la ip y el puerto de destino se sobrescribirán con los valores deseados en la interfaz natrulesreplacement protocolo \<font color="#704ae0">string\</font> filtro para "udp" o "tcp" (la entrada debe estar en minúsculas) rango de direcciones de origen \<font color="#704ae0">string\</font> \<font color="#01a0af">optional\</font> filtro para este rango de direcciones ip de origen (en formato cidr https //en wikipedia org/wiki/classless inter domain routing# text=cidr%20introduced%20a%20new%20method,db8%3a%3a%2f32%20for%20ipv6 ) se incluirá tráfico de todas las direcciones ip de origen si no se especifica este atributo opcional destinationaddressrange \<font color="#704ae0">string\</font> el rango de direcciones ip de destino (en formato cidr https //en wikipedia org/wiki/classless inter domain routing# text=cidr%20introduced%20a%20new%20method,db8%3a%3a%2f32%20for%20ipv6 ) que se sobrescribirá puerto de destino \<font color="#704ae0">unsigned short\</font> el puerto de destino que se sobrescribirá natrulereplacement las propiedades de dirección y puerto especificadas en natrulereplacement se escriben en el paquete para reemplazar las propiedades seleccionadas de dirección ip y puerto dirección de destino \<font color="#704ae0">string\</font> la dirección ip que reemplazará la dirección ip anterior en el destino puerto de destino \<font color="#704ae0">unsigned short\</font> el puerto que reemplazará el puerto anterior en el destino ejemplos el siguiente script usa el método applyconfig() para configurar el nombre de host, el servidor de hora y el intervalo de actualización del servidor de hora var hostconfigurationclass = require("@brightsign/hostconfiguration"); var hc = new hostconfigurationclass(); var configdata = {}; configdata hostname = "myplayer"; configdata proxy = ""; configdata proxybypasslist = \[]; configdata timeserverinterval = 1200; configdata timeserverlist = \["time brightsignnetwork com"]; console log(" configuring host ") hc applyconfig(configdata) then( function() { console log("success"); }) catch( function(data) { console log(json stringify(data)); }); para cambiar un elemento mientras mantiene el resto de la configuración igual, llame a getconfig y modifique el objeto devuelto var hostconfiguration = require('@brightsign/hostconfiguration'); var hostconfiguration = new hostconfiguration; hostconfiguration getconfig() then(function(config) { config hostname = "host brightsign"; hostconfiguration applyconfig(config); }) then(function() { console log("success"); }) catch(function(error) { console log(`${json stringify(error)}`); });