mr-euro Asked: 2009-10-27 06:56:24 +0800 CST2009-10-27 06:56:24 +0800 CST 2009-10-27 06:56:24 +0800 CST 租了一个专用的,但得到一个VPS。如何检测?[复制] 772 租用专用服务器时,如何确定他/她没有获得 VPS 或其他虚拟机变体,而不是真正的专用硬件盒? 可以运行哪些检查(假设它是一个 linux 机器)来检测这种情况? vps 5 个回答 Voted womble 2009-10-27T07:08:20+08:002009-10-27T07:08:20+08:00 没有 100% 可靠的方法可以让您检测到您是否在虚拟机中,就像无法检测您是否真的在 Matrix 中,或者您是否真的是计算机模拟一样。 但是,如果提供者是个白痴,您可以从以下方便的列表中看出您在 VM 中: Xen:/proc/sys/xen存在 OpenVZ/Virtuozzo:/proc/vz存在 VMWare:在输出中查找 VMWare 显卡lspci Linux VServer:/proc/self/status有s_contextorVxID字段 Solaris 区域:/sbin/zonename存在 这些不是 100% 可靠的,因为提供者控制环境并且可以修改系统以不显示这些。但是,任何便宜到可以向您出售专用服务器并为您提供 VM 的人可能都不够聪明,无法做到这一点。 Best Answer David Pashley 2009-10-27T07:09:35+08:002009-10-27T07:09:35+08:00 首先,物理机往往比 VPS 拥有更多的内存。问题 512MB 或更少。其次,您可以检查几件事以找到 VPS。您通常会发现虚拟机中具有令人惊讶的基本外观硬件。就像 KVM 有一个“Cirrus Logic GD 5446”显卡。VMWare 曾经有一个 RTL8129 网卡。所以大多数操作系统安装媒体都有虚拟设备的驱动程序。 facter(Puppet 的一部分)virtual.rb脚本有几个有用的技术来找出您正在运行的机器类型。 OpenVZ 寻找/proc/vz/veinfo 辛 寻找其中之一/proc/sys/xen,/sys/bus/xen或/proc/xen 虚拟服务器 寻找s_context或VxID在/proc/self/status VMWare 或 Parallels 运行lspci并查找 VMWare VGA 适配器 运行dmidecode并查找提及 VMWare 或 Parallels 虚拟机 运行 lspci 并寻找RAM memory: Qumranet, Inc. Virtio memory balloon Gerald Combs 2010-03-17T14:43:51+08:002010-03-17T14:43:51+08:00 查看您机器的 MAC 地址。您是否看到任何特定于 VM 的 OUI? Avery Payne 2010-03-17T12:29:34+08:002010-03-17T12:29:34+08:00 如果您想采取更实际的方法,可以从其他地方尝试这个答案。不幸的是,它确实需要“来宾”系统上的功能编译器。 eriko 2009-10-27T07:19:52+08:002009-10-27T07:19:52+08:00 尝试设置 VM 环境。如果它在 VM 内,它应该会失败。
没有 100% 可靠的方法可以让您检测到您是否在虚拟机中,就像无法检测您是否真的在 Matrix 中,或者您是否真的是计算机模拟一样。
但是,如果提供者是个白痴,您可以从以下方便的列表中看出您在 VM 中:
/proc/sys/xen
存在/proc/vz
存在lspci
/proc/self/status
有s_context
orVxID
字段/sbin/zonename
存在这些不是 100% 可靠的,因为提供者控制环境并且可以修改系统以不显示这些。但是,任何便宜到可以向您出售专用服务器并为您提供 VM 的人可能都不够聪明,无法做到这一点。
首先,物理机往往比 VPS 拥有更多的内存。问题 512MB 或更少。其次,您可以检查几件事以找到 VPS。您通常会发现虚拟机中具有令人惊讶的基本外观硬件。就像 KVM 有一个“Cirrus Logic GD 5446”显卡。VMWare 曾经有一个 RTL8129 网卡。所以大多数操作系统安装媒体都有虚拟设备的驱动程序。
facter(Puppet 的一部分)virtual.rb脚本有几个有用的技术来找出您正在运行的机器类型。
OpenVZ
寻找
/proc/vz/veinfo
辛
寻找其中之一
/proc/sys/xen
,/sys/bus/xen
或/proc/xen
虚拟服务器
寻找
s_context
或VxID
在/proc/self/status
VMWare 或 Parallels
lspci
并查找 VMWare VGA 适配器dmidecode
并查找提及 VMWare 或 Parallels虚拟机
运行 lspci 并寻找
RAM memory: Qumranet, Inc. Virtio memory balloon
查看您机器的 MAC 地址。您是否看到任何特定于 VM 的 OUI?
如果您想采取更实际的方法,可以从其他地方尝试这个答案。不幸的是,它确实需要“来宾”系统上的功能编译器。
尝试设置 VM 环境。如果它在 VM 内,它应该会失败。