NetWorker: Identificar clientes que requieren borrar información de pares "Error: falla del protocolo SSL"
Summary: El archivo /nsr/logs/daemon.raw del servidor de NetWorker está inundado con el mensaje “Unable to complete SSL handshake with nsrexecd on host 'NOMBRE_DE_CLIENTE': Se produjo un error como resultado de una falla del protocolo SSL". Además de un posible problema de conexión, esto dificulta el análisis de los registros para cualquier otra solución de problemas. En este artículo, se destacan los pasos que se pueden seguir para eliminar este problema tanto en el servidor como en la conexión del lado del cliente. ...
Instructions
En algunas situaciones, el servidor de NetWorker Server daemon.raw puede estar inundado con errores de conexión de autenticación del servicio de seguridad genérico (GSS) entre dos sistemas NetWorker:
MM/DD/YYYY HH:MM:SS 5 13 9 3635926784 26586 0 NSR_HOSTNAME nsrexecd SSL critical Unable to complete SSL handshake with nsrexecd on host 'CLIENT_NAME': An error occurred as a result of an SSL protocol failure. To complete this request, ensure that the certificate attributes for CLIENT_NAME and NSR_NAME match in the NSRLA database on each host.
O bien,
MM/DD/YYYY HH:mm:SS 5 12 10 11256 2900 0 NSR_NAME nsrexecd GSS critical An authentication request from CLIENT_NAME was denied. The 'NSR peer information' provided did not match the one stored by NSR_NAME. To accept this request, delete the 'NSR peer information' resource with the following attributes from NSR_NAME's NSRLA database: name: CLIENT_NAME; NW instance ID: CLIENT_ID; peer hostname: CLIENT_NAME MM/DD/YYYY HH:mm:SS 0 0 0 6384 6380 0 NSR_NAME nsrd NSR info Authentication Warning: Conflicting NSR peer information resources detected for host 'CLIENT_NAME'. Please check server daemon log for more information.
Desde el servidor de NetWorker, ejecute el siguiente comando en el símbolo del sistema como administrador o usuario raíz:
nsradmin -C -y -p nsrexecd "nsr peer information"
Este comando comprueba cada recurso de certificado par en el servidor de NetWorker nsrladb e intenta corregirlo. Esta operación también se debe ejecutar en los clientes que informan este problema. Esto puede estar ocurriendo para muchos clientes y se vuelve difícil aislar todos los diferentes hosts que requieren corrección.
El siguiente proceso se puede utilizar para determinar qué sistemas requieren la ejecución nsradmin -C -y o puede requerir la eliminación manual de la información de pares.
Hosts Linux:
- Renderizar el
daemon.raw:
nsr_render_log -S "1 weeks ago" /nsr/logs/daemon.raw > /nsr/logs/daemon.out 2<&1
NOTA: Este ejemplo solo representa los mensajes de la última 1 semana. Esto evita comprobar problemas de pares que pueden ya no estar ocurriendo. Otros filtros se explican en: NetWorker: Cómo utilizar nsr_render_log
- Cree un archivo que contenga solo los errores de conexión de autenticación de GSS:
cat /nsr/logs/daemon.out | grep "SSL handshake" > GSS_error.out
O:
cat /nsr/logs/daemon.out | grep "NSR peer information" > GSS_error.out
NOTA: Según el error de autenticación de GSS específico observado, cambie el
filter Utilizado por grep para recolectar el resultado requerido.
- Cree un archivo que contenga solo los nombres de cliente desde el archivo de salida de GSS:
cat GSS_error.out | awk {'print $24'} | sort > client.out
Este comando utiliza los comandos awk e print de Linux para imprimir solo el column que contiene el nombre del cliente del mensaje de error de conexión SSL completa. En función de la filter number Utilizado, modifique el número de impresión para generar los nombres de cliente correctamente si el ejemplo anterior no devuelve los resultados esperados.
- Revise el archivo mediante el comando único para generar una sola instancia de cada uno de los clientes que informan este problema:
cat client.out | uniq
Ejemplo:
[root@nsrserver logs]# nsr_render_log daemon.raw > daemon.out 2<&1
[root@nsrserver logs]# cat daemon.out | grep "SSL handshake" > GSS_error.out
[root@nsrserver logs]# cat GSS_error.out | awk {'print $24'} | sort > client.out
[root@nsrserver logs]# cat client.out | uniq
'client1':
'client2':
'client3':
'client4':
'client5':
'client6':
Se han cambiado los nombres de host anteriores; Ahora, en lugar de cientos de entradas en daemon.raw, solo una entrada por cada cliente informa este comportamiento.
- Conéctese a los sistemas cliente informados mediante SSH o el Protocolo de escritorio remoto (RDP) y utilice un símbolo del sistema administrativo/raíz para ejecutar:
nsradmin -C -y -p nsrexecd "nsr peer information"
La ejecución de este comando tanto en el servidor como en el cliente debe garantizar que el nsrladb en cada sistema contiene la información correcta del certificado del par. Si se detecta una incompatibilidad, el certificado se elimina y el siguiente intento de conexión entre el servidor y el cliente debe generar uno nuevo.
El nsradmin muestra qué hosts tienen una incompatibilidad y qué acción se tomó en el resultado.
La eliminación manual de la información de pares se detalla en el artículo NetWorker: Corrección de información incoherente de pares NSR
- Los archivos de salida se pueden eliminar una vez que ya no son necesarios:
rm -rf filename
Hosts de Windows:
- Abra un símbolo del sistema de Windows Powershell como administrador.
- Cambie los directorios al directorio de registro de NetWorker:
cd "C:\Program Files\EMC NetWorker\nsr\logs"
En el ejemplo se supone que se utiliza la ubicación de instalación predeterminada. Si instaló NetWorker en otra ubicación, modifique el comando según corresponda.
- Renderizar el
daemon.raw:
nsr_render_log -S "1 weeks ago" daemon.raw > daemon.out
NOTA: Este ejemplo solo representa los mensajes de la última 1 semana. Esto evita comprobar problemas de pares que pueden ya no estar ocurriendo. Otros filtros se explican en: NetWorker: Cómo utilizar nsr_render_log
- Cree un archivo que contenga solo los errores de conexión de autenticación de GSS:
elect-String -Path .\daemon.out -pattern "SSL handshake" > GSS_error.out
O:
Select-String -Path .\daemon.out -pattern "NSR peer information" > GSS_error.out
NOTA: Según el error de autenticación de GSS específico observado, cambie el "
filter" utilizado por grep para recolectar el resultado requerido.
- Genere una salida que muestre sistemas únicos que informan los errores de autenticación de GSS:
Get-Content .\GSS_error.out | %{ $_.Split(' ')[9]; } | Sort | Unique
filter number Utilizado, cambie el número de impresión para generar los nombres de cliente si el ejemplo anterior no devuelve los resultados esperados.
Ejemplo:
PS C:\Program Files\EMC NetWorker\nsr\logs> Get-Content .\GSS_error.out | %{ $_.Split(' ')[9]; } | Sort | Unique
13120
13932
2808
2828
2856
2900
2920
2956
5716
6088
6328
6380
6772
6852
8196
9388
networker-mc.emclab.local
redhat.emclab.local
winsrvr.emclab.local
- Conéctese a los sistemas cliente informados mediante SSH o RDP y utilice un símbolo del sistema administrativo/raíz para ejecutar:
nsradmin -C -y -p nsrexecd "nsr peer information"
La ejecución de este comando tanto en el servidor como en el cliente debe garantizar que el nsrladb en cada sistema contiene la información correcta del certificado del par. Si se detecta una incompatibilidad, el certificado se elimina y el siguiente intento de conexión entre el servidor y el cliente debe generar uno nuevo.
El nsradmin muestra qué hosts tienen una incompatibilidad y qué acción se tomó en el resultado.
La eliminación manual de la información de pares se detalla en el artículo NetWorker: Corrección de información incoherente de pares NSR
- Los archivos de salida se pueden eliminar una vez que ya no son necesarios.