SSH를 통해 연결할 수 있는 KVM 가상 머신의 IP 주소를 어떻게 찾나요?

SSH를 통해 연결할 수 있는 KVM 가상 머신의 IP 주소를 어떻게 찾나요?

나는 이 가이드를 따랐습니다(Ubuntu 11.10에서 KVM을 사용한 가상화) Ubuntu 11.10 서버에서 KVM(가상 머신 소프트웨어)을 설정합니다. 그러나 VM을 생성할 때 VM의 IP 주소를 설정하지 않고 대신 다음을 사용했습니다.

vmbuilder kvm ubuntu --suite=oneiric --flavour=virtual --arch=amd64 --mirror=http://de.archive.ubuntu.com/ubuntu -o --libvirt=qemu:///system --ip=192.168.0.101 --gw=192.168.0.1 --part=vmbuilder.partition --templates=mytemplates --user=administrator --name=Administrator --pass=howtoforge --addpkg=vim-nox --addpkg=unattended-upgrades --addpkg=acpid --firstboot=/var/lib/libvirt/images/vm1/boot.sh --mem=256 --hostname=vm1 --bridge=br0

나는 다음을 사용합니다. (명령줄에서 "--ip=192.168.0.101 --gw=192.168.0.1"을 제거했습니다)

vmbuilder kvm ubuntu --suite=oneiric --flavour=virtual --arch=amd64 --mirror=http://de.archive.ubuntu.com/ubuntu -o --libvirt=qemu:///system --part=vmbuilder.partition --templates=mytemplates --user=administrator --name=Administrator --pass=howtoforge --addpkg=vim-nox --addpkg=unattended-upgrades --addpkg=acpid --firstboot=/var/lib/libvirt/images/vm1/boot.sh --mem=256 --hostname=vm1 --bridge=br0

가이드에 지시된 대로 브리지를 설정했고 새 가상 머신의 인터페이스가 브리지에 연결되었습니다.

KVM이 DHCP를 통해 내 VM을 할당한다고 가정하지만 새 VM의 IP 주소에 대한 정보가 없습니다. VM의 IP 주소와 새 VM에 대한 SSH를 어디서 찾을 수 있습니까? 감사해요.

[참고: 가상 머신의 IP 주소를 모르고 가상 머신에 성공적으로 로그인했습니다. 사용"Xming + SSH 및 X 그래픽 전달그러나 내 VM에는 DHCP IP 주소가 할당되지 않았습니다. 위의 문제 외에도 다른 질문이 있습니다. Xming을 사용하여 "가상 뷰어"를 통해 로그인할 때 최소한 내 가상 머신 IP 주소를 볼 수 있도록 내 VM에서 DCHP를 활성화하는 방법 거기 있어요. ]

답변1

이 시도:

virsh net-list
virsh net-dhcp-leases <net-name>   <--- net-name from above command

MAC 주소를 알고 있는 경우 다음 형식을 사용할 수도 있습니다.

virsh net-dhcp-leases <net-name> --mac <mac-address>

MAC 주소는 dumpxml 명령을 통해 찾을 수 있습니다. 바라보다kvm 호스트의 어떤 가상 인터페이스가 가상 머신에 속하는지 확인하는 방법이 있습니까?

답변2

arp -n실행하여 VM의 선택된 IP를 볼 수 있습니다. 이렇게 하면 게스트 VM에 로그인하고 를 입력할 필요가 없습니다 ifconfig.

다음 블로그에서는 더 자세한 내용을 제공하며 가상 머신의 주소를 자동으로 찾는 Perl 스크립트가 포함되어 있습니다.

팁: 가상 머신의 IP 주소 찾기

답변3

이것은 오래된 질문인 것 같지만 현재 버전에서는 virshnat나 브리지된 개인 네트워크를 사용하는 경우 이 작업이 훨씬 쉬워집니다. steak(라우팅된) 개인 네트워크(일명 "NAT")에 이름이 지정된 가상 머신이 있습니다 . 내장 메커니즘에 의해 할당된 IP를 찾으려면 두 가지 명령만 필요합니다.

$ sudo virsh list
 Id    Name                           State
----------------------------------------------------
 21    steak                          running

$ sudo virsh domifaddr steak
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
 vnet0      76:0c:28:ab:0e:ee    ipv4         10.14.1.1/24

eggs일반 네트워크(하이퍼바이저 호스트의 브리지 장치에 연결됨)에 브리지되는 또 다른 가상 머신( )이 있습니다 . Libvirt는 주소를 할당하지 않고 내 네트워크의 DHCP 서버에서 주소를 가져옵니다. 내 경우에는 동적 DNS도 업데이트합니다. 이는 해당 가상 머신의 출력이 없을 때 domifadd가능합니다 . 따라서 기본적으로 다른 시스템과 마찬가지로 주소를 찾아야 합니다. arp 테이블에서 주소를 찾는 것이 아마도 가장 쉬울 것입니다. 즉 ip neighbour, 이제 arp더 이상 사용되지 않으며 일부 배포판에는 더 이상 나타나지 않습니다. 다행스럽게도 모음을 추가하여 철자를 쓸 수 없는 사람들을 위해 ip neighand ip n(또는 ip neighbor)와 같은 짧은 버전을 사용할 수도 있습니다. ;) 아래에서는 domiflistMAC 주소( br0"소스" 열에 연결되어 있음)를 찾은 다음 arp 테이블에서 찾는 데 사용합니다 .

$ sudo virsh domifaddr eggs
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------

$ sudo virsh domiflist eggs
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet0      bridge     br0        virtio      52:54:00:2c:ac:ee

$ ip neigh | grep -i 52:54:00:2c:ac:ee
192.168.0.226 dev br0 lladdr 52:54:00:2c:ac:ee REACHABLE
$ host eggs
eggs.home.domain.com has address 192.168.0.226

답변4

가상 머신의 IP 주소를 보려면 다음을 실행하세요.

$ arp -n

시스템에 arp가 설치되어 있지 않으면 패키지를 설치하기만 하면 됩니다 net-tools.

관련 정보