Italian

 View Only
  • 1.  Ciclare sui MAC Address delle interfacce di rete di una VM

    Posted May 28, 2024 01:33 AM

    Buongiorno a tutti,

    in realtà ho già posto la questione in inglese, e se mi è concesso chiedo anche a voi qui.

    Avrei la necessità di elencare i MAC Address di ciascuna NIC di una VM per identificarne il corrispondente NAME all'interno del 70-persistent-net.rules (lato Linux) e modificare opportunamente il device nel file di configurazione ifcfg-eth*.

    Questo perché, se copio manualmente i file di una VM per ricavarne un'altra per test, avrò due MAC identici e il vCenter ne genera uno nuovo.
    Poi Red Hat mi assegna una nuova interfaccia per il nuovo MAC e io dovrei fare questo giochetto manualmente per diverse macchine.

    Un loop potrebbe essere:

    Foreach-Object {

       Get-VM "VM_NAME" | %{Get-NetworkAdapter -VM $_ | Select MacAddress}

    }

     

    Mi sapreste dare una mano?



  • 2.  RE: Ciclare sui MAC Address delle interfacce di rete di una VM

    Posted May 28, 2024 08:51 AM

    se non ricordo male basterebbe cancellare quel file 70-etcetc etc perché il sistema operativo lo ricrei col mac address corretto



    ------------------------------
    Alessandro Tinivelli | blog.tinivelli.com | www.revobyte.it | VMCE 2024 | Veeam Legend | VCP-DCV 2023 | VVSPHT 2023 | vExpert 2024
    ------------------------------



  • 3.  RE: Ciclare sui MAC Address delle interfacce di rete di una VM

    Posted May 28, 2024 09:17 AM
    Si, ho già previsto la cancellazione del file 70-persistent-net.rules
    tramite Invoke-Script, file che al riavvio dell'OS genererà una nuova riga
    col nuovo MAC e la nuova interfaccia (che riparte dall'eth0 se ne esiste
    già una con altro nome, ES. ifcfc-pubblica).
    Sto cercando di automatizzare la cosa.




  • 4.  RE: Ciclare sui MAC Address delle interfacce di rete di una VM

    Posted Jul 07, 2024 04:01 PM

    Risolto (anche con l'escape del single quote).

    # da inserire in testa, nella sezione definizione variabili

    $70persistentnetrules="/etc/udev/rules.d/70-persistent-net.rules"

    # da valorizzare poco prima di inviare il comando alla VM con 

    $stringa_da_eseguire = "$stringa_da_eseguire if [ -e `'$70persistentnetrules`' ]; then "

    $stringa_da_eseguire = "$stringa_da_eseguire    mv `'$70persistentnetrules`' `'$70persistentnetrules`'_old; "

    $stringa_da_eseguire = "$stringa_da_eseguire fi"

    Get-VM $vmname | Invoke-VMScript -ScriptText "$stringa_da_eseguire" -GuestCredential $credential