Postępuję zgodnie z tym przewodnikiem ( Wirtualizacja z KVM na Ubuntu 11.10 ), aby skonfigurować KVM (oprogramowanie maszyn wirtualnych) na moim serwerze Ubuntu 11.10. Jednak nie utworzyłem adresu IP mojej maszyny wirtualnej podczas tworzenia maszyny wirtualnej, zamiast używać:
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
Użyłem: (usunąłem „--ip = 192.168.0.101 - gw = 192.168.0.1” z wiersza poleceń)
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
Skonfigurowałem mostek sieciowy zgodnie z instrukcją, a interfejs nowej maszyny wirtualnej jest podłączony do mostka sieciowego.
Zakładam, że KVM przypisze moją maszynę wirtualną przez DHCP, ale nie mam informacji na temat adresu IP mojej nowej maszyny wirtualnej, gdzie mogę znaleźć adres IP maszyny wirtualnej i SSH na nowej maszynie wirtualnej? Dzięki.
[Uwagi: Udało mi się zalogować do maszyny wirtualnej, nie znając adresu IP maszyny wirtualnej. Używanie „ Xming + SSH z X graficznym przekazywaniem ” Ale do mojej maszyny wirtualnej nie jest przypisany adres IP DHCP. Oprócz powyższego pytania, mam inne pytanie: jak włączyć DCHP na mojej maszynie wirtualnej, więc kiedy używam Xming do logowania przez „ virt viewer „Mogę przynajmniej zobaczyć mój adres IP.]
źródło
Odpowiedzi:
Możesz uruchomić,
arp -n
aby zobaczyć, jaki adres IP odbiera twoja maszyna wirtualna. W ten sposób nie musisz logować się do gościa vm i pisaćifconfig
.Poniższy blog zawiera więcej szczegółów i zawiera skrypt perla, który automatyzuje wyszukiwanie adresu maszyny wirtualnej.
Wskazówka: Znajdź adres IP maszyny wirtualnej
źródło
Spróbuj tego:
Możesz również skorzystać z poniższego formularza, jeśli znasz adres MAC:
Adres MAC można znaleźć w poleceniu dumpxml. Zobacz Czy istnieje sposób ustalenia, który interfejs wirtualny należy do maszyny wirtualnej na hoście KVM?
źródło
sudo
Myślę, że to stare pytanie, ale obecne wersje
virsh
znacznie to ułatwiają, jeśli używasz nat lub mostowej sieci prywatnej. Mam maszynę wirtualną o nazwiesteak
w (routowanej) sieci prywatnej (AKA „NAT”). To tylko dwa polecenia, aby dowiedzieć się, jaki adres IP został przypisany przez wbudowany mechanizm:Mam także inną maszynę wirtualną (
eggs
), która jest połączona z normalną siecią (podłączoną do urządzenia mostu na hoście hypervisora). Libvirt nie przypisuje mu adresu; pobiera adres z serwera DHCP mojej sieci, który również aktualizuje dynamiczny DNS w moim przypadku. Jest to jedna prawdopodobna możliwość, gdy nie ma danych wyjściowychdomifadd
dla tej maszyny wirtualnej. Tak więc w zasadzie musisz znaleźć adres jak na każdej innej maszynie - znalezienie go w tablicy arp jest prawdopodobnie najłatwiejsze - co oznaczaip neighbour
teraz, ponieważarp
jest przestarzałe i nie występuje już w niektórych dystrybucjach. Na szczęście dla tych z nas, którzy nie literują rzeczy za pomocą dodatkowych vouwels, możesz także używać krótszych wersji, takich jakip neigh
iip n
(lubip neighbor
). ;) Poniżej używamdomiflist
do znalezienia adresu MAC (zwróć uwagę, że jest on podłączonybr0
w kolumnie „source”), a następnie znajdź to w tabeli arp.źródło
lista vms:
pobierz vm MAC z nazwy
wykonaj skanowanie swojej podsieci vm za pomocą grep (MAC musi być pisany wielkimi literami)
wynik
źródło
Jeśli masz dostęp konsoli do maszyny Wirtualnej, po prostu uruchom go
ifconfig -a
na gościu. Gdy tam jesteś, sprawdź, czy gość ma połączenie sieciowe i czysshd
działa.Jeśli nie masz dostępu do konsoli, prawdopodobnie adres IP został przypisany przez DHCP. Poszukaj innej maszyny, która również otrzymuje przypisanie DHCP, być może hosta, a następnie dodaj 1 do adresu i spróbuj. W rzeczywistości wypróbuj kolejne 5 lub 6 adresów. Jeśli to nie zadziała, oznacza to, że masz dużą aktywną sieć i będziesz musiał wypróbować każdy adres IP w podsieci, lub występuje problem z siecią na niższym poziomie, taki jak brak trasy do hosta lub dwa hosty z tym samym adresem MAC. A może po prostu nie
sshd
uciekłeś.Korzystanie z konsoli jest najprostszym sposobem rozwiązania tego problemu.
źródło
Aby zobaczyć adres IP maszyny wirtualnej, po prostu uruchom:
$ arp -n
Jeśli arp nie jest zainstalowany w twoim systemie, po prostu zainstaluj
net-tools
pakiet.źródło
Możliwe jest połączenie za pomocą wbudowanego VNC
virt-manager
, a ty logujesz się tty, znajdź adres IP za pomocąifconfig eth0
. Zwykle eth0, chyba że określono inaczej.źródło
sudo nmap -sn 192.168.5.0/24 | awk '/Nmap scan report/{printf $5;printf " ";getline;getline;print $3;}' | fgrep -if <(virsh list --name | grep . | while read n; do virsh domiflist $n; done | grep --only-matching ..:..:..:..:..:..)
Skanuj podsieć. Analizuj dane wyjściowe za pomocą awk, aby uzyskać linie takie jak
<IP> <MAC>
. Następnie grep w nich za pomocą listy adresów MAC maszyn wirtualnych.Listę adresów MAC uzyskuje się, wyświetlając listę wszystkich maszyn wirtualnych (również usuwając puste linie), a następnie wykonując czynności
virsh domiflist
dla każdej z nich, a następnie wyszukując wzór, który wygląda jak MAC.Źródła:
https://serverfault.com/a/669862/284568
źródło
Jeśli masz QEMU (emulator VM), przejdź do przycisku „i” i sprawdź kartę sieciową powiązaną z siecią „Br0”. Zanotuj adres MAC karty sieciowej. Teraz zaloguj się do maszyny wirtualnej -> Otwórz terminal -> wpisz: polecenie „ifconfig” w terminalu -> zanotuj adres IP powiązany z adresem Mac, który zanotowałeś wcześniej.
Możesz zalogować się na maszynie wirtualnej za pomocą Putty lub dowolnego klienta ssh przy użyciu adresu IP zanotowanego w ostatnim kroku.
źródło
Mam gości KVM na interfejsie br0, więc myślę, że jest trochę inny, ale oto moje dwa skrypty, które stworzyłem.
Uwaga: aby użyć ARP, musisz najpierw mieć MAC w swojej Tabeli Arp. Dlatego najlepiej użyć fping, aby wykonać szybki ping całej sieci (zajmuje to około 2 sekund). Dzięki temu pamięć podręczna Arp jest aktualna.
Znajdź adres IP jednego gościa za pomocą:
Znajdź wszystkie adresy IP gości za pośrednictwem:
źródło
Napisałem
get-vm-ip
skrypt (dostępny na https://github.com/earlruby/create-vm/blob/master/get-vm-ip ), który używa go do uzyskania adresu IP:źródło
Pobierz listę domen przez
virsh list --all
Pobierz listę interfejsów domeny według identyfikatora lub nazwy domeny
virsh domiflist yourDomainId
, a zobaczysz ADRES MAC interfejsu domeny.Za pomocą
nmap
przeskanowania sieci LANnmap -sn 192.168.1.0/24|grep -i '52:54:00:42:be:96' -B 2
otrzymasz adres IP.źródło
Ładne rozwiązanie wykorzystujące agenta qemu-guest.
a) Skonfiguruj vm do korzystania z agenta qemu-guest Na hoście: Dodaj za pomocą virt-manager kanał „qemu-guest-agent” jest naprawdę łatwy. W moim przypadku maszyna nazywa się „Debian”, a xml po modyfikacji będzie podobny do to.
b) Na gościu zainstaluj qemu-guest-agent i upewnij się, że jest uruchomiony
c) W końcu ta fajna rura zwróci ip, zamiast NAMEOFVMNIC wstawić eth0, enp1s0 itd.
źródło
(Chociaż wydajesz się zbyt zaawansowany, aby uzyskać tak prostą odpowiedź)
Wola
praca?
źródło