NetWorker: Identificer klienter, der kræver rydning af peer-oplysninger "Fejl-SSL-protokolfejl"
Summary: NetWorker-serverens /nsr/logs/daemon.raw oversvømmes med "Kan ikke fuldføre SSL-handshake med nsrexecd på værten 'CLIENT_NAME": Der opstod en fejl som følge af en SSL-protokolfejl." Bortset fra et muligt forbindelsesproblem gør dette det vanskeligt at analysere logfilerne til anden fejlfinding. Denne artikel fremhæver trin, der kan følges for at løse dette problem fra både serveren og klientsiden. ...
Instructions
I nogle situationer vil NetWorker-serverens daemon.raw kan blive oversvømmet med GSS-godkendelsesforbindelsesfejl (Generic Security Service) mellem to NetWorker-systemer:
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.
Eller
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.
Fra NetWorker-serveren, når rod- eller administratorkommandoprompten køres:
nsradmin -C -y -p nsrexecd "nsr peer information"
Denne kommando kontrollerer hver peer-certifikatressource i NetWorker-serverens nsrladb og forsøger at rette op på det. Denne handling skal også køres på de klienter, der rapporterer dette problem. Dette kan forekomme for mange klienter, og det bliver svært at isolere alle de forskellige værter, der kræver korrektion.
Følgende proces kan bruges til at bestemme, hvilke systemer der skal køres nsradmin -C -y eller kan kræve manuel sletning af peer-oplysninger.
Linux-værter:
- Gengiv
daemon.raw:
nsr_render_log -S "1 weeks ago" /nsr/logs/daemon.raw > /nsr/logs/daemon.out 2<&1
BEMÆRK: Dette eksempel gengiver kun den sidste 1 uges meddelelser. Dette undgår at kontrollere for peer-problemer, som muligvis ikke længere forekommer. Andre filtre forklares i: NetWorker: Sådan bruger du nsr_render_log
- Opret en fil, der kun indeholder GSS-godkendelsesforbindelsesfejl:
cat /nsr/logs/daemon.out | grep "SSL handshake" > GSS_error.out
Eller:
cat /nsr/logs/daemon.out | grep "NSR peer information" > GSS_error.out
BEMÆRK: Afhængigt af den specifikke GSS-godkendelsesfejl, der observeres, skal du ændre
filter Brugt af grep for at indsamle det krævede output.
- Opret en fil, der kun indeholder klientnavnene fra GSS-outputfilen:
cat GSS_error.out | awk {'print $24'} | sort > client.out
Denne kommando bruger Linux' awk- og udskrivningskommandoer til kun at udskrive column , der indeholder klientnavnet fra fejlmeddelelsen om den fulde SSL-forbindelse. Afhængigt af filter number brugt, skal du ændre udskriftsnummeret for at udskrive klientnavnene korrekt, hvis ovenstående eksempel ikke returnerer de forventede resultater.
- Gennemse filen ved hjælp af den unikke kommando for kun at sende én forekomst af hver af de klienter, der rapporterer dette problem:
cat client.out | uniq
Eksempel:
[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':
Ovenstående værtsnavne er blevet ændret; Nu i stedet for hundredvis af poster i daemon.raw, rapporterer kun én post for hver klient denne funktionsmåde.
- Opret forbindelse til de klientsystemer, der er rapporteret ved hjælp af SSH eller RDP (Remote Desktop Protocol), og brug en rod-/administrationskommandoprompt til at køre:
nsradmin -C -y -p nsrexecd "nsr peer information"
Hvis du kører denne kommando på både serveren og klienten, bør det sikre, at nsrladb på hvert system indeholder de korrekte peer-certifikatoplysninger. Hvis der registreres en uoverensstemmelse, slettes certifikatet, og det næste forsøg på at oprette forbindelse mellem serveren og klienten bør generere et nyt.
Den nsradmin Kommandoen viser, hvilke værter der har en uoverensstemmelse, og hvilken handling der blev udført i outputtet.
Manuel sletning af peer-oplysninger er beskrevet i artiklen NetWorker: Rettelse af inkonsistente NSR-peeroplysninger
- Outputfilerne kan slettes, når der ikke længere er brug for dem:
rm -rf filename
Windows-værter:
- Åbn en Windows PowerShell-prompt som administrator.
- Skift mapper til NetWorker-logmappen:
cd "C:\Program Files\EMC NetWorker\nsr\logs"
I eksemplet antages det, at standardinstallationsplaceringen bruges. Hvis du har installeret NetWorker et andet sted, skal du ændre kommandoen i overensstemmelse hermed.
- Gengiv
daemon.raw:
nsr_render_log -S "1 weeks ago" daemon.raw > daemon.out
BEMÆRK: Dette eksempel gengiver kun den sidste 1 uges meddelelser. Dette undgår at kontrollere for peer-problemer, som muligvis ikke længere forekommer. Andre filtre forklares i: NetWorker: Sådan bruger du nsr_render_log
- Opret en fil, der kun indeholder GSS-godkendelsesforbindelsesfejl:
elect-String -Path .\daemon.out -pattern "SSL handshake" > GSS_error.out
Eller:
Select-String -Path .\daemon.out -pattern "NSR peer information" > GSS_error.out
BEMÆRK: Afhængigt af den specifikke GSS-godkendelsesfejl, der observeres, skal du ændre "
filter" brugt af grep for at indsamle det krævede output.
- Generer output, der viser unikke systemer, der rapporterer GSS-godkendelsesfejl:
Get-Content .\GSS_error.out | %{ $_.Split(' ')[9]; } | Sort | Unique
filter number brugt, skal du ændre udskriftsnummeret for at udskrive klientnavnene, hvis ovenstående eksempel ikke returnerer de forventede resultater.
Eksempel:
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
- Opret forbindelse til de klientsystemer, der er rapporteret ved brug af SSH eller RDP, og brug en rod-/administrativ kommandoprompt til at køre:
nsradmin -C -y -p nsrexecd "nsr peer information"
Hvis du kører denne kommando på både serveren og klienten, bør det sikre, at nsrladb på hvert system indeholder de korrekte peer-certifikatoplysninger. Hvis der registreres en uoverensstemmelse, slettes certifikatet, og det næste forsøg på at oprette forbindelse mellem serveren og klienten bør generere et nyt.
Den nsradmin Kommandoen viser, hvilke værter der har en uoverensstemmelse, og hvilken handling der blev udført i outputtet.
Manuel sletning af peer-oplysninger er beskrevet i artiklen NetWorker: Rettelse af inkonsistente NSR-peeroplysninger
- Outputfilerne kan slettes, når der ikke længere er brug for dem.