Найдите 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-адреса виртуальной машины:
- чистая DHCP-аренда,
- домифаддр.
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.