租一个专用的,但得到一个 VPS。如何检测?

mr-*_*uro 13 vps virtual-machines hosts guest dedicated-server

租用专用服务器时,如何确定他/她没有获得 VPS 或其他虚拟机变体,而不是真正的专用硬件盒?

可以运行哪些检查(假设它是一个 linux 机器)来检测这种情况?

wom*_*ble 23

没有 100% 可靠的方法来检测您是否在虚拟机中,就像无法检测您是否真的在 Matrix 中,或者您是否真的是计算机模拟一样。

但是,如果提供者是个白痴,您可以从以下方便的列表中判断您在 VM 中:

  • Xen:/proc/sys/xen存在
  • OpenVZ/Virtuozzo:/proc/vz存在
  • VMWare:在输出中查找 VMWare 显卡 lspci
  • Linux VServer:/proc/self/status有一个s_contextVxID字段
  • Solaris 区域:/sbin/zonename存在

这些不是 100% 可靠的,因为提供者控制环境并且可以修改系统以不显示这些。但是,任何便宜到可以向您出售专用服务器并为您提供 VM 的人可能都不够聪明,无法做到这一点。


Dav*_*ley 23

首先,物理机往往比 VPS 拥有更多的内存。问题 512MB 或更少。其次,您可以检查几件事以找到 VPS。您通常会发现虚拟机中具有令人惊讶的基本外观硬件。就像 KVM 有一个“Cirrus Logic GD 5446”显卡。VMWare 曾经有一个 RTL8129 网卡。因此大多数操作系统安装介质都有用于虚拟设备的驱动程序。

facter(木偶的一部分)virtual.rb脚本对找出你正在运行什么类型的机器的一些有用的技术。

OpenVZ

寻找 /proc/vz/veinfo

寻找其中之一/proc/sys/xen/sys/bus/xen/proc/xen

虚拟服务器

寻找s_contextVxID/proc/self/status

VMWare 或 Parallels

  • 运行lspci并查找 VMWare VGA 适配器
  • 运行dmidecode并查找提及 VMWare 或 Parallels

KVM

运行 lspci 并查找 RAM memory: Qumranet, Inc. Virtio memory balloon