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

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

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

    首先,物理机器往往比VPS有更多的内存。 问题512MB或更less。 其次,你可以检查几个东西来find一个VPS。 通常你会发现虚拟机具有令人惊讶的基本外观硬件。 像KVM有一个“Cirrus逻辑GD 5446”的显卡。 VMWare曾经有一个RTL8129网卡,因此大部分的操作系统安装介质都有虚拟设备的驱动程序。

    (傀儡的一部分) virtual.rb脚本有几个有用的技术来找出你正在运行什么types的机器。

    OpenVZ的

    寻找/proc/vz/veinfo

    Xen的

    查找/proc/sys/xen/sys/bus/xen/proc/xen

    虚拟服务器

    /proc/self/status查找s_contextVxID

    VMWare或Parallels

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

    KVM

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

    没有100%可靠的方法来检测你是否在虚拟机中,就像没有办法检测你是否真的在Matrix中,或者如果你实际上是一个计算机模拟。

    但是,如果提供者是个白痴,那么可以从以下便利列表中知道您是在一个虚拟机中:

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

    这些不是100%可靠的,因为提供者控制环境并且可以修改系统以不显示这些。 然而,任何人谁是廉价的足以卖给你一个专用的服务器,并给你一个虚拟机可能不够聪明,能够把这个closures。

    看看你的机器的MAC地址。 你看到任何特定于VM的OUI吗?

    如果你想采取更实际的做法,你可以从别处尝试这个答案。 不幸的是,它确实需要在“客人”系统上的function编译器。

    尝试并设置一个VM环境。 如果它在虚拟机内部,它将会失败。