Avamar – FLR – Linux FLR wget-skript misslyckas när HTTP-proxyn har konfigurerats på den virtuella datorn.

Summary: Avamar – FLR – kunde inte återställa filer via nätverket på grund av att den virtuella Linux-måldatorn använde en intern internetproxy för "wget"-trafik

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

I Avamar FLR-återställningsloggen ser vi följande: 
avvmwfile Error <0000>: Failed to restore files via network, check proxy log for details
avvmwfile Error <0000>: assist_restore error. ret: 157
På Avamar-proxyns flr-loggar:   /usr/local/avamaravamarclient/logs/VmwareFlr.log vi ser att flr-skript som genereras automatiskt "flrTBow8V" körs i gästoperativsystemet för virtuella maskiner.   Skriptet lyckades dock inte (obs! endast slutkod 0 skulle indikera att det lyckades, alla andra siffror är en felkod) Slutkoden för felet i den här loggen var 8. 
ExecuteProgram failed. script text:/bin/bash /root/flrTBow8V, Return: 0, script return code: 8
FLRBase:: ScriptUploadAndExecute failed

I Avamar FLR-skriptloggen ser vi följande: /usr/local/avamaravamarclient/logs/flrTBow8V.err 
<DATE>  https://Avamar-proxy-IP/download/<uuid>
Resolving internetproxy.example.com (internetproxy.example.com)... 10.2.3.4 
Connecting to internetproxy.example.com (internetproxy.example.com )|10.2.3.4|:3128... connected.

WARNING: cannot verify 10.1.4.50's certificate, issued by ‘/C=US/ST=California/L=Irvine/O=Dell Technologies/OU=Dell EMC/CN=Administrator’:
  Self-signed certificate encountered.
    WARNING: certificate common name ‘Administrator’ doesn't match requested host name ‘10.1.4.50’.Proxy request sent, awaiting response...
  HTTP/1.1 500 Failed to exec CGI
  Connection: close
  X-Frame-Options: SAMEORIGIN
  X-Content-Type-Options: nosniff
  Strict-Transport-Security: max-age=31536000;includeSubDomains
  X-XSS-Protection: 1; mode=block
  Cache-Control: must-revalidate,no-cache,no-store
  Content-Type: text/html;charset=iso-8859-1
  Content-Length: 368
  Server: Jetty(9.4.19.v20190610)
<DATE> ERROR 500: Failed to exec CGI.

ecode: "8"

Cause

Det här är ett miljöproblem som utlöses av icke-standardiserad Linux-konfiguration. 

I flr-skriptets utdatafil (flrTBow8V.err) kan vi se att trafiken flödar genom kundens http-proxy på internet internetproxy.example.com

Problem: Av säkerhetsskäl får endast den virtuella måldatorn ladda ner filer för just det här FLR-jobbet/-skriptet.  

HTTP-PROXYN gör att den inkommande IP-adressen INTE matchar den virtuella måldatorns IP-adress och utlöser HTTP-statuskoden 500.   


Konfigurering:  
  I den virtuella maskinens gästoperativsystem har en wget-konfigurationsfil ( ~/.wgetrc eller /usr/local/etc/wgetrc) en HTTP-proxy konfigurerad.    

https_proxy  =  http://internetproxy.example.com:3128
 

Resolution

Lösning: 

För att lösa det här problemet måste vi se till att FLR-skriptet INTE använder http-proxyn genom att ändra specifikationsmallen för wget-skriptet.  

     

Steg:
1. SSH till avamar-proxyservern
2. Redigera wget-mallskriptet på följande plats: 
/usr/local/avamarclient/bin/wget_linux_script.template
3.  Lägg till wget-kommandoväxeln "--no-proxy"

Exempel på konfiguration före ändring:
#!/bin/bash
logfile=$0.err
url=https://%s/download
token=%s
files=(%s)
exit_code=0
for file in "${files[@]}";do
        IFS='","' read filepath dest  <<< "$file"
        wget "$url/$filepath" -N -nH -x -P "$dest" --no-check-certificate -S --restrict-file-names=nocontrol  --no-parent --tries 5 --header="Authorization:$token" --cut-dirs=2 --content-disposition 2>>$logfile
        let exit_code=$exit_code+$?
        if Avamar_PlaceHolderFile=$filepath; then
           rm -f "$dest/$filepath"
        fi
done
# delete it self after finish execution
rm -f "$0"
echo "ecode: \"$exit_code\"" >> $logfile
exit $exit_code

Exempel på konfiguration EFTER ändring:
#!/bin/bash
logfile=$0.err
url=https://%s/download
token=%s
files=(%s)
exit_code=0
for file in "${files[@]}";do
        IFS='","' read filepath dest  <<< "$file"
        wget "$url/$filepath" -N --no-proxy -nH -x -P "$dest" --no-check-certificate -S --restrict-file-names=nocontrol  --no-parent --tries 5 --header="Authorization:$token" --cut-dirs=2 --content-disposition 2>>$logfile
        let exit_code=$exit_code+$?
        if Avamar_PlaceHolderFile=$filepath; then
           rm -f "$dest/$filepath"
        fi
done
# delete it self after finish execution
rm -f "$0"
echo "ecode: \"$exit_code\"" >> $logfile
exit $exit_code
4. Starta om vmwareflr-webbtjänsten på proxyn.   (eller starta om proxy)
192proxy:~ #  systemctl restart vmwareflr.service

Affected Products

Avamar

Products

Avamar Client for VMware
Article Properties
Article Number: 000183577
Article Type: Solution
Last Modified: 05 Sep 2021
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.