我的一位朋友的同事为游戏联盟建立了一个自愿项目。但现在的问题是,该人不可用,我不知道如何访问正在运行的虚拟机。我花了几天时间在互联网上搜索以找到解决方案。
现在我知道虚拟机正在 libvirt 下运行,并带有 qemu 和 kvm。我可以通过 virsh 命令启动或关闭虚拟机(这对我来说也是新命令)。
ps ax | grep qemu
向我展示以下内容:
16767 pts/0 S+ 0:00 grep --color=auto qemu
18250 ? Sl 388:50 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 1000 -smp 4,sockets=4,cores=1,threads=1 -name Teamspeak1 -uuid a973dbb4-04e1-942b-1546-615f425b931b -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Teamspeak1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive file=/var/lib/libvirt/images/Teamspeak1.img,if=none,id=drive-ide0-0-0,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=18,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:29:5f:61,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -vnc 127.0.0.1:0 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
18295 ? Sl 79:15 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 1024 -smp 8,sockets=8,cores=1,threads=1 -name Webserver -uuid 14b56603-7323-2333-180c-227d02260acf -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Webserver.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -drive file=/var/lib/libvirt/images/Webserver.img,if=none,id=drive-ide0-0-0,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=18,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:f6:a1:37,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -vnc 127.0.0.1:1 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
18380 ? Sl 19:32 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 10000 -smp 8,sockets=8,cores=1,threads=1 -name Gameserver1 -uuid cb7b70e3-f049-7545-65d2-3adff36f34ff -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Gameserver1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device ahci,id=ahci0,bus=pci.0,addr=0x6 -drive file=/var/lib/libvirt/images/Gameserver1.img,if=none,id=drive-ide0-0-0,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -drive file=/var/lib/libvirt/images/Gameserver1-1.img,if=none,id=drive-sata0-0-0,format=raw -device ide-drive,bus=ahci0.0,drive=drive-sata0-0-0,id=sata0-0-0 -netdev tap,fd=18,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:62:7d:6e,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -vnc 127.0.0.1:2 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
他还给我留下了以下通知:
对于“游戏服务器1”:
root: kecks
user : game
pass: ***
ip: 192.168.122.161
FTP connection : ftp://***:2121
IP-Tables:
//FTP: (Chrooted)
49152-49153 (FTP Passive)
2121 -> 21
2020 -> 20
//CS:GO
27015
还有例如“网络服务器”:
##User
root -> ***
webserver -> ***
192.168.122.198
Mysql root -> ***
ACCEPT tcp -- anywhere 192.168.122.198 state NEW,RELATED,ESTABLISHED tcp dpt:12001 // FTP
ACCEPT tcp -- anywhere 192.168.122.198 state NEW,RELATED,ESTABLISHED tcp dpt:12000 //FTP
ACCEPT tcp -- anywhere 192.168.122.198 state NEW,RELATED,ESTABLISHED tcp dpt:ftp-data
ACCEPT tcp -- anywhere 192.168.122.198 state NEW,RELATED,ESTABLISHED tcp dpt:ftp
ACCEPT tcp -- anywhere 192.168.122.198 state NEW,RELATED,ESTABLISHED tcp dpt:http
也许这对于已经使用过这个工具的系统管理员来说很有帮助,但对我来说却没什么帮助。
仅生成 VM 的 XML 配置文件。所以我认为这里不需要。服务器在 Ubuntu 12.04.3 LTS 下运行。我尝试通过复杂的 ssh 和 vnc 命令访问它,但只能访问主机,而不是虚拟机。当然,我在主机上通过 ssh 连接在本地进行了尝试,因为我只看到了 C 类本地 IPv4 地址。
编辑:用下面的两个答案解决了。解决方案是在主机的 ssh 会话内建立与 c 类 ip 地址的 ssh 连接。
答案1
使用 comamnd 启动 VM
# virsh start Gameserver1
列出正在运行的服务器
# virsh list
在控制台中访问服务器
# virt-viewer Gameserver1
这将打开服务器的控制台,以便您可以以图形方式访问它
关闭虚拟机使用
# virsh destroy Gameserver1
安装包
如果您使用 centos ir fedora 请安装以下软件包
# yum install qemu libvirt-client virt-manager \
virt-viewer guestfish libguestfs-tools virt-top
如果您使用基于 debian 或 ubuntu,请安装以下内容
# sudo apt-get install kvm libvirt-bin virt-manager virt-viewer virt-top virt-what
这将解决您的问题
答案2
-vnc 127.0.0.1:x
:使用 VNC 终端模拟器连接到本地主机端口 5900+x 上的虚拟终端,您可以在其中使用给定的凭据。