Dell NativeEdge: Cómo verificar la conectividad con el servidor de reunión público de Dell
Resumen: NativeEdge Endpoints se incorporan a NativeEdge Orchestrator (NEO) mediante el servidor de reunión pública (RV) de Dell cuando tienen acceso a Internet. En este artículo, se explica cómo solucionar problemas de conectividad de vehículos recreativos. ...
Instrucciones
Dell RV Server es un sitio seguro de acceso público que participa en la transmisión de cupones. Cuando se incorpora, un terminal de NativeEdge busca el servidor de RV, realiza un protocolo de enlace y completa el proceso de incorporación.
Recomendaciones para la solución de problemas:
- Descargue la Representación concisa de objetos binarios (CBOR) adjunta
msg30_pkb.ziparchivo de los archivos adjuntos de este artículo - Extraiga el archivo
msg30.cborarchivo en un sistema que tenga acceso a Internet y pueda usarCURL - Ejecute el siguiente comando:
Orchestrator en línea (acceso a Internet)
curl -v -H "Content-Type: application/cbor" -H "User-Agent: fdo" --data-binary "@msg30.cbor" https://rv.dell.com/fdo/101/msg/30
Resultado esperado:
Trying 143.166.28.30:443...
Connected to rv.dell.com (143.166.28.30) port 443 (#0)
ALPN, offering h2
ALPN, offering http/1.1
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
TLSv1.0 (OUT), TLS header, Certificate Status (22):
TLSv1.3 (OUT), TLS handshake, Client hello (1):
TLSv1.2 (IN), TLS header, Certificate Status (22):
TLSv1.3 (IN), TLS handshake, Server hello (2):
TLSv1.2 (IN), TLS header, Certificate Status (22):
TLSv1.2 (IN), TLS handshake, Certificate (11):
TLSv1.2 (IN), TLS header, Certificate Status (22):
TLSv1.2 (IN), TLS handshake, Server key exchange (12):
TLSv1.2 (IN), TLS header, Certificate Status (22):
TLSv1.2 (IN), TLS handshake, Server finished (14):
TLSv1.2 (OUT), TLS header, Certificate Status (22):
TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
TLSv1.2 (OUT), TLS header, Finished (20):
TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
TLSv1.2 (OUT), TLS header, Certificate Status (22):
TLSv1.2 (OUT), TLS handshake, Finished (20):
TLSv1.2 (IN), TLS header, Finished (20):
TLSv1.2 (IN), TLS header, Certificate Status (22):
TLSv1.2 (IN), TLS handshake, Finished (20):
SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
ALPN, server did not agree to a protocol
Server certificate:
subject: C=US; ST=Texas; L=Round Rock; O=Dell Technologies Inc.; CN=*.apis.dell.com
start date: Oct 16 00:00:00 2024 GMT
expire date: Nov 16 23:59:59 2025 GMT
subjectAltName: host "rv.dell.com" matched cert's "rv.dell.com"
issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1
SSL certificate verify ok.
TLSv1.2 (OUT), TLS header, Supplemental data (23):
> POST /fdo/101/msg/30 HTTP/1.1 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> Host: rv.dell.com
> User-Agent: curl/7.81.0
> Accept: /
> Content-Type: application/cbor
> Content-Length: 22
>
TLSv1.2 (IN), TLS header, Supplemental data (23):
Mark bundle as not supporting multiuse
< HTTP/1.1 200
< Server: Dell
< Date: Thu, 01 May 2025 10:46:04 GMT
< Content-Type: application/cbor
< Content-Length: 22
< Connection: keep-alive
< X-Correlation-ID: f31fe5e7-80fb-42a2-ab25-36407b865803
< Authorization: Bearer 0oREoQE4IqBYTacBY3J2cwJjdG8xA2NmZG8EGmgTUSgFGmgTUOwGGmgTUOwHWCiCglDq1woPL9xJ+qmoXvrDWGHmgjgiQFCC9Da8qWJGRZW80AbOGC7IWGAltbUnQgHBeTAB7AhrTZKsh64utf7ELY0iVhe+ZoK90Ma+tMYK24n27gkKNS7gBeZdX51+Jlq+x+xc0DY6X7W0vx0Zyk8ClGYRea2gk4W22TrDJydtUAUC+8MpiWOfIaA=
< Message-Type: 31<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
< Strict-Transport-Security: max-age=63072000; includeSubDomains
< Strict-Transport-Security: max-age=31536000; includeSubDomains
< X-Frame-Options: SAMEORIGIN
< X-Content-Type-Options: nosniff
< X-Xss-Protection: 1; mode=block
<
Air-gap de Orchestrator (sin acceso a Internet)
- La variable
curl -kLa marca ignora la comprobación del certificado. - Host que ejecuta
CURLdebe ser capaz de resolver el servidor rv (a través de una entrada DHCP o localmente). - La IP del servidor de rv se puede utilizar en lugar de
rv.local.edge, si la resolución no está disponible.
curl -k -v -H "Content-Type: application/cbor" --data-binary "@msg30.cbor" https://rv.local.edge/fdo/101/msg/30
Resultado esperado:
* Host rv.local.edge:443 was resolved.
* IPv6: (none)
* IPv4: 172.28.1.100
* Trying 172.28.1.100:443...
* Connected to rv.local.edge (172.28.1.100) port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / X25519 / id-ecPublicKey
* ALPN: server accepted http/1.1
* Server certificate:
* subject: CN=orchestrator.domain.com
* start date: Jun 16 09:50:36 2025 GMT
* expire date: Jun 9 08:50:41 2055 GMT
* issuer: O=DELL-EDGE; CN=eo.edge.dell.com
* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* using HTTP/1.x
> POST /fdo/101/msg/30 HTTP/1.1
> Host: rv.local.edge
> User-Agent: curl/8.5.0
> Accept: */*
> Content-Type: application/cbor
> Content-Length: 22
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
< HTTP/1.1 200
< Server: nginx/1.25.4
< Date: Thu, 31 Jul 2025 12:12:58 GMT
< Content-Type: application/cbor
< Content-Length: 22
< Connection: keep-alive
< Authorization: Bearer 0oREoQE4IqBYTacBY3J2cwJjdG8xA2NmZG8EGmiLXgYFGmiLXcoGGmiLXcoHWCiCglDq1woPL9xJ+qmoXvrDWGHmgjgiQFChbTZ5Sw9PAZF+6dEMjeEmWGA58QTMFctxVT35hc1cp2TygR9KMN+ncVIHN35D1RB3qvhYdQBkp43l6TeYc10XfPvpBUmef7rIdKgV9JKHUrcudTCBpqqsc6XUkvVw4TBL2OeZnZNq4iLpFgZqITde4zs=
< Message-Type: 31
<
* Connection #0 to host rv.local.edge left intact
En el resultado del ejemplo anterior, estas son las áreas de interés:
Solicitud HTTPS
> POST /fdo/101/msg/30 HTTP/1.1 > Host: rv.dell.com > User-Agent: curl/7.81.0 > Accept: / > Content-Type: application/cbor > Content-Length: 22
- El sistema envía 22 bytes de datos CBOR binarios desde
msg30.cbor. - Este es el mensaje 30 del protocolo FIDO Device Onboard (FDO),
TO1.HelloRendezvouso similar en el flujo de incorporación
Respuesta de HTTPS
< HTTP/1.1 200 < Content-Type: application/cbor < Content-Length: 22 < Message-Type: 31 < Authorization: Bearer ...
- Autorización: Portador...: El servidor emite un token de portador: este es el mensaje FDO 31,
TO1.HelloRendezvousAck - Tipo de mensaje: 31: Confirma el tipo de mensaje en el intercambio de FDO
Información adicional
Más información sobre los mensajes HelloRV (Tipo 30) y HelloRVAck (Tipo 31) está disponible en la Especificación FDO: https://fidoalliance.org/specs/FDO/FIDO-Device-Onboard-PS-v1.1-20220419/FIDO-Device-Onboard-PS-v1.1-20220419.html#TO1HelloRV
Solución de problemas comunes:
Síntomas de límite de tamaño de encabezado HTTP excedido
:
Fallas de protocolo de enlace de FDO con errores
de análisis de longitud de mensaje Mensajes de error en los registros de la consola de servicio:
ERROR:[get_msg_length():691] Strcat() failed!
ERROR:[fdo_con_recv_msg_header():761] Msg len parsing from REST Header failed!!
ERROR:[fdo_prot_ctx_run():385] fdo_con_recv_msg_header() Failed!
El protocolo FDO requiere que los encabezados HTTP tengan un tamaño inferior a 1 KB.
Para analizar los encabezados HTTP completos con un recuento preciso de bytes, incluidos los finales de línea CRLF (críticos para el protocolo FDO), el usuario puede utilizar el siguiente comando (copie todo el bloque de código):
curl -v -H "Content-Type: application/cbor" -H "User-Agent: fdo" --data-binary "@msg30.cbor" https://rv.dell.com/fdo/101/msg/30 2>&1 | awk '
BEGIN {
print "=== Dell Rendezvous Server Connectivity Check ==="
print ""
print "[INFO] RV Host: rv.dell.com"
print "[INFO] RV URL: https://rv.dell.com/fdo/101/msg/30"
print "[INFO] Payload: msg30.cbor (22 bytes)"
print ""
print "[INFO] Sending FDO Message 30 (TO1.HelloRendezvous)..."
print ""
print "--- Request Headers ---"
print ""
request_total = 0
response_total = 0
http_status = ""
}
/^> / {
line = substr($0, 3)
line_bytes = length(line) + 2
request_total += line_bytes
printf "%5d %s\n", line_bytes, line
}
/^< HTTP/ {
http_status = $3
line = substr($0, 3)
line_bytes = length(line) + 2
response_total += line_bytes
print "--- Response Headers ---"
print ""
printf "%5d %s\n", line_bytes, line
}
/^< / && !/^< HTTP/ {
line = substr($0, 3)
line_bytes = length(line) + 2
response_total += line_bytes
printf "%5d %s\n", line_bytes, line
}
END {
print " ------"
printf "%7d (total incl. CRLF line endings)\n", request_total
print ""
print " ------"
printf "%7d (total incl. CRLF line endings)\n", response_total
print ""
print "--- Analysis ---"
print ""
if (http_status != "200") {
print "[ERROR] HTTP Status: " http_status " - Service Unavailable!"
print "[INFO] rv.dell.com may be temporarily down or rate limiting"
print ""
print "=== RESULT: FAIL ==="
print ""
print "RV server rv.dell.com returned HTTP " http_status
print "Unable to complete FDO protocol analysis."
} else if (response_total > 1024) {
print "[ERROR] Response headers exceed 1KB FDO protocol limit!"
print "[INFO] Expected limit: 1024 bytes"
print "[INFO] Actual size: " response_total " bytes"
print "[INFO] Over limit by: " response_total-1024 " bytes"
print ""
print "--- Payload Summary ---"
print ""
print " Request headers " request_total " bytes"
print " Request body (CBOR) 22 bytes"
print " Request total " request_total+22 " bytes"
print ""
print " Response headers " response_total " bytes"
print " Response body (CBOR) 22 bytes"
print " Response total " response_total+22 " bytes"
print ""
print " Exchange total " request_total+22+response_total+22 " bytes"
print "[INFO] (excludes TLS handshake overhead)"
print ""
print "=== RESULT: FAIL ==="
print ""
print "RV server rv.dell.com is reachable but headers exceed FDO protocol limit."
print "FDO Message 31 (TO1.HelloRendezvousAck) not processed due to header size violation."
} else {
print "[INFO] HTTP Status: " http_status " - OK"
print "[INFO] Response headers within FDO protocol limit: " response_total " bytes"
print ""
print "--- Payload Summary ---"
print ""
print " Request headers " request_total " bytes"
print " Request body (CBOR) 22 bytes"
print " Request total " request_total+22 " bytes"
print ""
print " Response headers " response_total " bytes"
print " Response body (CBOR) 22 bytes"
print " Response total " response_total+22 " bytes"
print ""
print " Exchange total " request_total+22+response_total+22 " bytes"
print "[INFO] (excludes TLS handshake overhead)"
print ""
print "=== RESULT: PASS ==="
print ""
print "RV server rv.dell.com is reachable and responding correctly."
print "FDO Message 31 (TO1.HelloRendezvousAck) received."
}
}'
Ejemplo de salida de una buena consulta:
=== Dell Rendezvous Server Connectivity Check ===
[INFO] RV Host: rv.dell.com
[INFO] RV URL: https://rv.dell.com/fdo/101/msg/30
[INFO] Payload: msg30.cbor (22 bytes)
[INFO] Sending FDO Message 30 (TO1.HelloRendezvous)...
--- Request Headers ---
29 POST /fdo/101/msg/30 HTTP/1.1
17 Host: rv.dell.com
11 Accept: */*
30 Content-Type: application/cbor
15 User-Agent: fdo
18 Content-Length: 22
------
134 (total incl. CRLF line endings)
--- Response Headers ---
13 HTTP/1.1 200
35 Date: Tue, 14 Apr 2026 12:52:20 GMT
30 Content-Type: application/cbor
18 Content-Length: 22
22 Connection: keep-alive
50 X-Correlation-ID: 4479e39491dce8a4965a1dfdf45041ed
270 Authorization: Bearer 0oREoQE4IqBYTacBY3J2cwJjdG8xA2NmZG8EGmneOMAFGmneOIQGGmneOIQHWCiCglDq1woPL9xJ+qmoXvrDWGHmgjgiQFAfT/w8LypPSb/Ad7VUbhuJWGB7aS8rrAYJT60UyIdGdZ+peCBnnxplC5mAAbCJ2fYVdmBChALRXRC+aYRXXmnj1HJY/uD8KA6LvkIastByxsl9Qi0fCHK5gqBddtgBL2CiydYITRqUAY9G0pxBFDtHNtQ=
16 Message-Type: 31
31 X-Content-Type-Options: nosniff
19 X-XSS-Protection: 0
61 Cache-Control: no-cache, no-store, max-age=0, must-revalidate
16 Pragma: no-cache
10 Expires: 0
21 X-Frame-Options: DENY
79 Server-Timing: dtTrId;desc="2c3636bbbd7db72dec0b69becb9dd11d", dtSInfo;desc="0"
38 Server-Timing: dtRpid;desc="199532116"
------
763 (total incl. CRLF line endings)
--- Analysis ---
[INFO] HTTP Status: 200
[INFO] Response body: 22 bytes
[INFO] Content-Type: application/cbor
[INFO] Message-Type: 31
[INFO] Authorization: Bearer 0oREoQE4IqBYTacBY3J2cwJjdG8xA2NmZ...
--- Payload Summary ---
Request headers 134 bytes
Request body (CBOR) 22 bytes
Request total 156 bytes
Response headers 763 bytes
Response body (CBOR) 22 bytes
Response total 785 bytes
Exchange total 941 bytes
[INFO] (excludes TLS handshake overhead)
[INFO] TLS: SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / prime256v1 / rsaEncryption
[INFO] Certificate subject: C=US; ST=Texas; L=Round Rock; O=Dell Technologies Inc.; CN=*.apis.dell.com
[INFO] Certificate issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1
[INFO] Certificate expire date: Sep 26 23:59:59 2026 GMT
=== RESULT: PASS ===
RV server rv.dell.com is reachable and responding correctly.
FDO Message 31 (TO1.HelloRendezvousAck) received.