Trovare l'indirizzo IP di una macchina virtuale guest KVM Linux non è un grosso problema. Se hai accesso da console alla macchina virtuale, puoi facilmente trovare l'indirizzo IP del guest KVM usando ip
comando. Tuttavia, è anche possibile identificare un indirizzo IP di una macchina virtuale KVM senza dover accedere alla sua console. In questo tutorial, vedremo alcuni modi diversi per trovare l'indirizzo IP di una macchina virtuale KVM (guest) in Linux.
Trova l'indirizzo IP di una macchina virtuale KVM
Possiamo trovare l'indirizzo IP di una macchina virtuale guest KVM sia da virsh interfaccia a riga di comando o tramite qualsiasi strumento di gestione grafica KVM come Virt-manager .
Per prima cosa, vedremo il modo della riga di comando.
A. Trova l'indirizzo IP delle macchine virtuali KVM usando il comando virsh
Virsh è un'interfaccia a riga di comando per la creazione e la gestione di macchine virtuali guest KVM. Fornisce i seguenti due comandi per trovare l'indirizzo IP della macchina virtuale:
- affitti-net-dhcp,
- domifaddr.
1. Net-dhcp-locazioni
Il net-dhcp-leases
Il comando recupera le informazioni sui lease DHCP per una determinata rete virtuale e/o una determinata interfaccia di rete.
Assicurati che la tua VM sia in esecuzione!
Innanzitutto, elenca le reti virtuali disponibili nell'host KVM. Per farlo, esegui:
$ virsh net-list
Risultato di esempio:
Name State Autostart Persistent -------------------------------------------- default active yes yes
Come puoi vedere, il mio host KVM ha una rete virtuale denominata default
. Questo è un bridge di rete virtuale privato creato da KVM per impostazione predefinita. Fornisce la propria sottorete e DHCP per configurare la rete dell'ospite e utilizza NAT per accedere alla rete host.
Vediamo le informazioni di base per il default
rete virtuale:
$ virsh net-info default
Risultato di esempio:
Name: default UUID: ce25d978-e455-47a6-b545-51d01bcb9e6f Active: yes Persistent: yes Autostart: yes Bridge: virbr0
Poiché KVM ha il proprio DHCP, possiamo scoprire l'indirizzo IP che è stato assegnato a ciascuna macchina virtuale KVM usando questo comando:
$ virsh net-dhcp-leases default
Risultato di esempio:
Expiry Time MAC address Protocol IP address Hostname Client ID or DUID --------------------------------------------------------------------------------------------------------------- 2020-07-25 18:51:53 52:54:00:42:b6:5a ipv4 192.168.122.119/24 centos8 01:52:54:00:42:b6:5a 2020-07-25 18:54:04 52:54:00:61:2a:88 ipv4 192.168.122.20/24 centos8uefi 01:52:54:00:61:2a:88
Non è necessario accedere alla macchina virtuale. Dal terminale dell'host KVM, possiamo facilmente trovare gli indirizzi IP di tutte le macchine virtuali KVM in esecuzione.
2. domifadr
L'altro modo per trovare l'indirizzo IP della macchina virtuale KVM dalla riga di comando è interrogare l'indirizzo IP del sistema operativo guest utilizzando "domifaddr" comando.
Per prima cosa, otteniamo l'elenco delle macchine guest KVM in esecuzione:
$ virsh list
Risultato di esempio:
Id Name State ------------------------------ 1 centos8 running 2 centos8-uefi running
Come puoi vedere nell'output, ci sono due guest KVM in esecuzione! Per trovare l'indirizzo IP di una macchina virtuale KVM denominata "centos8", eseguire:
$ virsh domifaddr centos8
Risultato di esempio:
Name MAC address Protocol Address ------------------------------------------------------------------------------- vnet0 52:54:00:42:b6:5a ipv4 192.168.122.119/24
B. Trova l'indirizzo IP delle macchine virtuali KVM usando il comando arp
ARP , sta per A indirizzo R soluzione P rotocol, viene utilizzato per trovare l'indirizzo di controllo dell'accesso ai media di un vicino di rete per un determinato indirizzo IPv4.
Manipola o visualizza la cache vicina di rete IPv4 del kernel. Può aggiungere voci alla tabella, eliminarne una o visualizzare il contenuto corrente.
Se il comando arp non è disponibile, installa “net-tools” pacchetto.
Su Debian, Ubuntu:
$ sudo apt install net-tools
Su CentOS, RHEL:
$ sudo dnf install net-tools
Per trovare l'indirizzo IP di una macchina virtuale KVM in Linux usando arp
comando, esegui semplicemente:
$ arp -n
Risultato di esempio:
Address HWtype HWaddress Flags Mask Iface 192.168.122.20 ether 52:54:00:61:2a:88 C virbr0 192.168.225.34 ether 7c:d3:0a:0c:6b:9a C wlp9s0 192.168.225.1 ether 12:b0:25:2b:ec:19 C wlp9s0 192.168.122.119 ether 52:54:00:42:b6:5a C virbr0
Hai notato il virbr0
voci nel comando sopra? È la nostra interfaccia di rete virtuale KVM, quindi l'indirizzo IP delle VM KVM è 192.168.122.119 e 192.168.122.20.
Va bene se ci sono solo una o poche macchine virtuali in esecuzione. Ma se ne hai molti, come fai a sapere quale indirizzo MAC corrisponde a quello che desideri? Ecco dove si trova il domiflist
e dumpxml
i comandi tornano utili.
Trova l'elenco delle macchine virtuali in esecuzione:
$ virsh list
Ottieni l'indirizzo MAC di qualsiasi VM in esecuzione, ad esempio centos8, usando il comando:
$ virsh domiflist centos8
Risultato di esempio:
Interface Type Source Model MAC ------------------------------------------------------------- vnet0 network default virtio 52:54:00:42:b6:5a
Infine trova l'indirizzo IP associato all'indirizzo mac sopra:
$ arp -n | grep 52:54:00:42:b6:5a
Oppure,
$ arp -an | grep 52:54:00:42:b6:5a
Risultato di esempio:
? (192.168.122.119) at 52:54:00:42:b6:5a [ether] on virbr0
C. Trova l'indirizzo IP delle macchine virtuali KVM utilizzando la GUI di Virt-manager
Gestore virtuale è un'alternativa grafica all'utilità della riga di comando di Virsh. Se l'hai già installato nel tuo host KVM, trovare l'indirizzo IP di qualsiasi macchina virtuale KVM in esecuzione è incredibilmente facile!
Apri l'applicazione Virt-manager e fai doppio clic su qualsiasi macchina virtuale in esecuzione. Quindi fai clic su "Mostra dettagli virtuali virtuali" icona nella barra dei menu. Infine, fai clic su "NIC :xx:xx:xx" dispositivo dall'elenco e vedrai l'indirizzo IP di KVM VM sul lato destro.
Spero che questo aiuti.
Lettura correlata:
- Come trovare l'indirizzo IP della macchina Vagrant dall'host
Immagine in primo piano di Brett Sayles da Pexel .