Поиск по сайту:

Найдите IP-адрес виртуальной машины KVM

Различные способы определения IP-адреса виртуальной машины KVM в Linux

Найти IP-адрес гостевой виртуальной машины KVM Linux не составляет большого труда. Если у вас есть консольный доступ к виртуальной машине, вы можете легко определить IP-адрес гостя KVM с помощью команды ip. Однако также можно определить IP-адрес виртуальной машины KVM без доступа к ее консоли. В этом руководстве мы рассмотрим несколько различных способов найти IP-адрес виртуальной машины KVM (гостевой) в Linux.

Найдите IP-адрес виртуальной машины KVM

Мы можем найти IP-адрес гостевой виртуальной машины KVM либо из интерфейса командной строки virsh, либо с помощью любых инструментов графического управления KVM, таких как Virt-manager.

Сначала мы увидим способ командной строки.

А. Найдите IP-адрес виртуальных машин KVM с помощью команды virsh.

Virsh — это интерфейс командной строки для создания и управления гостевыми виртуальными машинами KVM. Он предоставляет следующие две команды для поиска IP-адреса виртуальной машины:

  1. чистая DHCP-аренда,
  2. домифаддр.

1. Чистая DHCP-аренда

Команда net-dhcp-leases получает информацию об аренде DHCP для заданной виртуальной сети и/или заданного сетевого интерфейса.

Убедитесь, что ваша виртуальная машина работает!

Сначала перечислите доступные виртуальные сети на хосте KVM. Для этого запустите:

virsh net-list

Пример вывода:

 Name      State    Autostart   Persistent
--------------------------------------------
 default   active   yes         yes

Список доступных виртуальных сетей на хосте KVM

Как видите, мой KVM-хост имеет виртуальную сеть с именем default. Это частный виртуальный сетевой мост, созданный KVM по умолчанию. Он предоставляет собственную подсеть и DHCP для настройки гостевой сети и использует NAT для доступа к сети хоста.

Давайте посмотрим основную информацию о виртуальной сети default:

virsh net-info default

Пример вывода:

Name:           default
UUID:           ce25d978-e455-47a6-b545-51d01bcb9e6f
Active:         yes
Persistent:     yes
Autostart:      yes
Bridge:         virbr0

Поскольку у KVM есть собственный DHCP, мы можем узнать IP-адрес, назначенный каждой виртуальной машине KVM, с помощью этой команды:

virsh net-dhcp-leases default

Пример вывода:

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

Найдите IP-адрес виртуальных машин KVM с помощью virsh

Вам не нужно входить в виртуальную машину. С терминала хоста KVM мы можем легко найти IP-адреса всех работающих виртуальных машин KVM.

2. домифаддр

Другой способ узнать IP-адрес виртуальной машины KVM из командной строки — запросить IP-адрес гостевой операционной системы с помощью команды “domifaddr”.

Для начала давайте получим список работающих гостевых KVM-машин:

virsh list

Пример вывода:

Id   Name           State
------------------------------
 1    centos8        running
 2    centos8-uefi   running

Как вы видите в выводе, работают два гостя KVM! Чтобы найти IP-адрес виртуальной машины KVM с именем «centos8», выполните:

virsh domifaddr centos8

Пример вывода:

Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
 vnet0      52:54:00:42:b6:5a    ipv4         192.168.122.119/24

Найдите IP-адрес виртуальных машин KVM с помощью команды virsh domifaddr.

Б. Определите IP-адрес виртуальных машин KVM с помощью команды arp.

ARP, означает Адрес, Rрешение, Pпротокол, используется для поиска адреса управления доступом к среде передачи сетевой сосед для данного IPv4-адреса.

Он манипулирует или отображает кэш соседей сети IPv4 ядра. Он может добавлять записи в таблицу, удалять одну или отображать текущее содержимое.

Если команда arp недоступна, установите пакет net-tools.

В Дебиане, Убунту:

sudo apt install net-tools

В CentOS RHEL:

sudo dnf install net-tools

Чтобы найти IP-адрес виртуальной машины KVM в Linux с помощью команды arp, просто запустите:

arp -n

Пример вывода:

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

Найдите IP-адрес виртуальной машины KVM с помощью команды arp

Вы заметили записи virbr0 в приведенной выше команде? Это наш виртуальный сетевой интерфейс KVM, поэтому IP-адреса виртуальных машин KVM — 192.168.122.119 и 192.168.122.20.

Это нормально, если работает только одна или несколько виртуальных машин. Но если у вас их много, как узнать, какой MAC-адрес соответствует тому, который вам нужен? Вот тут-то и пригодятся команды domiflist и dumpxml.

Найдите список запущенных виртуальных машин:

virsh list

Получите MAC-адрес любой работающей виртуальной машины, например centos8, с помощью команды:

virsh domiflist centos8

Пример вывода:

 Interface   Type      Source    Model    MAC
-------------------------------------------------------------
 vnet0       network   default   virtio   52:54:00:42:b6:5a

Наконец, найдите IP-адрес, связанный с указанным выше Mac-адресом:

arp -n | grep 52:54:00:42:b6:5a

Или,

arp -an | grep 52:54:00:42:b6:5a

Пример вывода:

? (192.168.122.119) at 52:54:00:42:b6:5a [ether] on virbr0

Найдите IP-адрес виртуальных машин KVM с помощью команды arp.

C. Просмотр IP-адреса виртуальных машин KVM с помощью графического интерфейса Virt-manager.

Virt-manager — это графическая альтернатива утилите командной строки Virsh. Если вы уже установили его на свой KVM-хост, найти IP-адрес любой работающей виртуальной машины KVM невероятно легко!

Откройте приложение Virt-manager и дважды щелкните любую работающую виртуальную машину. Затем нажмите значок Показать виртуальные данные в строке меню. Наконец, нажмите на устройство “NIC :xx:xx:xx” в списке, и справа вы увидите IP-адрес виртуальной машины KVM.

Узнайте IP-адрес виртуальных машин KVM с помощью Вирт-менеджера

Это несколько способов определить IP-адрес виртуальной машины KVM в Linux. Надеюсь, это поможет.

Связанное чтение:

  • Как узнать IP-адрес Vagrant машины с хоста

Избранное изображение: Бретт Сейлс из Pexels.

Статьи по данной тематике