KVMLinuxゲスト仮想マシンのIPアドレスを見つけることは大したことではありません。仮想マシンへのコンソールアクセスがある場合は、 ip
を使用してKVMゲストのIPアドレスを簡単に見つけることができます。 指図。ただし、コンソールにアクセスしなくても、KVM仮想マシンのIPアドレスを特定することもできます。このチュートリアルでは、LinuxでKVM仮想マシン(ゲスト)のIPアドレスを見つけるためのいくつかの異なる方法を見ていきます。
KVM仮想マシンのIPアドレスを検索する
KVMゲスト仮想マシンのIPアドレスは、 virshから取得できます。 コマンドラインインターフェイス、または Virt-managerなどのKVMグラフィカル管理ツールを介して 。
まず、コマンドラインの方法を確認します。
A。 virshコマンドを使用してKVM仮想マシンのIPアドレスを検索します
バーシュ は、KVMゲスト仮想マシンを作成および管理するためのコマンドラインインターフェイスです。仮想マシンのIPアドレスを見つけるために次の2つのコマンドを提供します。
- net-dhcp-leases、
- domifaddr。
1。 Net-dhcp-leases
net-dhcp-leases
コマンドは、特定の仮想ネットワークおよび/または特定のネットワークインターフェイスのDHCPリース情報を取得します。
VMが実行されていることを確認してください!
まず、KVMホストで使用可能な仮想ネットワークを一覧表示します。これを行うには、次を実行します:
$ virsh net-list
出力例:
Name State Autostart Persistent -------------------------------------------- default active yes yes

ご覧のとおり、私の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があるため、次のコマンドを使用して、各KVM仮想マシンに割り当てられているIPアドレスを確認できます。
$ 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

仮想マシンにログインする必要はありません。 KVMホストの端末から、実行中のすべてのKVM仮想マシンのIPアドレスを簡単に見つけることができます。
2。 domifaddr
コマンドラインからKVM仮想マシンのIPアドレスを見つける別の方法は、「domifaddr」を使用してゲストオペレーティングシステムのIPアドレスをクエリすることです。 コマンド。
まず、実行中のKVMゲストマシンのリストを取得しましょう:
$ virsh list
出力例:
Id Name State ------------------------------ 1 centos8 running 2 centos8-uefi running
出力にあるように、2つのKVMゲストが実行されています。 「centos8」という名前のKVM仮想マシンのIPアドレスを見つけるには、次のコマンドを実行します。
$ virsh domifaddr centos8
出力例:
Name MAC address Protocol Address ------------------------------------------------------------------------------- vnet0 52:54:00:42:b6:5a ipv4 192.168.122.119/24

B。 arpコマンドを使用してKVM仮想マシンのIPアドレスを検索します
ARP 、 Aの略です ddress R esolution P rotocolは、特定のIPv4アドレスのネットワークネイバーのメディアアクセス制御アドレスを見つけるために使用されます。
カーネルのIPv4ネットワークネイバーキャッシュを操作または表示します。テーブルにエントリを追加したり、エントリを削除したり、現在のコンテンツを表示したりできます。
arpコマンドが使用できない場合は、「net-tools」をインストールしてください。 パッケージ。
Debian、Ubuntuの場合:
$ sudo apt install net-tools
CentOSでは、RHEL:
$ sudo dnf install net-tools
arp
を使用してLinuxでKVM仮想マシンのIPアドレスを検索するには コマンド、実行するだけです:
$ 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

virbr0
に気づきましたか 上記のコマンドのエントリ?これはKVM仮想ネットワークインターフェイスであるため、KVMVMのIPアドレスは192.168.122.119と192.168.122.20です。
実行中のVMが1つまたは少数であれば問題ありません。しかし、多数ある場合、どのMACアドレスが目的のMACアドレスに対応しているかをどのようにして知ることができますか?ここにdomiflist
およびdumpxml
コマンドが便利です。
実行中の仮想マシンのリストを検索します:
$ virsh list
次のコマンドを使用して、実行中のVM(centos8など)のMACアドレスを取得します。
$ virsh domiflist centos8
出力例:
Interface Type Source Model MAC ------------------------------------------------------------- vnet0 network default virtio 52:54:00:42:b6:5a
最後に、上記のMACアドレスに関連付けられているIPアドレスを見つけます。
$ 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

C。 Virt-managerGUIを使用してKVM仮想マシンのIPアドレスを検索する
Virt-manager Virshコマンドラインユーティリティのグラフィカルな代替手段です。すでにKVMホストにインストールしている場合は、実行中のKVM仮想マシンのIPアドレスを見つけるのは非常に簡単です!
Virt-managerアプリケーションを開き、実行中の仮想マシンをダブルクリックします。次に、「仮想ハードの詳細を表示」をクリックします メニューバーのアイコン。最後に、「NIC:xx:xx:xx」をクリックします。 リストからデバイスを選択すると、右側にKVMVMのIPアドレスが表示されます。

これがお役に立てば幸いです。
関連記事:
- ホストからVagrantMachineIPアドレスを見つける方法
BrettSaylesによる注目の画像 ペクセルから 。