---
title: configuracióndered
slug: develop/es/configuraciondered
docTags: 
createdAt: 2025-03-26T14:45:22.597Z
---

El objeto *configuración de red&#xA0;*&#x70;ermite 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**

```javascript
[
    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.

```javascript
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). &#x20;
- `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.&#x20;
  - `"wifi"`: El WiFi interno
  - `"módem"`: Un módem conectado

:::hint{type="info"}
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.
:::

:::hint{type="success"}
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()**

```javascript
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()**

```javascript
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.&#x20;

Para restablecer un ajuste de la interfaz de red a su valor predeterminado, pase el objeto *NetworkInterfaceConfig &#x20;*&#x73;in 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()**

```javascript
Promise<LLDPNeighborInformation> getNeighborInformation()
```

Devuelve información LLDP relacionada con la red, o null. Este método solo está disponible con la interfaz ethernet.

**enableLeds()**

```javascript
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()**

```javascript
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()**

```javascript
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.&#x20;

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&lt;String&gt;</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&lt;IPAddress&gt;:</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&lt;unsigned short&gt;</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&lt;String&gt;</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&lt;String&gt;</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:

```javascript
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:

::File{src="https://api.archbee.com/api/presign/0prk6SO2dy9LdU77jB8D1/BKHvC_APRGVsZs01Qs_yp-20260128-192327.zip" label="js-networkconfiguration-staticip_updated.zip"}

El siguiente ejemplo de código restringe la compatibilidad de versiones IP únicamente a IPv4:

```javascript
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:

```javascript
  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)}`);
  });
```

