Назад | Перейти на главную страницу

Аренда выделенного, но получение VPS. Как обнаружить?

При аренде выделенного сервера, как можно быть уверенным, что он / она не получит VPS или какой-либо другой вариант виртуальной машины вместо настоящего выделенного аппаратного блока?

Какие проверки можно запустить (при условии, что это Linux), чтобы обнаружить такой случай?

Не существует 100% надежного способа определить, что вы находитесь в виртуальной машине, точно так же, как нет способа определить, действительно ли вы находитесь в Матрице или вы на самом деле компьютерная симуляция.

Однако, если провайдер идиот, вы можете сказать, что находитесь на виртуальной машине, из следующего удобного списка:

  • Xen: /proc/sys/xen существуют
  • OpenVZ / Virtuozzo: /proc/vz существуют
  • VMWare: ищите видеокарту VMWare на выходе lspci
  • Linux VServer: /proc/self/status имеет s_context или VxID поле
  • Зона Solaris: /sbin/zonename существуют

Они не на 100% надежны, потому что поставщик контролирует среду и может изменить систему, чтобы не отображать их. Однако любой, кто достаточно дешев, чтобы продать вам выделенный сервер и предоставить вам виртуальную машину, вероятно, не достаточно умен, чтобы осуществить это.

Прежде всего, физические машины имеют больше памяти, чем VPS. Вопрос 512 МБ или меньше. Во-вторых, вы можете проверить несколько вещей, чтобы найти VPS. Обычно вы обнаружите, что виртуальные машины имеют на удивление простое оборудование. Как будто у KVM есть видеокарта Cirrus Logic GD 5446. В VMWare раньше была сетевая карта RTL8129. Это значит, что на большинстве установочных носителей ОС есть драйверы для виртуальных устройств.

В фасад (часть Марионетки) virtual.rb В скрипте есть несколько полезных методов для определения того, на каком компьютере вы работаете.

OpenVZ

Искать /proc/vz/veinfo

Xen

Ищите один из /proc/sys/xen, /sys/bus/xen или /proc/xen

всервер

Искать s_context или VxID в /proc/self/status

VMWare или Parallels

  • Бегать lspci и ищите адаптер VMWare VGA
  • Бегать dmidecode и ищите упоминания о VMWare или Parallels

KVM

Запустите lspci и найдите RAM memory: Qumranet, Inc. Virtio memory balloon

Взгляните на MAC-адрес (а) вашего компьютера. Вы видите какие-нибудь OUI для конкретных виртуальных машин?

Если вы хотите применить более практический подход, вы можете попробовать этот ответ из в другом месте. К сожалению, он требует наличия функционального компилятора в «гостевой» системе.

Попробуйте настроить среду виртуальной машины. Он должен выйти из строя, если он находится внутри виртуальной машины.