Как запускать виртуальные машины VirtualBox и Hyper-V на одном компьютере
  windows
Если вы пользуетесь виртуальными машинами VirtualBox (даже если не знаете об этом: многие эмуляторы Android также имеют в своей основе именно эту ВМ) и установите виртуальную машину Hyper-V (встроенный компонент Windows 10 и 8 отдельных редакций), вы столкнетесь с тем, что виртуальные машины VirtualBox перестанут запускаться.
Текст ошибки будет сообщать: «Не удалось открыть сессию для виртуальной машины», и описанием (пример для Intel): VT-x is not available (VERR_VMX_NO_VMX) код ошибки E_FAIL (однако, если вы не устанавливали Hyper-V, вероятнее всего, эта ошибка вызвана тем, что виртуализация не включена в БИОС/UEFI).
Решить это можно, удалив компоненты Hyper-V в Windows (панель управления — программы и компоненты — установка и удаление компонентов). Однако, если виртуальные машины Hyper-V вам нужны, это может быть неудобно.
Быстрое отключение и включение Hyper-V для работы VirtualBox
Для того, чтобы иметь возможность запускать виртуальные машины VirtualBox и основанные на них эмуляторы Android при установленных компонентах Hyper-V, требуется выключить запуск гипервизора Hyper-V.
Сделать это можно таким способом:
- Запустите командную строку от имени администратора и введите следующую команду
- bcdedit /set hypervisorlaunchtype off
- После выполнения команды, перезагрузите компьютер.
Теперь VirtualBox будет запускаться без ошибки «Не удалось открыть сессию для виртуальной машины» (однако Hyper-V запускаться не будет).
Чтобы вернуть всё в исходное состояние, используйте команду bcdedit /set hypervisorlaunchtype auto с последующей перезагрузкой компьютера.
Этот способ можно модифицировать, добавив в меню загрузки Windows два пункта: один с включенным Hyper-V, другой — с отключенным. Путь примерно следующий (в командной строке от имени администратора):
bcdedit /copy {current} /d "Отключить Hyper-V"
- Будет создана новый пункт меню загрузки Windows, также в командной строке отобразится GUID этого пункта.
- Введите команду
В результате, после перезагрузки Windows 10 или 8 (8.1) вы увидите два пункта меню загрузки ОС: загрузившись в один из них, получите рабочие ВМ Hyper-V, в другой — VirtualBox (в остальном это будет одна и та же система).
Как итог, добиться работы, пусть и не одновременной, двух виртуальных машин на одном компьютере возможно.
Отдельно отмечу, что описываемые в Интернете способы с изменением типа запуска службы hvservice, в том числе в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services в моих экспериментах нужного результата не принесли.
А вдруг и это будет интересно:
Как использовать VirtualBox и Hyper-V на одном компьютере
Причиной ошибки может быть неудачная запись состояния ВМ в файл VBOX, кривое накопительное обновление самой Windows, отключение виртуализации в BIOS, но в данном случае причина кроется в конфликте VirtualBox с Hyper-V. Восстановить нормальную работу виртуалбокс можно удалив компоненты Hyper-V из системы, только вот как быть, если установленные на эту платформу машины вам всё же нужны? Запускать ВМ на одном ПК с включенными VirtualBox и Hyper-V нельзя, но можно временно отключить штатный компонент виртуализации, не удаляя его.
Делается это элементарно. Запустите от имени администратора командную строку или консоль
Виртуальные машины VirtualBox станут запускаться без ошибок. Чтобы вернуть Hyper-V в рабочее состояние, выполните команду bcdedit /set hypervisorlaunchtype auto и опять же перезагрузитесь.
Для удобства можете создать пакетные файлы с командами и разместить их на рабочем столе.
Кроме того, вы можете добавить режим работы системы с Hyper-V и без него в загрузочное меню.
Для этого в запущенной с повышенными правами командной строке
Перезагрузившись, вы увидите меню выбора операционной системы.
Первое будет загружать рабочий стол с включенной Hyper-V, второе — без неё.
Вопросы и ответы по WSL 2
- Чтение занимает 2 мин
В этой статье
Ниже приведен список часто задаваемых вопросов о подсистеме Windows для Linux 2.Below is a list of frequently asked questions (FAQ) about the Windows Subsystem for Linux 2.
Использует ли подсистема WSL 2 Hyper-V?Does WSL 2 use Hyper-V? Будет ли она доступна в Windows 10 Домашняя?Will it be available on Windows 10 Home?
Подсистема WSL 2 доступна во всех номерах SKU, где сейчас предоставляется WSL, включая Windows 10 Домашняя.WSL 2 is available on all SKUs where WSL is currently available, including Windows 10 Home.
Последняя версия WSL использует архитектуру Hyper-V для включения виртуализации.The newest version of WSL uses Hyper-V architecture to enable its virtualization. Эта архитектура будет доступна в качестве дополнительного компонента Virtual Machine Platform (Платформа виртуальной машины).This architecture will be available in the ‘Virtual Machine Platform’ optional component. Этот необязательный компонент будет доступен во всех номерах SKU.This optional component will be available on all SKUs. Более подробную информацию об этом интерфейсе можно получить ближе к выпуску WSL 2.You can expect to see more details about this experience soon as we get closer to the WSL 2 release.
Что произойдет с подсистемой WSL 1?What will happen to WSL 1? Будет ли прекращена ее поддержка?Will it be abandoned?
В настоящее время не планируется объявлять подсистему WSL 1 нерекомендуемой.We currently have no plans to deprecate WSL 1. Вы можете запускать дистрибутивы WSL 1 и WSL 2 параллельно, обновлять их и переходить на более раннюю версию дистрибутива в любое время.
Если Hyper-V уже используется, то некоторые сторонние приложения не могут работать. Соответственно, они не смогут выполняться при включенном WSL 2, например VMware и VirtualBox.Some 3rd party applications cannot work when Hyper-V is in use, which means they will not be able to run when WSL 2 is enabled, such as VMware and VirtualBox. Но недавно вышли новые выпуски VirtualBox и VMware, поддерживающие Hyper-V и WSL2.However, recently both VirtualBox and VMware have released versions that support Hyper-V and WSL2. Дополнительные сведения об изменениях VirtualBox см.
Мы постоянно работаем над решениями для поддержки интеграции Hyper-V от сторонних производителей.We are consistently working on solutions to support third-party integration of Hyper-V. Например, мы предоставляем набор API-интерфейсов (платформа гипервизора), который сторонние поставщики виртуализации могут использовать для обеспечения совместимости своего программного обеспечения с Hyper-V.For example, we expose a set of APIs called Hypervisor Platform that third-party virtualization providers can use to make their software compatible with Hyper-V. Это позволяет приложениям использовать архитектуру Hyper-V для своих эмуляций, например Google Android Emulator, а также VirtualBox 6 и более поздней версии, которые теперь совместимы с Hyper-V. This lets applications use the Hyper-V architecture for their emulation such as the Google Android Emulator, and VirtualBox 6 and above which are both now compatible with Hyper-V.
Могу ли я получить доступ к GPU в WSL 2?Can I access the GPU in WSL 2? Планируется ли усилить поддержку оборудования?Are there plans to increase hardware support?
Мы реализовали поддержку для доступа к GPU в дистрибутивах WSL 2.We have released support for accessing the GPU inside of WSL 2 distros! Это означает, что теперь вы можете использовать WSL для сценариев с применением машинного обучения, искусственного интеллекта, а также обработки и анализа данных, если задействованы большие наборы данных.This means you can now use WSL for machine learning, artificial intelligence, and data science scenarios more easily when big data sets are involved. Ознакомьтесь с руководством по началу работы с решениями с поддержкой GPU.Check out the get started with GPU support tutorial. Сейчас WSL 2 не включает последовательную поддержку или поддержку USB-устройств. As of right now WSL 2 does not include serial support, or USB device support. Мы определяем оптимальный способ добавления этих функций.We are investigating the best way to add these features.
Может ли WSL 2 использовать сетевые приложения?Will WSL 2 be able to use networking applications?
Да, в целом сетевые приложения будут работать быстрее и лучше, так как у нас есть полная совместимость системных вызовов.Yes, in general networking applications will be faster and work better since we have full system call compatibility. Однако в новой архитектуре используются виртуализированные сетевые компоненты.However, the new architecture uses virtualized networking components. Это означает, что первоначальная ознакомительная версия сборки WSL 2 будет вести себя аналогично виртуальной машине, например, в WSL 2 будет IP-адрес, отличный от того, на котором размещен хост-компьютер.This means that in initial preview builds WSL 2 will behave more similarly to a virtual machine, e.g: WSL 2 will have a different IP address than the host machine. Мы стремимся сделать WSL 2 похожим на WSL 1, что включает в себя повышение производительности сети.We are committed to making WSL 2 feel the same as WSL 1, and that includes improving our networking story.
Можно ли запустить WSL 2 на виртуальной машине?Can I run WSL 2 in a virtual machine?
Да!Yes! Необходимо убедиться, что на виртуальной машине включена вложенная виртуализация.You need to make sure that the virtual machine has nested virtualization enabled. Ее можно включить в родительском узле Hyper-V, выполнив следующую команду в окне PowerShell с правами администратора:This can be enabled in your parent Hyper-V host by running the following command in a PowerShell window with Administrator privileges:
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
Не забудьте заменить <VMName> именем своей виртуальной машины.Make sure to replace ‘<VMName>’ with the name of your virtual machine.
Можно ли использовать wsl.
conf в WSL 2?Can I use wsl.conf in WSL 2?WSL 2 поддерживает тот же файл wsl.conf, который использует WSL 1.WSL 2 supports the same wsl.conf file that WSL 1 uses. Это означает, что все параметры конфигурации, заданные в дистрибутиве WSL 1, такие как автоподключение дисков Windows, включение или отключение взаимодействия, изменение каталога, в котором будут подключаться диски Windows, и т. д. будут работать в WSL 2.This means that any configuration options that you had set in a WSL 1 distro, such as automounting Windows drives, enabling or disabling interop, changing the directory where Windows drives will be mounted, etc. will all work inside of WSL 2. Дополнительные сведения о параметрах конфигурации в WSL можно получить на странице Управление подсистемой Windows для Linux и ее настройка.You can learn more about the configuration options in WSL in the Distro Management page.
Hyper-V против VirtualBox — кто кого. ~ Eugeneer’s Digital Cloud World
Всем привет.
Если на вашем компьютере установлена Windows 10 Pro или Enterprise, вы наверняка уже знаете что эта операционная система имеет встроенную поддержку виртуальных машин Hyper-V. Т.е. все что нужно, чтобы установить другую Windows (и не только) в виртуальную машину уже имеется в вашей ОС. Более того Windows 10 Pro начиная с билда 1903 имеет такую игрушку как «Песочница». Но про саму песочницу в следующий раз.
Но если вы пользуетесь виртуализацией в VirtualBox и захотите установить виртуальную машину Hyper-V, вы столкнетесь с тем, что виртуальные машины VirtualBox далее перестанут запускаться.Текст ошибки будет приблизительно такой: «Не удалось открыть сессию для виртуальной машины», с описанием «VT-x is not available (VERR_VMX_NO_VMX) код ошибки E_FAIL».
Решение конфликта между HyperV и Virtualbox простое.
Включаем HyperV, тогда Virtualbox не будет работать:bcdedit /set hypervisorlaunchtype auto
Отключаем HyperV, Virtualbox работает:
bcdedit /set hypervisorlaunchtype off
Не забывайте — вашей ОС необходима перезагрузка.
Нижеследующие операции называют решением проблемы совместимости HyperV с VMware. При этом сообщение будет про ошибку совместимости вашей ОС с Device Guard and Credential Guard. Можно начать проверку готовности вашей ОС с помощью скрипта Readiness Tool Version.Моя ОС проверку не прошла:
Current DGRunning = 0, ConfigCI= 0
_CGState: 0, _HVCIState: 0, _ConfigCIState: 0
Credential-Guard is not running.
HVCI is not running.
Config-CI is not running. (Not Enabled)
Not all services are running.
Можно пойти дальше и с помощью того же скрипта включить DG/CG/HVCI, но после недолгих раздумий я решил пойти другим путем. Простой деинсталяции HyperV оказалось недостаточно. То дальнейшие шаги я бы назвал выкусыванием следов HyperV из вашей ОС. Поэтому следует хорошо подумать что же для вас дороже.
Итак, делаем последовательно следующее:
bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d «DebugTool» /application osloader
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path «\EFI\Microsoft\Boot\SecConfig. efi»
bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS
bcdedit /set hypervisorlaunchtype off
Перегружаемся.
VMware оn, HyperV off.
Конвертация виртуальных машин. Путь туда и обратно. | Статья
Виртуальная машина, VMware, Hyper-V, VirtualBox. Знакомые вещи, не так ли?
Думаю, что не ошибусь, если скажу, что большинство людей, связанных с разработкой, тестированием и администрированием давно привыкли к виртуальным машинам. Воспринимают их как что-то давно знакомое, а главное — полезное. Ведь если у вас есть относительно мощный компьютер с достаточным объемом оперативной памяти, можно параллельно работать в двух, а то и в трех разных операционных системах.
А теперь представьте ситуацию: вы или ваша организация использует, к примеру, Hyper-V. Ваш партнер хочет передать вам на тестирование или для ознакомления какое-то решение, установленное и настроенное на виртуальной машине. Но так случилось, что партнер использует VMware. У вас возникает вопрос: как переделать виртуальную машину? А можно ли это вообще? Об этом и пойдет речь дальше.
Что же представляет из себя виртуальная машина? Вне зависимости от гипервизора, виртуальная машина состоит из двух частей: виртуальной машины (файла или набора файлов с описанием конфигурации, параметров запуска и другой служебной информации) и виртуального жесткого диска. Именно виртуальный жесткий диск в большинстве случаев и надо конвертировать. Именно на нем установлена операционная система и весь набор программного обеспечения.
А теперь важное лирическое отступление. После установки виртуальной машины гипервизор, в большинстве случаев, предлагает установить пакет программного обеспечения. Этот пакет повышает производительность виртуальной машины и ее управляемость. Так же он может содержать набор драйверов, оптимизированных для работы в виртуальной среде. Процесс конвертации подразумевает смену гипервизора. Поэтому все пакеты программного обеспечения, поставляемые гипервизором, с которого планируется переход, необходимо удалить. Сделать это лучше заранее, до конвертации.
Конвертация из VMware в Hyper-V
На мой взгляд VMware и Hyper-V — самые популярные гипервизоры. Именно их мы и рассмотрим в первую очередь.
Существует несколько способов конвертации. Компания Microsoft, понимая актуальность данной процедуры, предлагает два варианта решения проблемы. Первый способ — использовать средства конвертации, встроенные в Virtual Machine Manager (VMM).
Подробную информацию об этом способе можно найти в статье MSDN. Второй способ — использовать отдельную утилиту Microsoft Virtual Machine Converter.
На момент написания этой статьи третья версия этой утилиты – последняя версия, доступная для скачивания. Подробное описание утилиты можно найти в библиотеке TechNet. Скачать утилиту можно в центре загрузки Microosoft.
Сторонние производители программного обеспечения не остались в стороне. Выпускаемые ими продукты превосходят средства, предлагаемые компанией Microsoft, как в скорости конвертации, так и в удобстве использования.
Для примера рассмотрим два программных продукта: StarWind V2V Converter и 5nine V2V Easy Converter.
StarWind V2V Converter позволяет конвертировать виртуальные жесткие диски форматов: vmdk (формат виртуальных жестких дисков VMware), vhd и vhdx (формат виртуальных жестких дисков Hyper-V) и формат img для поддержки продукта StarWind Virtual SAN™. Интерфейс программы и процесс использования предельно просты. Имеется визард, который проведет вас по всему процессу конвертации. Одной из особенностей работы программы является возможность после конвертации включить Windows Repair Mode. Это позволит системе автоматически адаптироваться к внесенным изменениям со стороны гипервизора. Так же стоит отметить что конвертация происходит в любом направлении.
5nine V2V Easy Converter отличается принципом работы. Он позволяет выполнять почти «живую» миграцию. Интерфейс так же прост и не должен вызывать затруднений. Для начала работы необходимо указать параметры подключения к серверу VMware. После подключения будет представлен список виртуальных машин, доступных для переноса. На следующем шаге необходимо указать параметры подключения к серверу Hyper-V, выделить на нем ресурсы переносимой виртуальной машине и начать процесс переноса. Этот программный продукт не позволит вам конвертировать непосредственно сам виртуальный жесткий диск, он позволит мигрировать виртуальную машину из одного гипервизора в другой.
Конвертация из Hyper-V в VMware
Для конвертации виртуальной машины из Hyper-V в VMware можно использовать уже рассмотренный в этой статье программный продукт StarWind V2V Converter. Но это не единственное решение. Как и у компании Microsoft, у VMware есть свой конвертер. Имя ему VMware vCenter Converter Standalone.
Это поистине многофункциональны продукт. Одна только инструкция к нему занимает 102 страницы печатного текста. Но не стоит отчаиваться! Для начинающих администраторов имеется простой и функциональный визард.
Конвертация из VirtualBox в VMware или в Hyper-V
Самый простой способ перенести виртуальную машину из VirtualBox в VMware — воспользоваться экспортом виртуальной машины из VirtualBox в формат OVA (Open Virtualization Format Archive, файл .ova) и импортом этого архива в VMware. В таком варианте конвертации виртуальная машина перенесется целиком, со всеми параметрами выделенной памяти и процессорных ресурсов. Этот способ недоступен для переноса виртуальной машины в Hyper-V, так как Hyper-V напрямую не способен импортировать формат ova. Так же для конвертации можно использовать менеджер виртуальных носителей (меню «Файл», пункт «Менеджер виртуальных носителей»). Встроенный конвертер позволяет преобразовывать из одних форматов в другие все поддерживаемые программой файлы виртуальных жёстких дисков — VDI, VHD, VMDK, HDD, QED, QCOW. Этот способ более универсальный, подходит для переноса в Hyper-V, но требует повторной детальной настройки виртуальной машины в новом гипервизоре.
Конвертация из VMware или Hyper-V в VirtualBox
Встроенный в VirtualBox конвертер позволяет преобразовывать виртуальные жесткие диски в обеих направлениях, а экспортировать виртуальные машины в формат OVA умеет не только VirtualBox, но и VMware. Поэтому процесс переноса или конвертации диаметрально противоположен процессу, описанному в предыдущем абзаце.
Вместо заключения
Изначально статья планировалась мной в большей степени как практическая. По мере написания я решил, что вся практическая часть легко ищется в интернете по ключевым словам. Поэтому статья приобрела в большей степени теоретический характер. В ней описаны не все способы и методы переноса виртуальных машин из одного гипервизора в другой. Я постарался описать самые популярные, доступные и реализуемые без обращения к командной строке.
Лучшие виртуальные машины: Hyper-V, VirtualBox, VMware
Виртуальная машина – программа, позволяющая выделить часть ресурсов вашего ПК в отдельный виртуальный компьютер. Он эмулирует все элементы реального компьютера, в том числе жёсткий диск, USB-порты и сетевую карту. На “виртуальный компьютер” можно установить собственную операционную систему и нужные программы. Работать они будут также, как на реальном компьютере. Виртуальный компьютер даже можно подключить к локальной сети или к Интернет с собственным IP-адресом.
С помощью виртуальной машины удобно тестировать незнакомые операционные системы или новые программы. К примеру, можно развернуть на виртуальном компьютере Linux или MacOS и спокойно экспериментировать. На реальную операционную систему компьютера это никак не повлияет.
Три лучшие виртуальные машины
Сегодня наиболее распространены три программы для создания и запуска виртуальных компьютеров:
- Microsoft Hyper-V
- Oracle VirtualBox
- VMware Workstation
Рассмотрим их основные отличия, преимущества и недостатки.
Виртуальнная машина Microsoft Hyper-V
Во все 64-битные версии операционных систем Windows 8 и Windows 10 уже встроена виртуальная машина Microsoft Hyper-V. Чтобы запустить её надо зайти в панель управления Windows. Выбрать раздел “Включение и выключение компонентов Windows”. В открывшемся окошке надо отметить пункт “Hyper-V”.
После перезагрузки можно запустить Hyper-V через интерфейс Modern. Для этого проще всего набрать “Hyper-V” в строке поиска:
После этого появится окно программы Hyper-V:
Hyper-V создан для работы в основном с операционными системами Microsoft. При установке на него систем других компаний не исключены проблемы. Поэтому, для тестирования Linux, например, лучше воспользоваться другой виртуальной машиной.
Бесплатная виртуальная машина Oracle VirtualBox
VirtualBox – бесплатная и простая в работе виртуальная машина. Она может запускать в качестве “гостевой” почти любую операционную систему, в том числе Windows, MacOS или Linux.
VirtualBox позволяет делать “снимки” гостевой операционной системы. Это своеобразные “точки восстановления”, к которым легко “откатить” гостевую систему, в случае сбоя. Создание виртуальных машин в VirtualBox выполняется с помощью простого пошагового мастера. Программа поддерживает работу с сетями, поэтому, при желании можно дать виртуальной машине выход в Интернет.
Скачать VirtualBox можно с официального сайта: https://www.virtualbox.org/
Виртуальная машина VMware Workstation
Если вы хотите развернуть на виртуальной машине постоянно-действующий сервер, лучше выбрать VMware Workstation. Это платная виртуальная машина, которая поддерживает работу с Windows и Linux.
На виртуально машине под управлением VMware Workstation можно, к примеру, создать фаервол, отделяющий сеть организации от Интернет. Можно даже развернуть на ней сервер какой-либо базы данных.
Надо отметить, что у VMware Workstation есть бесплатный “младший брат” – VMWare Player. Плеер не умеет создавать новые виртуальные машины. Он может только запускать машины, ранее созданные в VMware Workstation. VMWare Player очень полезен на этапах тестирования новых программ. Разработчик может передать заказчику созданную им систему на ознакомление в виде образа виртуальной машины. Эта практика получает всё большее распространение. Так заказчику гораздо проще изучать новую систему, поскольку отпадает необходимость инсталлировать её самостоятельно.
Официальный сайт VMware Workstation: https://www.vmware.com/
Если вы хотите изучить какую-либо новую операционную систему, лучшим выбором будет бесплатная виртуальная машина ORACLE Virtual Box. Она поддерживает любые современные ОС и гибко настраивается. Если же вы хотите развернуть постоянно действующий виртуальный сервер, лучше выбрать платную VMWare Workstation.
⚙ПЕРЕНЕСТИ ВИРТУАЛЬНУЮ МАШИНУ VIRTUALBOX В HYPER-V WINDOWS 10
Одним из наиболее практичных и функциональных инструментов, которыми мы располагаем как администраторы и вспомогательный персонал, являются утилиты для создания виртуальных машин, поскольку с помощью этих инструментов у нас есть возможность создавать разнообразные среды в одной команде, что весьма полезно.
Преимущества виртуальной машины
Среди преимуществ наличия виртуальной машины:
- Возможность иметь несколько операционных систем на одном компьютере, например, Linux, Mac OS или Windows.
- Мы можем тестировать приложения, обновления или операционные системы перед выпуском в производство.
- Это позволяет нам экономить на уровне архитектуры.
- Мы можем расширить сферу инфраструктуры.
Одним из наиболее часто используемых инструментов для этой цели является VirtualBox, поскольку его интерфейс простой, бархатистый и дополнительный, совершенно бесплатный. Мы можем скачать VirtualBox по следующей ссылке:
VirtualBox
Теперь с появлением новых технологий на уровне операционной системы у нас появились более продвинутые приложения, и одним из них является Hyper-V, который можно установить в Windows 10 и оттуда создавать виртуальные среды с помощью инструмента Microsoft.
Весьма вероятно, что некоторые пользователи хотят перенести свои виртуальные машины VirtualBox на Hyper-V, чтобы избежать всего процесса установки и настройки с нуля. Сегодня этот учебник научит вас, как безопасно и без ущерба для конфигурации виртуальной машины перейти с VirtualBox на Hyper-V в Windows 10.
Некоторые из основных различий между этими двумя инструментами:
Имея это в виду, мы узнаем, как выполнить соответствующую миграцию с VirtualBox на Hyper-V в Windows 10.
1. Как экспортировать виртуальную машину из VirtualBoxШаг 1
Первым шагом является открытие VirtualBox, выберите виртуальную машину, которую мы хотим перенести, в этом случае будет Ubuntu 16 WorkStation и перейдите в меню File / Export virtualized service. Мы также можем использовать следующую комбинацию клавиш для доступа к этой опции.
Ctrl + E
Шаг 2
Как только мы нажмем на эту опцию, мы увидим следующее окно, где мы должны выбрать виртуальную машину для экспорта.
Шаг 3
Нажмите Next, и во всплывающем окне мы определяем путь для хранения виртуальной машины, и мы должны убедиться, что тип файла OVF 2.0.
Шаг 4
Нажмите Next еще раз, и мы увидим экспортируемые сервисы.
Шаг 5
После проверки этой информации нажмите кнопку « Экспорт», и мы увидим, что процесс экспорта виртуальной машины начинается.
Шаг 6
После экспорта виртуальной машины мы рекомендуем распаковать ее содержимое с помощью бесплатной утилиты, такой как 7Zip или WinRar.
Поскольку Hyper-V в Windows 10 не поддерживает OVF (открытый виртуальный формат), было бы невозможно перенести нашу машину VirtualBox на Hyper-V.
Шаг 1
Мы можем скачать инструмент V2V Image Converter по следующей ссылке . Это бесплатный инструмент, который позволяет нам полностью преобразовывать различные форматы изображений для задач виртуализации.
V2V Image Converter
Шаг 2
Процесс установки довольно прост. (Мы получим ссылку для скачивания в нашем электронном письме).
Шаг 3
Как только инструмент будет установлен, мы приступим к его выполнению и увидим следующую среду:
Шаг 4
Нажмите Next, и в следующем окне мы оставим опцию по умолчанию Local file, так как там мы будем хранить виртуальный жесткий диск.
Шаг 5
Нажмите Далее и в появившемся окне мы должны выбрать образ виртуального диска, который мы ранее распаковали.
Шаг 6
Нажмите Далее, а затем мы должны определить формат изображения, который мы хотим преобразовать, помните, что Hyper-V поддерживает следующее. Преимущество VHDX заключается в том, что он поддерживает до 64 ТБ хранилища.
Шаг 7
Выберите нужный формат и нажмите « Далее».
Шаг 8
Далее мы увидим следующее окно, в котором мы должны определить, где будет храниться преобразованное изображение .
Шаг 9
Мы определяем маршрут:
Шаг 10
Нажмите Next еще раз, и процесс преобразования изображения начнется.
После завершения процесса конвертации мы готовы импортировать виртуальную машину в Hyper-V.
Шаг 1
Для этого мы открываем администратор Hyper-V и заходим в меню « Действие / Новая / Виртуальная машина».
Шаг 2
Мы также можем выполнить это действие с правой стороны в опции New / Virtual machine. При использовании этой опции будет отображаться следующий мастер Hyper-V, где мы сначала определяем имя виртуальной машины:
Шаг 3
Нажав Далее, мы должны определить поколение виртуальной машины.
Шаг 4
Определим значения оперативной памяти:
Шаг 5
Настраиваем сетевые настройки.
Шаг 6
Мы должны быть осторожны на этом этапе Подключить виртуальный жесткий диск, поскольку здесь необходимо будет установить флажок Использовать существующий виртуальный жесткий диск и перейти туда, где мы сохранили преобразованный образ.
Шаг 7
Нажмите Далее, и мы увидим сводку виртуальной машины для создания.
Шаг 8
Нажмите Finish, и мы увидим, что наша виртуальная машина настроена.
Шаг 9
Нажмите на кнопку Connect, чтобы начать процесс подключения.
Шаг 10
Там мы переходим в меню « Action / Connect» и видим, что наша экспортированная виртуальная машина была запущена правильно.
Мы поняли, что можем простым способом экспортировать все те виртуальные машины, которые мы создали в VirtualBox, в Hyper-V полностью безопасным способом со всеми необходимыми параметрами конфигурации и без потери какой-либо конфигурации, которую мы установили из VirtualBox.
Мы в полной мере используем новости и преимущества, которые Hyper-V предлагает нам для всего, что связано с управлением виртуальными машинами. Чтобы узнать, как включить Hyper-V, по умолчанию он отключен, мы можем перейти по следующей ссылке:
Включить Hyper-V
Установка VirtualBox на наших Linux-клиентах »CS SysAdmin
С некоторыми усилиями и разочарованием я запустил VirtualBox на четырех наших клиентских машинах CentOS 6.3: jay, finch, lark и robin. Теперь он может запускать безголовые виртуальные машины, которые (повторно) запускаются при (повторной) загрузке хоста, и даже может запускать 64-битные гостевые системы, такие как 2012 MIT / LL Capture the Flag VM. Работа в сети находится в стадии разработки; в настоящее время гости используют NAT с перенаправлением выбранных портов. Вот как это сделать.
Но, во-первых, почему VirtualBox? Это бесплатно (как в пиве и речи, за исключением проприетарного пакета расширений, который предоставляет несколько дополнительных функций). И он активно разрабатывался в течение многих лет и кажется довольно прочным, если не таким отточенным, как VMWare. Он кроссплатформенный и работает практически одинаково на компьютерах Mac, Windows и Linux. И его поддерживает гигантская компания Oracle, которая не уйдет в ближайшее время, даже если она сосредоточена на других вещах и является злом.
VMWare было бы неплохо; это царь горы, он очень зрелый, изысканный и предприимчивый. Виртуальные машины MIT / LL CTF являются собственными VMWare и, вероятно, их проще всего запустить на этой платформе.Но это стоит тонна, так что это не запуск, если вы не хотите использовать пробную версию на 1 месяц или получить код активации на конференции Грейс Хоппер.
Есть бесплатный проигрыватель VMWare, который может работать, но он не работает на Mac, и в нем отсутствуют полезные функции, такие как (я думаю) снимки состояния и настройка виртуальной сети.
Я действительно хотел бы использовать KVM, основную технологию виртуализации Red Hat, чтобы изучить ее. В прошлом году я возился с ним на Tempest, и это показалось мне довольно неплохим. Но это только Linux, поэтому он бесполезен на наших домашних машинах, и у меня нет времени или терпения, чтобы иметь дело с двумя платформами одновременно.
Итак, VirtualBox это.
Настройки BIOS
Сначала перезагрузитесь и войдите в экран настройки. Доберитесь туда, нажимая Enter несколько раз, пока машина не издаст звуковой сигнал, затем нажмите F1.
Power -> After Power Loss:
Измените «Последнее состояние» на «Power On». Вы могли подумать, что в этом нет необходимости, но если питание включается, сразу же выключается, а затем снова возвращается, «Последнее состояние» не работает.
Обновление: Может и нет. Так было и с предыдущими аппаратами с микрофокусом.По крайней мере, я пришел к такому выводу после того, как большинство из них остались отключенными после отключения электричества в Научном центре прошлой весной. Но у Рена есть набор «Последнее состояние», и я просто отключал / вставлял его несколько раз, и он возвращался каждый раз.
Advanced -> CPU Setup:
-> Enable Intel (R) Virtualization Technology
-> Enable VT-d (это может быть необязательно)
-> Оставить TxT отключенным (объяснение)
Это позволит вам запускать 64-битные гостевые системы даже под 32-битной ОС хоста. Эти шаги требовали присутствия у машины; все остальное можно сделать удаленно.
Установка программного обеспечения
Ссылка: http://www.if-not-true-then-false.com/2010/install-virtualbox-with-yum-on-fedora-centos-red-hat-rhel/
Получите репозиторий VBox и убедитесь, что все обновлено (обратите внимание, что строка wget перенесена в оболочку, но она будет копировать и вставлять нормально):
крепление puma: / share / share cd /etc/yum.repos.d/ wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo ням обновление
Посмотрите, было ли ядро обновлено на последнем шаге, и перезагрузите его, если это так. Если не уверены, сравните выходные данные «rpm -qa kernel | sort | tail -n 1» и «uname -r».
К сожалению, все пакеты периодически обновляются, включая VBox, если он не запущен. Эмпирически это плохо: /etc/vbox/vbox.cfg будет удален без уважительной причины, и виртуальные машины не будут работать, если не будет установлен новый пакет расширений, который является PITA. Поэтому на каждом компьютере измените строку «enabled = 1» в /etc/yum.repos.d/virtualbox.repo на «enabled = 1». А затем, если вы хотите обновить VBox позже, вы можете сделать это вручную с помощью «yum –enablerepo = virtualbox update».
Нам нужен EPEL для dkms (поддержка динамических модулей ядра), который позволяет автоматически перестраивать драйверы устройств ядра, например, для VBox, при установке нового ядра:
об / мин -Uvh http://epel.mirror.freedomvoice.com/6/i386/epel-release-6-7.noarch.rpm
Теперь установите кучу необходимых пакетов (все, кроме dkms, вероятно, уже установлены), затем VBox:
yum install binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel dkms yum установить VirtualBox-4. 2
Укажите, кто может использовать VBox:
usermod -aG vboxusers <пользователь1> usermod -aG vboxusers <пользователь2> . .
Теперь вы можете перестать быть root и можете запустить графический VBox Manager из панели Gnome, если вы локальный или если у вас ssh -Y’d in, с:
VirtualBox и
Настройки VBox Manager
Вы должны сделать пару настроек в установках / настройках VBox Manager. Во-первых, ключ хоста по умолчанию для Linux — это правильный управляющий ключ.Это необходимо для выхода из виртуальной машины в среду хоста в определенных ситуациях, например, когда гостевые дополнения не установлены на клиенте. На моем Mac нет правой клавиши Ctrl, поэтому я использую F3, что более нейтрально для ОС.
Во-вторых, нам нужно установить проприетарный пакет расширений, чтобы получить поддержку VRDP (обсуждается ниже), а также некоторые аппаратные вещи, такие как поддержка USB, которые нам, вероятно, не нужны. Это проблематично, либо из настроек графического интерфейса, либо из командной строки:
[cs342 @ finch InstallingVBoxOnClients] VBoxManage extpack устанавливает Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack 0% ... Состояние выполнения: NS_ERROR_FAILURE VBoxManage: ошибка: не удалось установить "/home/cs342/InstallingVBoxOnClients/Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack" VBoxManage: ошибка: установщик не смог выполнить код выхода 127: Ошибка при выполнении команды от имени другого пользователя: агент аутентификации не найден. VBoxManage: ошибка: Подробности: код NS_ERROR_FAILURE (0x80004005), компонент ExtPackManager, интерфейс IExtPackManager VBoxManage: ошибка: Контекст: «int handleExtPack (HandlerArg *)» в строке 1112 файла VBoxManageMisc.cpp
Это из-за конфликта GID между локальной группой vboxusers и группой LDAP cs342? Без понятия. Но мы можем сделать это как root, при условии, что мы переместим файл из файловой системы, смонтированной по NFS:
[cs342 @ finch InstallingVBoxOnClients] cp Oracle_VM_VirtualBox_Extension_Pack-4. 2.0-80737.vbox-extpack / tmp [cs342 @ finch InstallingVBoxOnClients] su Пароль: [root @ finch УстановкаVBoxOnClients] VBoxManage extpack install / tmp / Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack 0% ... 10% ... 20% ... 30% ... 40% ... 50% ... 60% ... 70% ... 80% ... 90% ... 100% Успешно установлен пакет расширений Oracle VM VirtualBox. [root @ finch УстановкаVBoxOnClients]
Теперь нам нужно сделать следующее:
- Установите виртуальную машину и при необходимости настройте SSH (внутренне) и переадресацию портов (внешнюю).
- Организовать внешний доступ к консоли на случай, если SSH не работает.
- Настройте запуск виртуальной машины при загрузке хоста.
Я не буду обсуждать настройку виртуальной машины (см. Раздел «Размещение файлов виртуальной машины на клиентах» ниже).На Finch я собираюсь установить копию CTF 2012 VM. SSH уже включен; в противном случае «sudo apt-get install openssh-server» — это все, что вам нужно для Ubuntu. В диспетчере VBox я перенаправляю порт 2222 на порт 22 в разделе «Настройки»> «Сеть»> «Дополнительно»> «Переадресация портов». И теперь вы можете использовать SSH так:
ssh -Y -p 2222 <имя пользователя> @finch
Обратите внимание, что порт хоста должен быть> 1024. Я считаю, что гость может прослушивать порты <1024, только если он запущен от имени пользователя root, что звучит как плохая идея.В любом случае нам нужно использовать другой порт для SSH, потому что мы хотим иметь возможность подключаться по SSH к хосту и гостю отдельно. Но если мы запустим веб-сервер в гостевой системе, нам нужно будет либо изменить порт, который он прослушивает, либо переадресовать, скажем, с 8080 на 80.
VRDP Access (или его отсутствие)
VBox позволяет запускать виртуальные машины «без головы», но при необходимости получать доступ к виртуальной консоли через протокол удаленного рабочего стола Microsoft. Для этого необходимо открыть порт, по умолчанию — 3389. Безопасность для этого в VBox — беспорядок.Я запишу подробности ниже для потомков, но я думаю, что для нас это должно быть просто отключено. Когда машина работает в обычном автономном режиме, вам потребуется ssh. Если ssh подключен или еще не настроен, подключите ssh к хосту, откройте VBox Manager с помощью VirtualBox & и включите VRDP с нулевой аутентификацией через Настройки> Дисплей> Удаленный дисплей> Включить сервер (это можно сделать при работающей машине). Затем получите доступ к машине с помощью RDP (подробнее ниже). Когда закончите, отключите RDP-сервер и закройте VBox Manager; виртуальная машина продолжит работу.
Чтобы подключиться к виртуальной машине на Finch, скажем, просто введите «rdesktop finch» на машине с установленным rdesktop (в настоящее время jay, finch и robin). Если работает несколько виртуальных машин, порт может быть больше 3389; посмотреть настройки машины. Другие клиенты RDP могут работать, например Подключение к удаленному рабочему столу MS для Mac или, очевидно, собственный клиент Windows.
Альтернативой этому является выключение и повторный запуск виртуальной машины без использования головы через VBox Manager, вызывая консоль.Для этого требуется соединение X11. Я обнаружил, что выполнение этого через X11 на Mac может привести к неправильному переназначению клавиатуры. Это случается только иногда, не всегда, и я не знаю почему. Интересно, что в прошлом году у меня были очень похожие проблемы с доступом к KVM, работающему в Tempest через мой Mac.
Вот несколько примечаний по аутентификации VRDP. Как упоминалось выше, это не работает, и, вероятно, лучше всего использовать нулевую аутентификацию и отключать ее большую часть времени. Есть четыре режима аутентификации:
- Нулевой.Работает нормально, но небезопасно.
- Гость. Использует аутентификацию на гостевой системе. Экспериментально, не поддерживается и, по сути, у нас не работает.
- Внешний. Использует аутентификацию на хосте. Вызывает ошибки.
- Внешний с простой аутентификацией. Виды работ см. Ниже.
Внешняя / простая аутентификация использует аутентификацию, предоставляемую VBox. Вы предоставляете VBox хешированный пароль для вставки в XML-файл конфигурации машины,
rdesktop -u <пользователь> -p <пароль> HOST
, а затем пароль в вашем файле истории bash. Кроме того, что менее важно, для этого не работает подключение к удаленному рабочему столу MS для Mac.
В любом случае, вот как его настроить, если хотите. Я следую разд. 7.1.5, «Аутентификация RDP» руководства VBox:
[cs342 @ jay Minimal-Ubuntu-Server] VBoxManage setproperty vrdeauthlibrary "VBoxAuthSimple" [cs342 @ jay Minimal-Ubuntu-Server] VBoxManage modifyvm <имя-машины> --vrdeauthtype external [cs342 @ jay Minimal-Ubuntu-Server] VBoxManage internalcommands passwordhash "" Хеш пароля: 447a9e95f60aa7c586558c6192283c22786981632b035e3978c78b143d9396c3 [cs342 @ jay Minimal-Ubuntu-Server] VBoxManage setextradata Minimal-Ubuntu-Server "VBoxAuthSimple / users / " 447a9e95f60aa7c586558c6192283c22786981632b035e3978c78b143d9396c3
VM Автозапуск
Для автоматического запуска виртуальной машины при перезагрузке хоста необходимо, чтобы мы создали службу и настроили ее соответствующим образом. К счастью, эта возможность была представлена в VBox 4.2, выпущенном всего несколько недель назад. (Альтернативное решение от 2009 года могло сработать с некоторыми настройками:
http://www.kernelhardware.org/virtualbox-auto-start-vm-centos-fedora-redhat/)
Ссылка:
- Последнее руководство по VBox: разд. 9.24.1 .: «Linux: запуск службы автозапуска через init», и сек. 8.2, с некоторыми командами для настройки машин на автоматический запуск / остановку.
- Недавнее сообщение в блоге с более подробной информацией.
В основном я буду следить за сообщениями в блоге.
В качестве root создайте / etc / default / virtualbox, содержащий:
# файл настроек по умолчанию для виртуального бокса VBOXAUTOSTART_DB = / и т.д. / vbox VBOXAUTOSTART_CONFIG = / etc / vbox / vbox.cfg
И создайте /etc/vbox/vbox.cfg, содержащий:
# Политика по умолчанию - запретить запуск виртуальной машины, другой вариант - «разрешить». default_policy = запретить # Создайте запись для каждого пользователя, которому разрешено запускать автозапуск cs342 = {allow = true} fturbak = {allow = true} mdawson = {allow = true}
(В примерах в руководстве и в блоге больше строк, но для меня возникают ошибки.Проблема с переводом CRLF?)
Разрешения / владение:
chown корень: vboxusers / etc / default / virtualbox / etc / vbox /etc/vbox/vbox.cfg chmod 1775 / и т. д. / vbox chmod 660 / и т.д. / по умолчанию / виртуальный бокс /etc/vbox/vbox.cfg
Может случиться так, что / etc / default / virtualbox и /etc/vbox/vbox.cfg могут иметь корень группы, а не vboxusers, я не уверен.
Теперь станьте cs342 и сделайте следующее. Для modifyvm виртуальная машина должна быть отключена
.
VBoxManage setproperty autostartdbpath / etc / vbox VBoxManage modifyvm <Имя компьютера> - автозапуск включен на VBoxManage modifyvm <Имя компьютера> --autostop-type [disabled | savestate | poweroff | acpishutdown]
(я использую savestate, но может быть безопаснее acpishutdown)
Проблем:
- «service vboxautostart-service start» указывает, что он запускает виртуальные машины, но не запускает.
- «service vboxautostart-service stop» не останавливает запуск виртуальных машин
- Опция «сохранить» не работает; по всей видимости, на ВМ подключена заглушка, так как при перезапуске она укажет на нулевое время безотказной работы. Требуется ли какая-то задержка? Или это связано с тем, что «service vboxautostart-service stop» не работает?
Однако машины с включенным автозапуском запускаются при загрузке хост-системы (хотя и без сохраненного состояния), а это главное, что мы хотим.
Погоди, погоди, это верно для сойки, зяблика и жаворонка, но не для малиновки.«VBoxManage modifyvm CTF-2012-robin –autostart-enabled on» не создает 1-байтовые файлы «cs342.start» и «cs342.stop» в / etc / vbox, как это происходит на других машинах. Не знаю почему, несмотря на бесплодное сравнение конфигураций, разрешений, прав собственности и т. Д. В Finch и Robin. Шаги, которые я предпринял при настройке виртуальной машины CTF-2012-robin, немного отличались от других, но я не знаю, что могло создать эту разницу. В любом случае, создание вручную этих двух файлов с правильным содержимым (с одной «1») и разрешением на владение помогло.
Чтобы правильно завершить работу виртуальной машины, войдите в нее и выполните команду «shutdown -P now». Используйте -P, а не -h, поскольку -h заставляет виртуальную машину зависать на экране загрузки GRUB при перезапуске. Насколько я могу судить, вы не можете произвести контролируемое отключение извне; лучшее, что вы можете сделать, это
VBoxManage controlvmsavestate
Чтобы запустить выключенную виртуальную машину без перезагрузки, следует использовать VBoxHeadless. В противном случае ваша виртуальная машина умрет при закрытии сеанса:
VBoxHeadless --startvm--vrde off &
Перемещение файлов конфигурации и виртуальных машин на клиенты
По умолчанию файлы виртуальных машин находятся в ~ / VirtualBox \ VMs.Это на сервере NFS, поэтому доступ медленнее, а виртуальные машины доступны одновременно и даже одновременно могут работать, что плохо! Итак, давайте разместим файлы виртуальных машин на клиентах. Обратите внимание, что виртуальные машины больше не будут автоматически копироваться, и это проблема, о которой я должен подумать.
Кроме того, каталог конфигурации и журнала VBox пользователя по умолчанию ~ / .Virtualbox /. Это означает, что все хосты, на которых работает VBox под одним и тем же пользователем, будут совместно использовать конфигурацию, включая список доступных виртуальных машин; опять плохо.Так что давайте переместим и это. Это можно сделать с помощью символических ссылок на локальную файловую систему или путем изменения переменной среды VBOX_USER_HOME; поскольку VBox запускается разными способами и в разное время, в том числе вскоре после загрузки, и я не эксперт по переменным среды, я буду использовать символические ссылки.
Итак, я создам / var / VBox-local /
mkdir / var / VBox-локальный chgrp vboxusers / var / VBox-local / chmod 770 / var / VBox-local / mkdir / var / VBox-local / cs342 chown cs342 / var / VBox-local / cs342 / chmod 770 / var / VBox-local / cs342 /
Теперь сделайте резервную копию ~ / .Virtualbox, переместив его в ~ / .Virtualbox-backup, а также для ~ / VirtualBox \ VMs. Вторая резервная копия занимает много места, поэтому избавьтесь от нее, когда все заработает правильно. Создайте упомянутые выше символические ссылки, что вам нужно сделать только один раз.Затем на каждой машине, на которой будет работать VBox:
- cp -a ~ / .Virtualbox / var / VBox-local / cs342 / Config
- cp -a ~ / VirtualBox \ VMs / var / VBox-local / cs342 / VirtualBox \ VMs
- Удалите ненужные виртуальные машины на этом компьютере
- Удалите связанные строки из
и любых других разделов… Config / VirtualBox.xml
Через VBox Manager настройки каждой машины должны быть изменены следующим образом:
- Выберите новый случайный Mac-адрес, если на другом хосте существует другая копия той же виртуальной машины и есть вероятность, что они будут в той же сети.
- При необходимости отрегулируйте переадресацию портов
- Выключите сервер удаленного дисплея
- В разделе «Хранилище» выберите контроллер для виртуального диска виртуальных машин и нажмите «Использовать кэш ввода-вывода хоста». В противном случае вы получите страшное предупреждение об ошибке ядра Linux, которая может привести к повреждению виртуального диска, когда он монтируется в раздел ext4.
Перенаправление внешнего порта
Нам нужно иметь возможность использовать ssh независимо как для виртуальной машины, так и для ее хоста, поэтому я перенаправил внешний порт 2222 на порт 22 виртуальной машины.Почему не 222? Поскольку некорневые процессы не могут обслуживать порты ниже 1024 в Linux. Точно так же я перенаправлял порт 8080 на 80 для HTTP, хотя на хостах не работают веб-серверы. Теперь для подключения извне хоста нам нужно открыть порты хоста. Я открываю 2222 и перенаправляю 80 на 8080, чтобы он выглядел снаружи так, как будто мы используем стандартный порт HTTP. Это довольно простой брандмауэр, поэтому мы можем просто использовать system-config-firewall. Используйте «Другие порты», «Определено пользователем», чтобы открыть порт, и «Перенаправление портов», «Локальное перенаправление», чтобы перенаправить порт.
Если есть возможность одновременного запуска нескольких виртуальных машин на хосте, вам нужно быть осторожным с этим, например используйте порты 2223, 2224 и т. д. для SSH, а также для HTTP.
CTF VM использует WordPress, который доставлял мне огромные проблемы с переадресацией портов. Мне удалось заставить его работать с открытым высоким портом, поэтому я могу сделать это таким образом, а не перенаправлять на порт 80.
Настройка виртуальной сетевой среды на одном хосте (добавлено 25.11.2012)
Я помогаю студенту с проектом ботнета, для которого потребуется небольшая сеть виртуальных машин.Мы хотим, чтобы сеть имела следующие свойства:
- виртуальные машины должны иметь возможность свободно обмениваться данными друг с другом, без необходимости устанавливать множество сложных специальных правил переадресации портов. Виртуальные машины
- должны иметь возможность подключаться к Интернету для загрузки программного обеспечения и т. Д. Хост
- должен иметь возможность подключаться к виртуальным машинам по крайней мере через SSH. Подключение из глобальной сети Интернет к хосту не требуется.
В разумных средах виртуализации, таких как VMWare и (я думаю) KVM, все 3 могут быть удовлетворены NAT, который ведет себя как настройка домашнего маршрутизатора.Но VMWare стоит денег, а KVM требует 64-битной ОС; он не будет работать на наших 32-битных машинах с CentOS. Может, стоило установить 64-битную; оборудование примет это. Но уже слишком поздно.
Настройка NATVBox не будет работать, потому что гости изолированы друг от друга, в отличие от VMWare и KVM. Не знаю почему, но так оно и есть.
Итак, мы будем использовать сеть VBox только для хоста. Это удовлетворяет требованиям 1 и 3. Для № 2 мы изменим брандмауэр хоста. (Я также встречал предложения использовать NAT и только хост для каждого гостя. Звучит сложно. Возможно, это не так — я не пробовал, но я бы предпочел, чтобы настройки сети виртуальной машины учащегося были как можно более простыми.)
Я собираюсь настроить все на одном хосте, зяблик. Надеюсь, ресурсов хватит. Что касается памяти, Finch имеет 4 ГБ, поэтому 6 виртуальных машин, использующих 1/2 ГБ каждая, оставят 1 ГБ для хоста, чего должно быть достаточно. Я не думаю, что виртуальным машинам потребуется много одновременных процессоров; лучше не надо, так как их всего двое. Сетевого трафика не должно быть много.Пространство на жестком диске вызывает беспокойство, из жесткого диска объемом 50 ГБ (сейчас мало) доступно только 30 ГБ. Учащийся мог сэкономить место, используя связанные клоны. А если станет трудно, я могу освободить 7 ГБ, удалив пару виртуальных машин.
Если бы нам нужно было разделить вещи на несколько хостов, это было бы сложнее — может быть, мы использовали бы openvpn?
В любом случае, сначала я выключил работающую виртуальную машину и запретил ей автоматический запуск с помощью:
VBoxManage modifyvm <машина> --autostart-enabled off
Затем, на Finch, я добавил пользователя в группу vboxusers и настроил ее локальную конфигурацию VBox и каталоги виртуальных машин:
# Разрешить использовать VBox [root @ finch ~] usermod -aG vboxusers <пользователь> # Настроить каталоги и исправить разрешения / владение [root @ finch ~] cd / var / VBox-local / [root @ finch VBox-local] mkdir -p -m770 <пользователь> / ВМ [root @ finch VBox-local] mkdir -m700 <пользователь> / Config [корень @ зяблик VBox-local] chown -R <пользователь> <пользователь> [root @ finch VBox-local] chgrp vboxusers <пользователь> / * # Сделать символические ссылки. Должен бытьс root на # недоверенных публичных клиентов [root @ finch <пользователь>] su - <пользователь> [<пользователь> @finch ~] ln -s / var / VBox-local / / VMs / VirtualBox \ VMs [<пользователь> @finch ~] ln -s / var / VBox-local / <пользователь> / Config / .VirtualBox
Затем я вошел в систему Finch как этот пользователь, запустил VBox с «Virtualbox &» и добавил сеть vboxnet0 по умолчанию только для хоста с настройками по умолчанию.
На этом этапе виртуальные машины в сети только для хоста должны иметь возможность связываться друг с другом, а хост должен иметь возможность разговаривать с ними.Но мы хотим, чтобы виртуальные машины могли подключаться к более широкому Интернету. Итак, мы добавляем правила iptables в брандмауэр Finch.
К этому моменту я многое узнал об iptables. Мои основные ссылки были:
- Страница руководства для iptables
- Книга Linux Firewalls
- Протокол фильтрации пакетов HOWTO
Но я закончил тем, что в основном скопировал правила для виртуального моста KVM и диапазона IP-адресов (virbr0, 192. 168.122.0/24) на VBox (vboxnet0, 192.168.56.0/24). Чтобы добавить новые правила, я использовал system-config-firewall, который я уже использовал для открытия / переадресации некоторых портов для виртуальных машин CTF.В разделе «Custom Rules» я указал файлы, содержащие новые правила, по одному для таблиц forward, nat и mangle. Содержимое файла скопировано ниже для справки.
Возможно, некоторые из этих правил не нужны или избыточны. Но, похоже, они работают, и поиск минимального набора не стоит моего времени прямо сейчас.
Теперь мы просто даем студенту несколько советов по работе в этой новой среде:
- Использовать статические IP-адреса в 192.168.56. (2-99).
- Убедитесь, что MAC-адреса разные.Когда вы меняете MAC-адреса на машинах Ubuntu, возникает проблема конфигурации сети; это исправляется удалением /etc/udev/rules.d/70-persistent-net.rules и перезагрузкой.
- Поищите сценарии в VBoxManage.
- Запуск без подключения к VBoxHeadless для экономии ресурсов и предотвращения выхода виртуальных машин из строя при разрыве соединения (сначала убедитесь, что вы можете использовать ssh).
И, надеюсь, все будет работать. Посмотрим…
Пользовательские правила брандмауэра:
[root @ finch MikeVBox-relatedIPtablesFiddling] pwd / root / MikeVBox-relatedIPtablesFiddling [root @ finch MikeVBox-relatedIPtablesFiddling] cat vboxnet0-iptables-filter-rules # VBox iptables правила для таблицы фильтров # Загружен с пользовательскими правилами system-config-firewall # # Заимствовано из правил брандмауэра, созданных libvirtd # (получено с помощью 'iptables-save | grep virbr0> virbr0-rules', # и посмотрите http: // libvirt.org / firewall.html) # # Принимать запросы DNS и DHCP от гостей (не уверен, что мне это нужно) -A ВВОД -i vboxnet0 -p udp -m udp --dport 53 -j ПРИНЯТЬ -A ВХОД -i vboxnet0 -p tcp -m tcp --dport 53 -j ПРИНЯТЬ -A ВВОД -i vboxnet0 -p udp -m udp --dport 67 -j ПРИНЯТЬ -A ВХОД -i vboxnet0 -p tcp -m tcp --dport 67 -j ПРИНЯТЬ # # Разрешить входящие соединения, если они связаны с существующими исходящими соединениями -A ВПЕРЕД -d 192. 168.56.0/24 -o vboxnet0 -m state --state СВЯЗАННО, УСТАНОВЛЕНО -j ПРИНЯТЬ # #... и разрешить исходящие соединения -A ВПЕРЕД -s 192.168.56.0/24 -i vboxnet0 -j ПРИНЯТЬ ## # Разрешить гостям общаться между собой -A ВПЕРЕД -i vboxnet0 -o vboxnet0 -j ПРИНЯТЬ # # Nuke все остальное в / из vboxnet0 -A FORWARD -o vboxnet0 -j REJECT --reject-with icmp-port-unreachable -A FORWARD -i vboxnet0 -j REJECT --reject-with icmp-port-unreachable [root @ finch MikeVBox-relatedIPtablesFiddling] cat vboxnet0-iptables-nat-rules # VBox iptables правила для таблицы nat # Загружен с пользовательскими правилами system-config-firewall # # Заимствовано из правил брандмауэра, созданных libvirtd # (вручную скопировано и изменено из раздела nat iptables-save) # -А ПОСТАВКА -s 192.168.56.0 / 24! -d 192.168.56.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535 -A POSTROUTING -s 192.168.56.0/24! -d 192.168.56.0/24 -p udp -j MASQUERADE --to-ports 1024-65535 -A POSTROUTING -s 192.168.56.0/24! -d 192.168. 56.0/24 -j МАСКАРАД [root @ finch MikeVBox-relatedIPtablesFiddling] cat vboxnet0-iptables-mangle-rules # VBox iptables правила для таблицы mangle # Загружен с пользовательскими правилами system-config-firewall # # Это как-то связано с ответами DHCP.Не уверен, что мне это нужно. # Хотелось бы, чтобы я понял это лучше. -A POSTROUTING -o vboxnet0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill [root @ finch MikeVBox-relatedIPtablesFiddling]
Почему, когда и как использовать виртуальную машину
Должен признать, что до недавнего времени я не был большим поклонником виртуальных машин для личного пользования. Как защитник Linux, который старался переводить пользователей на Linux, виртуальные машины не служили для меня никакой цели.
Еще в 2005 году самой большой проблемой для Linux было оборудование: беспроводная связь не работала; Bluetooth мог не работать, графика давала сбои, и даже USB-устройства, такие как ручки для планшетов, отказывались разговаривать. Каждый раз, когда вы сталкивались с новым устройством, вам приходилось искать драйверы и оболочки, чтобы все работало. Пользователю Linux нужно было взаимодействовать с «настоящим» оборудованием, чтобы найти решение; о виртуальной машине не могло быть и речи. Как Linux-журналист, я не мог полагаться на виртуальную машину, чтобы просмотреть дистрибутив и рекомендовать его. Мне нужно было знать, насколько хорошо это работает с «настоящим» металлом.
Однако все изменилось. Благодаря работе, проделанной разработчиками ядра, такими как Грег Кроа-Хартман, большая часть оборудования работает в Linux «из коробки».Поддержка оборудования становится все менее и менее важной, и акцент сместился на уникальные особенности дистрибутивов. В последнее время я стал активным пользователем виртуальных машин, что позволяет мне безопасно играть с несколькими дистрибутивами на одной машине и писать о них.
Виртуальные машины широко используются в корпоративном сегменте, но в этой статье я расскажу о преимуществах виртуальных машин для новых пользователей Linux и о том, как они могут извлечь из них пользу.
Кому нужна виртуальная машина?
Многим пользователям Linux приходится выполнять двойную загрузку, потому что им нужно определенное проприетарное программное обеспечение или услуги, которые еще не доступны для Linux.Во многих странах программное обеспечение, необходимое для налоговой отчетности и другой работы, связанной с государственными органами, поддерживается только в Windows. Вместо того, чтобы проходить через сложность и боль двойной загрузки, вы можете легко использовать виртуальную машину для запуска программного обеспечения Windows.
Глядя на уязвимости, обнаруженные в Microsoft Windows, я был бы очень осторожен с ее запуском в моей основной системе. Мне гораздо удобнее держать Windows в замкнутой виртуальной среде. Таким образом, даже если он будет скомпрометирован, он не повредит всю мою систему или данные и повлияет только на ограниченный набор файлов, к которым он имел доступ.Я запускаю машину с Windows 8.1 в виртуальной среде для выполнения определенных задач, которые невозможно выполнить в Linux, хотя я редко использую эту машину.
Одна из областей, где виртуальные машины не работают, — это игры. Чтобы получить желаемый игровой процесс, вам нужно поговорить с реальным процессором, графическим процессором и оперативной памятью, особенно если вы играете в ресурсоемкие игры, такие как Crysis. Редактирование аудио и видео также не будет работать, поскольку вам не нужен виртуальный слой между приложением и оборудованием. Помимо этих и некоторых других областей, виртуальные машины отлично работают.
Виртуальные машинытакже могут быть полезны для тех пользователей, которые не используют Linux, которые хотят поиграть с Linux или перейти на него, но не хотят прыгать через акулу, форматируя ОС, к которой они привыкли, и переходят на Linux. Виртуальные машины позволяют этим пользователям чувствовать себя комфортно с Linux, поэтому они могут уверенно переключиться, когда будут готовы. И вы можете запустить Linux «внутри» своей блестящей Mac OS X или Windows 10.
Самое лучшее в виртуальных машинах — это то, что я могу запускать несколько дистрибутивов Linux на одном оборудовании без необходимости перезагрузки для переключения между дистрибутивами. Для меня, как Linux-журналиста, чрезвычайно важно запускать различные дистрибутивы и следить за ними. А для пользователя Linux еще важнее хорошо разбираться во всех основных дистрибутивах, вместо того, чтобы быть «привязанным к поставщику» или полностью зависеть от кого-либо. Используя виртуальные машины, я также могу запускать разные среды рабочего стола в одной системе, не выходя из системы для изменения среды.
Если вы стремитесь стать системным администратором или разработчиком, вы, конечно, не хотите знать только один дистрибутив; вы должны быть экспертом в любом Linux; вы никогда не знаете, какую ОС будет использовать ваш работодатель или клиент.Вы не можете сказать «извините, я знаю только Ubuntu». Если вы разработчик, вам нужны разные дистрибутивы для тестирования ваших приложений.
Вы можете ясно видеть, что использование виртуальных машин дает множество преимуществ. Самым большим преимуществом использования виртуализации вместо мультизагрузки является эффективность. Раньше я тратил слишком много времени на форматирование жестких дисков и переключение между дистрибутивами. С виртуальными машинами вы можете запустить новую виртуальную машину для дистрибутива, не влияя на вашу работу; это так же просто, как открыть новое приложение.
Если вы любитель дистрибутивов или энтузиаст, как я, тогда виртуальная машина — это счастье. Я пользователь Arch Linux, но слежу за полдюжиной других дистрибутивов, включая openSUSE, Kubuntu, Ubuntu, Fedora, Linux Mint и т. Д. Для меня «практически» невозможно иметь шесть физических машин, что тратит впустую финансовые ресурсы и электричество и занимают место. Вместо того, чтобы покупать шесть физических машин, я бы предпочел инвестировать в больший объем оперативной памяти и многоядерный процессор, который может обрабатывать больше виртуальных машин.Сейчас я запускаю почти дюжину дистрибутивов (включая Windows) на одной машине; и нет простоев.
Какую виртуальную машину использовать
Поскольку мы говорим здесь о Linux, у вас есть несколько вариантов, таких как VMware, Qemu, KVM, Xen и VirtualBox, среди многих других; у каждого свои плюсы и минусы. Из них я предпочитаю VirtualBox (см. Рисунок 1 выше), хотя такие решения, как KVM, могут быть более мощными и эффективными. Причина, по которой я выбрал VirtualBox, заключается в том, что им очень легко пользоваться даже новичку в Linux.Он имеет множество функций и возможностей, к которым можно легко получить доступ без каких-либо серьезных технических знаний. Самым большим преимуществом является кроссплатформенная поддержка — вы можете установить VirtualBox в Linux, Windows и Mac OS X.
Как использовать VirtualBox
Вы можете скачать VirtualBox и установить его в своей системе как обычное приложение. Для этой истории я установил VirtualBox на MacBook Pro, чтобы использовать Linux на том же компьютере. Откройте приложение VirtualBox и нажмите кнопку New , чтобы создать новую виртуальную машину.Дайте машине имя (которое должно быть названием дистрибутива). Затем введите объем оперативной памяти, который вы хотите выделить для виртуальной машины.
Теперь вам нужно создать виртуальный жесткий диск для системы; Я бы предложил формат VDI. Здесь вы можете выбрать динамически выделяемый размер, поскольку он не резервирует все выделенное пространство и будет увеличиваться по мере использования большего объема. Однако он не может превышать выделенное вами пространство. На следующем этапе вы можете выбрать объем пространства, который хотите выделить для виртуального жесткого диска.На этом этапе вы также можете выбрать расположение диска на физическом жестком диске.
Вы почти у цели; вы увидите имя только что созданной виртуальной машины на левой панели. Когда вы нажимаете на него, чтобы запустить систему, при первом запуске он запросит ISO-образ дистрибутива, который вы хотите установить в системе. Просто перейдите к образу .iso желаемого дистрибутива, и вы получите дистрибутив Linux, работающий внутри Mac OS X (рисунок 2).
Одним из преимуществ является то, что после того, как у вас есть виртуальная машина, вы можете просто переместить vdi-файл и запустить тот же дистрибутив со всеми настройками и данными. Это удобно, если вы переходите с одного хоста (хост — это система, в которой вы устанавливаете программное обеспечение VirtualBox, а гость — это ОС, которая работает внутри VirtualBox) на другой.
Настройка виртуальных машин
В зависимости от вашего дистрибутива вы можете или не сможете получить полное разрешение экрана. В таких случаях вам придется установить некоторые пакеты виртуальных боксов внутри гостевой ОС. Наиболее распространенными являются пакеты virtualbox-guest-adds-iso , virtualbox-guest-x11 , virtualbox-guest-dkms и virtualbox-guest-utils (рисунок 3).
Вы можете дополнительно настроить параметры VirtualBox, чтобы приблизить гостевую и хост-ОС. Выключите виртуальную машину и нажмите Настройки для этой машины. На вкладке General перейдите к Advanced и выберите Bidirectional для общего буфера обмена и перетаскивания. Теперь вы можете копировать и вставлять текст между гостевыми и хост-машинами. Вы также сможете легко перетаскивать файлы между двумя машинами.
В некоторых случаях вам может также потребоваться изменить сеть по умолчанию с NAT на Мостовой адаптер для доступа к локальной сети (рисунок 5).Я запускаю локальный файловый сервер, поэтому всегда переключаюсь на мостовой адаптер (подробнее о совместном использовании файлов позже).
Вы также можете изменить объем ОЗУ, выделенного виртуальной машине, просто откройте Систему в настройках и измените ОЗУ на вкладке Материнская плата; если вам нужно увеличить емкость ЦП виртуальной машины, вы можете легко сделать это на вкладке «Процессор». Что вы не можете легко изменить, так это место для хранения; это требует дополнительной работы, так что будьте внимательны с местом на жестком диске при создании виртуальной машины.
Как предоставить общий доступ к каталогам между хостом и гостем
В настройках вы найдете параметр, в котором вы можете добавить «общие» папки с хост-машины в гостевую систему. Однако, поскольку я запускаю локальный файловый сервер, на котором хранятся все мои файлы, я просто подключаю файловый сервер к виртуальной машине, а затем получаю доступ ко всем своим файлам. Вы также можете разрешить доступ к USB-портам, чтобы использовать USB-устройства, подключенные к системе. Просто перейдите на вкладку портов и добавьте любые USB-устройства, подключенные к системе.
Это примерно то, что я делаю на своем VirtualBox. Если вы раньше не пробовали VirtualBox и выполняли несколько загрузок, вам стоит попробовать виртуальные машины. Если вы являетесь пользователем VirtualBox, сообщите нам в комментариях, для чего вы его используете.
Зачем нужна виртуальная машина
Я загрузчик дистрибутива. Отчасти это потому, что как технический журналист мне нужно следить за всеми рассылками. И отчасти потому, что я из тех пользователей Linux, которые всегда ищут новые возможности.
Было время, когда у меня было несколько разделов на моей машине для установки разных дистрибутивов. И я предполагаю, что многие пользователи Linux до сих пор так делают.
В прежние времена установка дистрибутива на физическую машину имела смысл, потому что возникали проблемы с драйверами. Многие аппаратные компоненты, такие как беспроводная связь, bluetooth или графический процессор (блок обработки графиков или графические карты), не будут работать. Таким образом, рецензент должен был проверить наличие таких проблем с совместимостью и предупредить пользователей.Времена изменились. Благодаря работе, проделанной разработчиками ядра, такими как Грег Кроа-Хартман, почти все теперь работает «из коробки».
В результате больше не требуется запускать дистрибутив Linux на физической машине.
У виртуальных машин есть два очевидных преимущества: 1) Вы можете установить несколько дистрибутивов в одной системе и использовать их одновременно. 2) Ваша работа не будет прервана на время установки новых дистрибутивов. (Одним из недостатков установки ОС на «голое железо» является то, что вы не можете использовать систему во время установки, а если что-то пойдет не так, вам придется потратить время на ее устранение, прежде чем у вас появится рабочая машина. )
Кроме того, новые виртуальные машины запускаются очень быстро. И как только вы закончите тестирование, просто удалите их. Не нужно возиться с загрузчиком и прочим.
Есть много других преимуществ использования виртуальных машин: Вы можете запустить Windows в Linux для выполнения тех задач, которые могут быть выполнены только в Windows. Он также предлагает более безопасную среду для небезопасных вещей. Если что-то будет повреждено, только эта виртуальная машина будет скомпрометирована, а ваша основная система останется нетронутой.
Виртуальные машины — рай для тестировщиков.Если вы хотите протестировать новейшее программное обеспечение или дистрибутивы, не стоит рисковать своими данными и основной системой. Практически по определению новейшее программное обеспечение рано или поздно сломается. Такие операционные системы и приложения лучше всегда запускать в виртуальной среде.
Виртуальные машины также очень полезны, если вы хотите узнать о Linux. Допустим, вы хотите освоить Fedora, CentOS, openSUSE, Debian…. Было бы очень контрпродуктивно настраивать мультизагрузочную систему и загружаться в каждую систему индивидуально.Вместо этого установите автономные дистрибутивы на виртуальную машину, а затем по ssh в эти системы и научитесь управлять всей системой через ssh.
Это также отлично подходит для нас, рецензентов, поскольку мы можем делать скриншоты и записывать видео этапов перед загрузкой.
При этом у виртуальных машин есть некоторые заметные ограничения.
В зависимости от программного обеспечения виртуальной машины, которое вы используете, вам придется выделить для этой виртуальной машины определенный объем системных ресурсов — ОЗУ и ЦП.Таким образом, гостевая ОС (та, которая работает внутри виртуальной машины) не будет иметь доступа к реальному или целому оборудованию. Также невозможно запускать высококачественные игры или программное обеспечение для редактирования фильмов, которым может потребоваться полный доступ к ЦП, графическому процессору и ОЗУ для оптимальной производительности.
Вам также понадобится приличная оперативная память (у меня 32 ГБ) для запуска нескольких дистрибутивов, а также мощный процессор. Однако гораздо дешевле и эффективнее купить больше оперативной памяти, чем создавать новую систему для других дистрибутивов.
Заключение
Если вы пользуетесь загрузкой дистрибутива или кому-то требуется более одной операционной системы в любой момент времени, попробуйте виртуальные машины.Это лучше, чем двойная загрузка.
Доступно множество виртуальных машин: VirtualBox, VMWare Player, KVM и QEMU и другие. Для новичков я предлагаю Virtualbox, потому что он прост в использовании и доступен для Linux, Windows и Mac OS X.
Copyright © 2015 IDG Communications, Inc.
Ubuntu с VirtualBox и KDE4 на MacbookPro — CodeHopper
30 декабря 2008 г.
Сегодня я решил потратить немного времени на настройку Ubuntu VBox на моем MacbookPro.Я получил сообщение об ошибке «ваша система не поддерживается нами» при подключении к удаленной службе, которая, в свою очередь, сообщила, что Linux действительно поддерживается. (Не) Справедливо, я люблю Linux гораздо больше, чем Mac. Даже если создание Mac с тройной загрузкой (hine) уже запланировано, у меня не было времени тратить на первую попытку BootCamp, поэтому я решил более быстрый способ: установить VirtualBox, получить уже установленный и настроенный Ubuntu VBox и работать с ним. Это действительно простая и понятная работа:
Установите VirtualBox — если ваш Mac основан на Intel, есть удобный установщик dmg, который вы можете загрузить с домашнего сайта VirtualBox
Загрузите предварительно настроенный VBox — установка Linux виртуальная машина с нуля, т.е.е. из ISO-образов распространения, на самом деле это не ракетостроение, но мы хотим действовать быстро, хотя на этот раз не грязь. К счастью, проект образов VirtualBox сделал доступным ряд готовых к использованию образов * nix, таких как Ubuntu, RedHat, OpenSolaris или даже ReactOS! Я взял Ubuntu Server Intrepid Ibex (имя пользователя / пароль: ubuntu / reverse). Вам понадобится программное обеспечение 7zip для извлечения VBox
Настройте VBox — для этого шага необходимо, чтобы вы уже извлекли VBox из пакета 7zip.Я использовал 7zX, но в интернете их куча. Теперь запустите программное обеспечение VirtualBox и добавьте диск VBox с помощью File-> Virtual Media Manager -> Add, выбрав файл в папке VDI взорванного пакета. Это будет ваш виртуальный жесткий диск с максимальной емкостью 20 ГБ. Затем вы можете следовать мастеру «Машина» -> «Создать», выбрав Ubuntu Linux и виртуальный диск, только что настроенный, чтобы завершить настройку. Единственное, что мне пришлось изменить по сравнению с параметрами по умолчанию, — это на вкладке «Общие» в настройках вновь созданного VBox включить функцию PAE , иначе ваш VBox не запустится.
Запускаем ваш VBox и устанавливаем — мы почти закончили. У меня была небольшая проблема с сетью, которая была правильно настроена на панели настроек, но не работала: сетевой интерфейс не работал. Из dmesg я также заметил, что имя iface отличается от того, что я предполагал. Это помогло:
ubuntu @ ubuntu: ~ $ sudo ifconfig eth2 up
ubuntu @ ubuntu: ~ $ sudo dhclient eth2
Затем я заметил, что среда рабочего стола еще не была установлена, но мы знаем, как ее использовать (я люблю дистрибутивы Deb *, как вы знаете :)):
ubuntu @ ubuntu: ~ $ sudo apt-get install kde yaquake firefox
Примерно через 1 час (мое интернет-соединение — отстой, я это знаю) все было настроено и готово к использованию.Вот результат:
Надо сказать, работает неплохо. Не чемпион по скорости, но помимо виртуальной машины у меня было много других вещей, например, экземпляры JBoss, Eclipse и Firefox.
Ну вот и все. Заботиться!
Twitter Facebook Google+
Пожалуйста, включите JavaScript, чтобы просматривать комментарии от Disqus.
HOPPER CLUSTER НОВАЯ ОРИЕНТАЦИЯ ПОЛЬЗОВАТЕЛЯ Февраль скачать ppt
Презентация на тему: «НОВАЯ ПОЛЬЗОВАТЕЛЬСКАЯ ОРИЕНТАЦИЯ КЛАСТЕРА HOPPER, февраль 2018.»- стенограмма презентации:
1 HOPPER CLUSTER НОВАЯ ОРИЕНТАЦИЯ ПОЛЬЗОВАТЕЛЯ Февраль 2018
2 ДОБРО ПОЖАЛОВАТЬ И ВВЕДЕНИЕ
АДМИНИСТРАЦИЯ И ПОДДЕРЖКА СИСТЕМЫ HPC Фрэнк Хендерсон | Брэдли Морган | Мэтт Смит | Кинан Терри | Джефф Февраль 2018
3 HPC ОБЗОР Цель и влияние CASIC Cluster (2013)
Hopper Cluster (2016) Future Resources Джефф Февраль 2018
4 Рост вычислительной мощности Auburn Февраль 2018 г. Фаза хоппера 3
CASIC Фаза хоппера 1 Фаза хоппера 2269 узлов / ~ 175 терафлопс 209 узлов / 134 терафлопс 117 узлов / 88 терафлопс Джефф 74 узла / 20 терафлопс 2013 ЯНВ 2016 НОЯБРЬ 2016 ОКТЯБРЬ 2017 Февраль 2018 г.
5 Сегодняшние темы Основные инструменты и методы командной строки
Research Software: поиск, использование, запрос и компиляция задания Отправка заданий Составление расписания Устранение неполадок Оценка Джефф Февраль 2018 г. Высокопроизводительные вычисления в Auburn
6 Подключение к системе Linux с помощью клиентов SSH
Давайте начнем подключение к системе Linux с помощью клиентов SSH Windows Mac OS Linux * PuTTY: putty.org SecureCRT: auburn.edu/download WinSCP (Передача файлов): Эмуляция *: VMWare, Cygwin Терминальное приложение: Приложения> Утилиты> Параметры третьей стороны терминала: Подсказка (iOS): panic. com/prompt Передача (Передача файлов): паника. com / transfer Emulation *: VMWare Fusion, VirtualBox gnome-terminal: / usr / bin Desktop \ DE default Runlevel 3 **: / etc / inittab Ctrl-Alt-F3 Рекомендуемое распространение: CentOS: centos.org Bradley * Продвинутые пользователи Февраль 2018 г. Кластерный доступ и базовая архитектура
7 Начнем с февраля 2018 г. Кластерный доступ и базовая архитектура
Узел входа в систему (требуется адрес кампуса или VPN) $ ssh Узел входа в систему Планировщик клиента Secure Shell GPFS / home / scratch / tools Bradley Не запускайте интенсивные процессы на узле входа! Февраль 2018 г. Доступ к кластерам и базовая архитектура
8 ОСНОВНЫЕ КОНЦЕПЦИИ Почему Linux? Краткая история дистрибутивов Linux
The Shell Kendall, февраль 2018 г. Концепции и основы
9 Почему Linux? Все 500 ведущих суперкомпьютеров мира используют Linux.
Подавляющее большинство исследовательского программного обеспечения, доступного для Linux, Linux имеет открытый исходный код, легко настраиваемый, легко адаптируемый Linux — мощный и потрясающий Кендалл Февраль 2018 г. Концепции и основы
10 КРАТКАЯ ИСТОРИЯ LINUX
UNIX, Bell Labs 1969 Ранние мэйнфреймы BSD, 1977 GNU Project, 1983 1987 MINIX 1991 LINUX Кендалл Февраль 2018 Концепции и основы
11 Синтаксис команды: $ command [необязательный]
LINUX & BASH Command Syntax: $ command [optional]
12 LINUX и BASH Февраль 2018 г. Оболочка, скрытые файлы и процессы
$ chmod <разрешения> <файл> $ chown
13 Файлы и каталоги Февраль 2018 Пути файловой системы Linux
Текстовая версия папок в графическом интерфейсе пользователя Windows Прямая косая черта (/) / путь / к / домашнему каталогу файла / home /
14 Файлы и каталоги Февраль 2018 Файловая система Linux
Владение и права доступа к файлу Доступ к файлу контролируется на трех уровнях: владелец, группа, мировые пользователи и группы. Пользователь, который создает файл или каталог, является владельцем. Владельцы могут изменять права своих прав. файлы (chown) Могут изменять групповой доступ, если они являются членами группы (chown) Чтение, Запись, Выполнение (RWX) Владелец (Пользователь), Группа и Мир chmod and chown Брэдли Февраль 2018 Файловая система Linux
15 Разрешения FiLE Февраль 2018 Файловая система Linux
drwxrwxr-x 4 hpcadmin hpcadmin 4 октября 10:45.drwxr-xr-x 7 hpcadmin hpcadmin 4 октября 10:43 .. drwx hpcadmin hpcadmin_lab 4096 4 октября 10:45 dir1 drwxr-xr-x 2 Исследование hpcadmin 4 октября 10:45 dir2 -rwx hpcadmin hpcadmin 4 октября 10:45 file1 — rwxrwx — 1 hpcadmin hpcadmin_lab 12 октября 4 10:45 file2 -rwxrwxrwx 1 hpcadmin hpcadmin 4 октября 10:45 file3 -rw hpcadmin hpcadmin 4 октября 10:45 file4 -rw-rw hpcadmin hpcadmin_lab 12 октября 4 10:45 file5 -rw -rw-rw- 1 hpcadmin hpcadmin_lab 12 октября 4 10:45 file6 -r hpcadmin hpcadmin 4 октября 10:45 file7 -r — r hpcadmin hpcadmin 4 октября 10:45 file8 -r — r — r— 1 hpcadmin hpcadmin 4 октября, 10:45 file9 Брэдли, февраль 2018 г. Файловая система Linux
16 Файлы и каталоги Брэдли Февраль 2018 Файловая система Linux
17
Упражнение : Часть I Февраль 2018 г. Начало работы и основные команды Linux
Упражнение в лаборатории Брэдли: Часть I: Начало работы и основные команды Linux Февраль 2018 г. Начало работы и основные команды Linux
18 RESEARCH SOFTWARE Февраль 2018 Типичные рабочие нагрузки
OpenMP \ PTHREADS \ Multithreaded Message Passing Interface (MPI) Параллельный GNU с большой памятью Внутреннее распараллеливание Bradley Февраль 2018 Типичные рабочие нагрузки
19
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ ИССЛЕДОВАНИЙ Февраль 2018 г. Проблемы с программным обеспечением для исследований
Зависимости очень динамичны Требуется манипулирование средой оболочки Обычно требуется компиляция, специфичная для целевой системы Может быть установлена и использована в домашнем каталоге Или устанавливается администраторами HPC: многие популярные программы, компиляторы и библиотеки уже доступны… Bradley Февраль 2018 г. Исследования в области программного обеспечения
20
СРЕДА Февраль 2018 Оболочка, скрытые файлы и процессы
Традиционный метод $ echo $ PATH $ echo $ LD_LIBRARY_PATH $ export PATH = $ PATH: / home / username / custom / bin $ export LD_LIBRARY_PATH = / home / username / custom / lib : $ LD_LIBRARY_PATH Метод модуля среды $ module load
21 год КОМПИЛЯЦИЯ Февраль 2018 Компиляция традиционной инструментальной цепочки GNU
$ wget <$ tar –xvzf
22 СОСТАВЛЕНИЕ ОБЩИХ ПРОБЛЕМ Февраль 2018 г. Компиляция отсутствующих зависимостей
$ gcc foo.c –o foo./ foo: ошибка при загрузке общих библиотек: libfoo.so: невозможно открыть файл общих объектов: нет такого файла или каталога. Загрузите соответствующий модуль, проверьте LD_LIBRARY_PATH, чтобы убедиться, что расположение библиотеки там. Совет: GCC Linker ожидает, что имя модуля будет libfoo.so. x Неверный компилятор $ gcc mpifoo.c –o mpifoo mpifoo.c :(. text + 0x33): undefined ссылка на `MPI_Init ‘Брэдли В этом случае в исходном коде есть символы, которые не распознаются обычным GCC. использовать оболочку компилятора OpenMPI, mpicc, для компиляции этого исходного кода.Февраль 2018 Составление
23
Упражнение : часть II, февраль 2018 г. Упражнение в лаборатории Кинана:
Часть II: программное обеспечение для исследований, февраль 2018 г.
24 Брэдли Февраль 2018 г.
25 ПРЕДСТАВЛЕНИЕ ЗАДАНИЙ Февраль 2018 Команды планировщика Отправка заданий
$ qsub [options]
26 ПРЕДСТАВЛЕНИЕ ЗАДАНИЙ Февраль 2018 Команды планировщика Просмотр очередей
$ qstat -q Указать параметры сценария $ qsub –F
27
Упражнение : Часть III, февраль 2018 г. Упражнение в лаборатории Кинана:
Часть III: Прием вакансий, февраль 2018
28 РАСПИСАНИЕ РАБОТЫ Какие ресурсы доступны? Когда будет работать моя работа?
Кинан Чтобы ответить на эти вопросы, необходимо понять цель кластера.Февраль 2018 г.
29 Цель: Максимальное использование ресурсов кластера, гарантируя инвесторам приобретенные ими ресурсы. Кинан Как этого добиться? Планировщик может легко запускать задания по порядку (то есть последовательно, как отправлено или FIFO), но это не достигнет цели. Должна быть возможность запускать задания вне очереди. Сделайте это, используя 1) обратную засыпку и 2) резервирование. Февраль 2018 г.
30
Упражнение : Часть IV, февраль 2018 г. Упражнение в лаборатории Кинана:
Часть IV: Планирование работ, февраль 2018 г.
31 год Лучшие практики Февраль 2018 г.
32 Напоминания Февраль 2018 г. Сохраните все напоминания для использования в будущем.
Но используйте только часть из них для любого дня открытых дверей. Февраль 2018 г.
33 ЦИТАТЫ И ПОДТВЕРЖДЕНИЕ
Пожалуйста, помогите показать важность ресурсов высокопроизводительных вычислений в исследованиях в Обернском университете, цитируя их в любых публикациях или презентациях, которые стали возможными с использованием CASIC или Hopper Clusters. Джефф Власть за власть оценивает важность высокопроизводительных вычислений в Auburn.Признание роли Хоппера в вашем исследовании — лучшее, что вы можете сделать, чтобы сделать высокопроизводительные вычисления приоритетными. Февраль 2018 г.
34 AUBURN HPC v. СУПЕРКОМПЬЮТЕР ALABAMA
Два отдельных объекта. Пожалуйста, предоставьте кредит соответствующему учреждению. Мы НЕ такие, как Управление суперкомпьютеров Алабамы. Февраль 2018 г.
35 год Оценка курса http: // aub.ie / hpceval Февраль 2018 г.
Чтобы ответить на эти вопросы, необходимо понимать цель кластера. Февраль 2018 г.
36 РЕСУРСЫ HPC Общая информация: https://hpc.auburn.edu
Блог сообщества HPC: Руководство пользователя Hopper: Список рассылки Hopper HPC: Список рассылки CASIC HPC: Джефф Февраль 2018 г. High Performance Computing at Auburn
HyFlexing наш #HopperStrong 💪🏽💪🏼💪🏾 | Рассказ
«Видеть детей творит чудеса для меня как учителя.»- Кейт Мэлони, учитель 6-го класса
Учащиеся и учителя воссоединились на этой неделе в кампусе с учениками ПК – 8-х классов, в полной мере воспользовавшись преимуществами нового здания младшей / средней школы. GDS, возможно, не была самой быстрой местной школой, которая вернула учащихся на место, но преднамеренный подход был сфокусирован на долгосрочном здоровье сообщества и на возвращении к личному обучению для каждого ученика.
«Наблюдение за детьми творит чудеса для меня как учителя», — сказала учительница 6-го класса Кейт Мэлони, наблюдая за обучением HyFlex в 5-м классе на третьем этаже нового здания.«Мы снова занялись любимой работой — тем, что привело нас к преподаванию. Коллега рассказывала мне вчера, что она почувствовала, что ее истинное «я» восстановилось. Особенно воодушевляет то, что дети переживают это и продолжают устанавливать настоящие связи ». Кейт также добавила, что как учитель средней школы: «Было здорово знать, что мы действительно все вместе».
учащихся средней школы участвовали в обучении, полученном от учителей перед ними в классе и на экране из других частей здания, чтобы исключить путешествия и смешение групп.В одном виртуальном языковом классе несколько учеников, сидевших рядом друг с другом, были рады обнаружить, что их отправили в одну комнату для обсуждения. Они получили разрешение сотрудничать над проектом лицом к лицу, сидя на расстоянии шести футов друг от друга в новом общественном месте за пределами своей классной комнаты.
На втором этаже ученики учительницы 2-го класса Даниэль Бернштейн виртуально присоединились к своему классу музыки. В масках, на расстоянии шести футов друг от друга, они хлопали и топали ритмы в унисон, и без наушников и шнуров выглядели как хорошо поставленная степ-труппа.Между тем, Даниэль, которая раньше днем читала ученикам вслух, работала рядом с другими коллегами по второму классу в общежитии.
«Я была так счастлива выполнять свою настоящую работу», — сказала Даниэль. «Я чувствую, что все заботы и заботы о здоровье все еще присутствуют, но есть также настоящая радость, которая пронизывает класс и меня. Мы моем руки, соблюдаем дистанцию и надеваем маски — как и все данные говорят нам, — и я чувствую себя хорошо, что мы вернулись.Мы снова относились к этому как к первому школьному дню. Все дело в рутине, в том, чтобы быть вместе и в облегчении обучения ».
Учащиеся 3-го класса воспользовались открытием, что длинные столы в инновационных пространствах имеют поверхность доски для сухого стирания. Тут и там по всей комнате можно было увидеть забавные рисунки. Пара студентов решили сесть на столешницу под большими окнами, чтобы держаться на безопасном расстоянии, так как они разговаривали с одноклассниками в целях защиты от COVID.
В детском саду Джоди учащиеся исследовали различные отдельные станции: одна — с недавно продезинфицированными куклами, другая — с Lego, а третья — с игрушечным парусным кораблем. Дальше по коридору консультант младших и средних школ Мерил Хейлигер вела урок эмоций в классе Бьянки с большим мягким кимочи, что по-японски означает «чувства».
Внизу, в библиотеке, класс Мишель из детского сада вернулся в класс из P.E. на поле с Уильямом, Кэлли, Дж.Т., и Пег. Раньше можно было слышать голос Пег, сильно усиленный ее портативной колонкой, когда дети выполняли движения. Вернувшись в класс, воспитанники приступили к уроку математики, после чего последовали индивидуальные занятия в своих рабочих тетрадях по математике.
«Мне пришлось простить себя и сказать себе, что я не собираюсь знать все о том, как это будет выглядеть», — сказала воспитательница детского сада Мишель Леви. «Лучший способ узнать, как заставить это работать для моих учеников, — это вернуться в класс.Было очень важно находиться в классе и позволять им общаться друг с другом — даже если мы не добились всего, что я запланировал. Эти связи практически отсутствовали. Это новое начало учебного года, и это нормально. Нам нужно строить отношения за пределами этой виртуальной коробки, и ученики были действительно восприимчивы. Они понимают ситуацию, даже будучи воспитанниками детского сада, и я могу быть реальным с ними, когда говорю, что мы учимся делать [школу в этой среде] вместе — что мы в этом вместе.”
GDS работает над таким осмысленным, безопасным, личным взаимодействием этой осенью, даже несмотря на то, что учителя взаимодействуют со своими учениками виртуально. Было большим благословением видеть, что школа HyFlex предлагает свою команду #HopperStrong, чтобы эта работа продолжалась в краткосрочной перспективе. И, несмотря на трудности, это снова похоже на школу. До скорой встречи, старшая школа!
Как избавиться от вредоносного ПО на macOS, не заразившись | Часть 1
Ресурсы для изучения анализа вредоносных программ и обратного проектирования имеются в большом количестве для платформы Windows и PE-файлов, но для сравнения существует очень мало литературы или руководств для тех, кто хочет конкретно узнать, как обратить вспять вредоносное ПО для macOS и методы анализа вредоносного ПО для macOS.
В этой серии публикаций вы возьмете образец файла и воспользуетесь собственными инструментами и методами, чтобы понять, что делает файл, и составить список из IoC
(индикаторы взлома), которые можно использовать для обнаружения.
Поскольку необходимо охватить много вопросов, руководство разделено на несколько частей. В части 1 вы узнаете, как настроить безопасную среду для тестирования вредоносных программ на macOS. Вы установите все необходимые инструменты (бонус: не стоит ни цента!) И узнаете, откуда можно получить образцы вредоносного ПО для macOS.Вы исследуете пакет приложений и его содержимое, чтобы понять, как оно работает, и найдете интересный зашифрованный текстовый файл. В части 2 вы познакомитесь с основами статического анализа двоичных файлов Mach-O, собственного исполняемого файла для macOS. В части 3 вы будете использовать методы динамического анализа для контролируемого выполнения файла вредоносной программы и чтения кода из памяти.
Если вы когда-нибудь хотели узнать, как избавиться от вредоносных программ в macOS, это место для начала!
Как настроить безопасную среду для тестирования вредоносных программ
Чтобы протестировать вредоносное ПО, вам необходимо загрузить программное обеспечение виртуализации для работы гостевой операционной системы.В macOS есть три основных варианта: VirtualBox, Parallels и VMWare. У меня нет предпочтений здесь, поэтому выберите один, прочтите документацию по настройке виртуальной машины macOS (подойдет любая последняя версия, но в этом руководстве будет использоваться экземпляр виртуальной машины Parallels Desktop под управлением macOS 10.14.3) и вернитесь сюда, когда вы ‘ повторно готов.
Ознакомьтесь с параметрами конфигурации вашей гостевой ОС. Вам нужно изменить кое-что. Во-первых, виртуальные машины могут отставать, поэтому убедитесь, что вы предоставили виртуальной машине достаточно оперативной памяти: 2 ГБ — это минимум, но 4 ГБ должны упростить работу. По той же причине увеличьте объем графической памяти как минимум до 512 МБ.
Некоторые вредоносные программы пытаются определить, запускаете ли вы их на виртуальной машине, и в результате изменяют свое поведение. Хотя мы не будем рассматривать эту ситуацию в этом руководстве, одна уловка, которая может помочь, — это изменить MAC-адрес компьютера по умолчанию. Для Parallels измените MAC-адрес так, чтобы он не начинался с 00-1C-42
, для VirtualBox измените его на любой другой, кроме 08-00-27
, а для VMWare избегайте следующих префиксов: 00-50 -56
, 00-0C-29
и 00-05-69
.
Изолируйте своих гостей macOS!
Самое главное, изолируйте гостевую виртуальную машину от вашего реального компьютера («хоста»). Это означает, что вы не должны предоставлять общий доступ к дискам или папкам, включая резервные копии. Вредоносная программа не должна иметь возможности убежать от гостевой виртуальной машины. Я даже не делюсь буфером обмена.
То, как вы это делаете, зависит от конкретной программы виртуальной машины и ее версии, но соответствующие параметры, например, в Parallels Desktop 14 находятся на вкладке «Безопасность».
В самой последней версии VMWare Fusion, которая у меня есть, панель Isolation — не единственное место, куда нужно смотреть.Пройдите через другие панели (например, «Совместное использование») и отключите все, что связывает гостя с хостом. Единственное, к чему экземпляру ВМ нужен доступ, — это Интернет, который обычно настроен по умолчанию.
После внесения этих изменений запустите виртуальную машину и убедитесь, что общие папки пусты.
Изоляция необходима, но что, если вы хотите выгрузить некоторые снимки экрана или выходные файлы для использования в будущем? В этом случае используйте гостевой браузер и бесплатную услугу, например wetransfer.com для отправки сжатых файлов, защищенных паролем, самому себе.
Инструменты для тестирования вредоносного ПО на macOS
Предположим, что все, что мы обсуждаем, относится к действиям внутри вашего изолированного экземпляра виртуальной машины. Найдите минутку, чтобы настроить любые системные настройки или настройки приложения по своему вкусу, в частности, терминал, так как мы будем там большую часть времени.
В командной строке вызовите утилиту strings
, чтобы отключить запрос на установку инструментов командной строки Apple.Работайте с подсказками, пока не закончите.
И вот хорошие новости: теперь у вас установлены все инструменты, необходимые для изучения анализа вредоносных программ MacOS и обратного проектирования!
Эти инструменты включают в себя строковый декодер ( строки,
), утилиты анализа файлов ( файл
, нм
, xattr
, mdls
и другие), шестнадцатеричные редакторы ( hexdump
, od
, xxd
), статический дизассемблер ( otool
) и отладчик, считыватель памяти и динамический дизассемблер ( lldb
).И все это мы получили бесплатно!
Да, возможно, вы ожидали услышать о многих классных инструментах, которые используют профессионалы, таких как Hopper, Cutter, Radare2, Floss, и о сотнях отличных инструментов, предоставляемых сообществом, доступных в публичных репозиториях.
Мы упомянем некоторые из них во время этой серии и в конце, но на данном этапе они нам не понадобятся. Почему нет? Потому что, как ученики, мы хотим понять основные концепции того, что мы делаем. Профессиональные инструменты отлично подходят для экономии времени и повышения производительности, но в контексте обучения они могут легко запутать или скрыть важные детали.
Как найти образцы вредоносного ПО для macOS
Прежде чем мы сможем начать анализ вредоносных программ для macOS и обратный инжиниринг, нам не хватает только одного: некоторых вредоносных программ для macOS!
Давайте создадим рабочий каталог на нашей гостевой виртуальной машине, где мы будем сохранять наши образцы и выполнять всю нашу работу. Что-то вроде:
$ mkdir ~ / Вредоносное ПО
Существует несколько источников для получения образцов вредоносного ПО. Вероятно, одним из самых популярных является Virustotal, но вы можете скачать образцы оттуда, только если у вас есть платная учетная запись. К счастью, есть и другие публичные репозитории, такие как malpedia и malshare. Образец, который мы собираемся использовать в этом руководстве, имеет следующий хэш и доступен для всех трех:
197977025c53d063723e6ca2bceb9b98beff6f540de80b28375399cdadfed42c
Это не самое опасное вредоносное ПО в мире — как мы понимаем, хорошо для нас! — но у него есть несколько неожиданных действий, включая удаление экземпляра таинственного вредоносного ПО, которое Apple пометила MACOS.35846e4 как одно из его последствий.В нем также есть запутанный запутанный код, который нам понадобится, чтобы выяснить, как расшифровать его.
Анализ файлов вредоносного ПО macOS — первые шаги
Загрузите образец и переместите его в свой рабочий каталог. Если вы еще не сделали это в Терминале, давайте сейчас переключимся в командную строку и переименуем файл во что-нибудь более управляемое:
$ mv 197977025c53d063723e6ca2bceb9b98beff6f540de80b28375399cdadfed42c. dms malware01
Давайте узнаем, что это за штука с файл
утилитой:
$ файл вредоносной программы01
Это zip-файл, давайте его расширим и посмотрим, что у нас получилось:
$ распаковать вредоносную программу01
Вывод из терминала показывает нам, что это пакет приложений macOS с обычной иерархией.
Как проверить код Подпись
Интересно, что есть папка _CodeSignature
, которая существует только в том случае, если пакет был закодирован разработчиком. Итак, давайте узнаем, кто разработчик.
$ codeign -dvvvv -r - Распаковать Nw.app/
Это говорит нам о ряде полезных вещей, которые мы можем использовать для создания нашего списка IoC. И идентификатор пакета, и TeamIdentifier (также известный как сертификат подписи разработчика Apple) могут использоваться в программном обеспечении для обнаружения, поэтому всегда записывайте их на раннем этапе анализа, если они существуют.
Давайте узнаем, действителен ли сертификат разработчика или он был отозван Apple:
$ spctl --verbose = 4 --assess --type выполнить UnpackNw.app
Если подпись кода файла больше не принимается, в выводе будет отображаться CSSMERR_TP_CERT_REVOKED
. В этом случае сертификат принимается.
Кодовая подпись не так много значит. Существует множество поддельных и мошеннических аккаунтов разработчиков. На самом деле это означает, что если приложение запущено, оно должно подвергаться проверкам со стороны Gatekeeper и XProtect, если мы не обойдем их, что мы обсудим позже, когда будем проводить динамический анализ.
Структура пакета приложений
Давайте теперь изменим каталог в пакете, чтобы нам было проще работать с содержимым.
$ cd Распаковать Nw.app/Contents
В пакетах приложений для Mac требуется несколько вещей. Должен быть Info.plist и должны быть как минимум две другие папки: папка MacOS, которая содержит основной исполняемый файл пакета, и папка ресурсов, которая может содержать все, что разработчик хочет упаковать, включая скрипты и исполняемые файлы. Вы также можете увидеть другие папки в других примерах, таких как Frameworks, Plugins и так далее. Обратитесь к документации Apple, чтобы узнать больше о структуре пакетов.
Info.plist может содержать полезную информацию о возможностях приложения. Мы используем plutil
с переключателем -p
, чтобы читать их в командной строке.
Обратите внимание, что он включает идентификатор пакета из утилиты codeign, поэтому вы можете получить его для своего списка IoC здесь, если вы имеете дело с образцом, который не имеет кодовой подписи.
Из Info.plist мы можем узнать ряд полезных вещей, таких как минимальная версия macOS, на которой будет работать образец, и даже то, какую версию macOS и номер сборки использовал автор вредоносной программы при ее создании. Эти данные могут быть полезны как для атрибуции, так и для анализа: знание версии сборки разработчика может быть важным ключом к разгадке, если мы пытаемся выяснить, почему какой-то код был или не был включен, или почему некоторые версии вредоносного ПО по-разному работают на разных компьютерах. Машины жертв.
Перейдем к папке «Ресурсы». Я заметил здесь кое-что интересное, когда мы ранее распаковали zip-файл.
Что это за файл «unpack.txt» и почему после него стоит звездочка? Прежде чем заглянуть внутрь, давайте соберем больше подробностей.
Как собрать метаданные файла
Существует множество полезных команд, которые вы можете использовать для любого файла в macOS, чтобы собрать о нем метаданные, и всегда полезно сделать это перед открытием неизвестного файла.
Давайте начнем с утилиты file
, чтобы увидеть, действительно ли элемент соответствует заявленному в его расширении. В данном случае это обычный текстовый файл ASCII.
Как показано на изображении выше, мы можем использовать как xattr -l
, так и ls -al @
для перечисления расширенных атрибутов и разрешений файла.
Инструмент mdls
— отличная утилита, которая также выводит список метаданных, хранящихся в Spotlight и Finder. Поскольку эти метаданные сохраняются при передаче файлов, вы также можете иногда получить здесь информацию об источнике.На страницах man
этих утилит вы узнаете больше о том, как ими пользоваться.
Посмотрите еще раз на вывод ls -al @
. Эти три символа размером x
в списке разрешений указывают на то, что у него есть разрешения для исполняемых файлов, что довольно странно для того, что должно быть простым текстовым файлом. Это то, о чем свидетельствует звездочка в конце имени файла: файл с разрешениями для исполняемых файлов.
Хорошо, давайте разберемся и посмотрим, что внутри! Вы можете использовать cat
или обычный текстовый редактор в графическом интерфейсе, но я предпочитаю использовать vi
.
Ого, это интересно! У нас есть простой текстовый файл с разрешениями для исполняемых файлов, полный обфусцированного кода. Действительно подозрительно! Но что означает весь этот запутанный код? Чтобы выяснить это, нам нужно будет покопаться в основном исполняемом файле. Это будет дальше!
Заключение
В этом посте мы рассмотрели много вопросов. Мы убедились в важности создания безопасной тестовой среды и в том, как это сделать для тестирования вредоносных программ для macOS. Мы выяснили, как и откуда брать образцы вредоносного ПО, а также изучили способы определить, что содержится в пакете приложений, и как читать метаданные файла.В нашем примере мы обнаружили кое-что интересное и запутанное. Но является ли оно вредоносным и как его расшифровать? Подпишитесь на блог и присоединяйтесь к нам во второй части, где мы продолжим изучение навыков обратного проектирования macOS и углубимся в статический анализ исполняемых файлов Mach-O, дизассемблирование Mach-O и многое другое!
Подробнее об устранении вредоносных программ для macOS
Понравилась статья? Следуйте за нами в LinkedIn, Twitter, YouTube или Facebook, чтобы видеть контент, который мы публикуем.