Skripty wget Avamar – FLR – Linux FLR selžou, pokud je na virtuálním počítači nakonfigurována proxy HTTP.

Summary: Avamar – FLR – Nepodařilo se obnovit soubory prostřednictvím sítě kvůli cílovému virtuálnímu počítači se systémem Linux, který používá interní internetový server proxy pro provoz "wget". ...

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

V protokolu obnovení Avamar FLR se zobrazují následující údaje: 
avvmwfile Error <0000>: Failed to restore files via network, check proxy log for details
avvmwfile Error <0000>: assist_restore error. ret: 157
V protokolech Avamar proxy flr:   /usr/local/avamaravamarclient/logs/VmwareFlr.log vidíme, že v hostovaném operačním systému virtuálního počítače se spouští automaticky generovaný skript FLR "flrTBow8V".   Skript však nebyl úspěšný (Poznámka: pouze ukončovací kód 0 by znamenal úspěch, jakékoli jiné číslo je chybový kód) Ukončovací kód chyby v tomto protokolu byl 8. 
ExecuteProgram failed. script text:/bin/bash /root/flrTBow8V, Return: 0, script return code: 8
FLRBase:: ScriptUploadAndExecute failed

V protokolu skriptu Avamar FLR se zobrazí následující /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

Jedná se o problém s prostředím vyvolaný nestandardní konfigurací systému Linux. 

Ve výstupním souboru skriptu flr ( flrTBow8V.err ) vidíme, že provoz proudí přes internetovou http proxy internetproxy.example.com zákazníka. 

Problém: Z bezpečnostních důvodů smí stahovat soubory pro tuto konkrétní úlohu nebo skript FLR pouze cílový virtuální počítač.  

HTTP PROXY způsobí, že příchozí IP adresa NEODPOVÍDÁ IP adrese cílového virtuálního počítače a aktivuje stavový kód HTTP 500.   


Konfigurace:  
  V hostovaném operačním systému virtuálního počítače má konfigurační soubor wget ( ~/.wgetrc nebo /usr/local/etc/wgetrc) nakonfigurovanou HTTP proxy.    

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

Resolution

Řešení: 

Abychom tento problém vyřešili, musíme změnou šablony specifikace skriptu wget zajistit, aby skript FLR NEPOUŽÍVAL http proxy.  

     

Kroky:
1. Přihlaste se pomocí SSH k serveru proxy
Avamar 2. Upravte skript šablony wget v následujícím umístění: 
/usr/local/avamarclient/bin/wget_linux_script.template
3.  Přidejte příkazový přepínač wget "--no-proxy"

Příklad konfigurace před změnou:
#!/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

Příklad konfigurace PO změně:
#!/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. Restartujte webovou službu vmwareflr na serveru proxy.   (nebo restartujte 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.