Статья Никто не может служить двум господам... Или устанавливаем KVM.

Евангелие от Матфея

6:24. Никто не может служить двум господам: ибо или
одного
будет ненавидеть, а другого любить


Библия, Новый Завет


Тема анонимности в сети с завидным постоянством всплывает в различных частях интернета. Я неоднократно убеждалась в том, что эта тема абсолютно неблагодарна. Не потому что анонимности в интернете нет, а потому, что существует множество её решений. Выбор того или иного решения - вопрос абсолютно индивидуальный и субъективный.
В прошлой статье усилиями форумчан были рассмотрены ошибки и их решения при пропускании интернет трафика пользователя через виртуальный шлюз Whonix Gateway, установленный на виртуальную машину VMWare в операционной системе Windows.
Нужно отметить, что разработчики упомянутой программы виртуализации предусмотрели вполне удобную её установку и в Linux. И всё было-бы замечательно, если бы Linux не оставался самим собою. Казалось-бы установленная без ошибок "варя" страшно тормозит в линях, её использование представляет мучительное занятие. VMware - не для Linux! VMware - программа виртуализации для Windows, она прекрасно себя там чувствует.
Второй и наиболее распространённой программой виртуализации в Linux является VirtualBox. На мой взгляд, её популярность в данной системе объясняется лишь нежеланием пользователей что-то менять в нынешней системе ценностей Линукс. Мне VirtualBox не нравился никогда и недавнее знакомство не сделало прорыва в моём сознании. Основными недостатками программы является скудность функционала и интуитивное отторжение. Кроссплатформенность "виртуальной коробки" вызывает у меня противоречивые чувства. VirualBox, словно проститутка пытается подлечь под обе платформы и этот факт является скорее недостатком, чем достоинством. Никто не может служить двум господам. Впрочем, последнее утверждение весьма субъективно.
Огромным и объективным фактором, отрицательно влияющим на моё негативное отношение к использованию VMWare и VirtualBox в среде Linux является неспособность их работы в консоли. Но ведь Линукс - это и есть в основном консоль и обе программы абсолютно чужеродны этой среде.

С этими мыслями поиски родной системы виртуалицации для Linux привели меня к знакомству с KVM (Kernel-based Virtual Machine). Предварительное знакомство с KVM было многообещающим: возможность запуска любой ОС, возможность проброса физических устройств с хостовой системы в виртуальную, возможность использования на десктопных машинах, простота в установке, возможность управления из командной строки. Дополнительным несомненным плюсом являются возможность создания другой виртуальной машины в виртуалке kvm (виртуалка в виртуалке - при определённых танцах с бубном).

Выделение_004.png

Достоинством программы является возможность проброса физических устройств с хостовой системы в виртуальную.
ВАЖНО: рисунок демонстрирует возможности KVM и НИКАК не связам с настройкой виртуального шлюза !!!


В данный момент мой компьютер управляется операционной системой Debian 9.6 x86_64. На её примере и рассмотрим установку Quemu-KVM.
Перед установкой необходимо убедиться в том, что компьютер поддерживает режим аппаратной виртуализации.
Код:
#egrep '(vmx|svm)' --color=always /proc/cpuinfo
Если вывод не пустой и искомые флаги подсвечены цветом, значит — процессор поддерживает аппаратную виртуализацию.

Выделение_027.png

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

Для начала включим маршрутизацию в ядре:
Код:
sudo nano /etc/sysctl.conf
Ищем строку net.ipv4_forward=0 и меняем её значение на 1.
Выделение_028.png



Сохраняем и:
Код:
sudo sysctl -p

Если читатель думает, что установка Quemu-KVM сопряжена с трудностями, то поспешу обрадовать: установка программы в Debian 9.6 производится командой

Код:
sudo apt-get update
sudo apt-get install qemu-kvm libvirt-bin virt-manager
,
где qemu-kvm - программа аппаратной виртуализации,
libvirt-bin - библиотека для взаимодействиями возможностей виртуализации.
virt-manager - программа, позволяющая работать с виртуальными машинами в графической оболочке.

Примечание. Библиотека libvirt-bin в отличие от других пакетов в Debian 9 Strech разделена на два других пакета:
Код:
sudo apt install libvirt-daemon-system
sudo apt install libvirt-clients



Выделение_003.png

Окно программы Virt-Manager.

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

Создайте ссылку
Код:
sudo ln -s /etc/apparmor.d/libvirt/TEMPLATE.qemu /etc/apparmor.d/libvirt/TEMPLATE.kvm
А также необходимо добавить пользователя в группы libvirt и kvm.
Для этого от имени суперпользователя выполняем команды:
Код:
sudo addgroup "$(whoami)" libvirt
sudo addgroup "$(whoami)" kvm

Ещё небольшие нюансы... и на этом установку программы виртуализации можно считать законченной.

Конфигурационные файлы библиотеки libvirt будут располагаться в каталоге etc/libvirt
В каталоге /var/lib/libvirt будут располагаться несколько папок.

Выделение_005.png

  • /var/lib/libvirt/boot/ — ISO-образы для установки гостевых систем;
  • /var/lib/libvirt/images/ — образы жестких дисков гостевых систем;
  • /var/log/libvirt/ — тут следует искать все логи;
  • /etc/libvirt/ — каталог с файлами конфигурации;
К слову, размер одного такого образа-файла может достигать внушительных размеров. Например, скачанные и разархивированные с официального сайта разработчиков образы виртуальных шлюза и рабочей станции Whonix достигают 100 Гигабайт.

Выделение_006.png

Образы дисковых пространств *.qcow2 виртуальных систем Whonix достигают 100 Gb.
Поэтому, я расположила их на отдельном физическом диске, отличном от системного.
Каталог "Virtual" - это физический диск, смонтированный в каталог "media".


Из-за нехватки свободного дискового пространства у ряда пользователей может возникнуть необходимость в переносе "дефолтового" места (хранилища) расположения будущих образов.
На мой взгляд, наиболее простой способ изменения пути к хранилищу "default" - использование консольной утилиты управления виртуальными машинами "virsh".
Создадим дамп конфигурации командой.
Код:
virsh pool-dumpxml default > pool.xml

Выделение_007.png
Затем откроем полученный файл в любом текстовом редакторе для редактирования (я использую редактор Nano)
Код:
nano pool.xml
и изменим путь в строке <path> на тот, который нужен.

Выделение_008.png

Удалим текущий пул и создадим новый из отредактированного дампа - файла "pool.xml"
Код:
# virsh pool-destroy default
# virsh pool-create pool.xml


На этом установку KVM и подготовку установке виртуальных машин можно считать законченной.
Апофеоз статьи:

Можно произвести первый пробный запуск программы командой virt-manager

Выделение_009.png

В следующей статье мы установим и настроим виртуальный шлюз и рабочую станцию Whonix на KVM.

Кстати, в моём любимом оконном менеджере Window maker настройка иконки-дока выглядит следующим образом.

Выделение_010.png

Меня зовут Валькирия ))
 
Последнее редактирование модератором:
Купи себе вот такую штуковину Anonabox | Privacy Protected | Tor Router | VPN Router | Access Deep Web и не заморачивайся с этими виртуалками, ну или как вариант реализовать тоже самое на каком нибудь openwrt.
Кстати интересная была бы тема как пропустить трафик через Tor на openwrt
 
Купи себе вот такую штуковину Anonabox | Privacy Protected | Tor Router | VPN Router | Access Deep Web и не заморачивайся с этими виртуалками, ну или как вариант реализовать тоже самое на каком нибудь openwrt.
mihail5765, твоими устами глаголит истина.
Тот факт. что я являюсь автором второй и не последней статьи о виртуальном шлюзе WG вовсе не ставит меня в число его поклонников. Я не заморачиваюсь с этими виртуальными "игрушками". ))
В реальной жизни я, как ты и советуешь, предпочитаю поднимать ТОР на роутере.

Кстати интересная была бы тема как пропустить трафик через Tor на openwrt
Ну, так, клавиатура перед тобою ))
Начинай излагать свои мысли, если такой умный.
Я с удовольствием поддержу твоё начинание.

У меня есть что написать. Возможно ты спровоцируешь меня на новые исследования и мы явим их миру ))
Подискутируем ))
 
Последнее редактирование модератором:
Кстати, я пробежалась всзглядом по твоим игрушкам и вовсе не в воторге от них.
Я не поняла, у них имеется USB -порт ?
И зачем разъединять ТОР и VPN по разным устройствам ?
Тор, VPN - клиент и днс-прокси должны быть на одном устройстве !
Это - неразлучный комплект.
Твои игрушки - на первый взгляд, фуфло :):):)
Возможно, мои выводы скоротечны и преждевременны.
 
Я бы с удовольствием конечно поделился, тем как пропустить трафик через Tor на OpenWrt
но пока как-то мутно себе это представляю.
1.Ну для начала думаю надо выбрать какую нибудь железку
2.Залить туда OpenWrt
3.Установить туда Tor
4.Ну и завернуть всё как-то через него самого «возможно есть какие-то готовые решения»

Ну как-то так.
 
То есть, ты мутно себе представляешь, как создать прошивку OpenWRT, залить её на роутер, но уже вовсю заявляешь: "не замораяивайся с этими виртуалками" ?
Мне показалось, что в твоём утверждении лежит отрицание виртуалок как средства анонимности. Если это не так, то почему ты советуешь не заморачиваться с ними ?
Виртуалка в Linux, установленная в KVM, сама по себе - очень хорошее решение. У этого направление имеется потенциал.
Вообще, я не против виртуалок. Мне бы хотелось выработать у себя привычку выходить в сеть из виртуалки.
Эту привычку нужно выработать.
Мне только этот виртуальный шлюз Whonix не по душе ))
 
Последнее редактирование модератором:
  • Нравится
Реакции: danilka2012
То есть, ты мутно себе представляешь, как создать прошивку OpenWRT, залить её на роутер, но уже вовсю заявляешь: "не замораяивайся с этими виртуалками" ?
Мне показалось. что в твоём утверждении лежит отрицание виртуалок как средства анонимности. Если это не так, то почему ты советуешь не заморачиваться с ними ?
Виртуалка в Linux установленная в KVM - сама по себе очень хорошее решение. У этого направление имеется потенциал.
Вообще, я не против виртуалок. Мне бы хотелось выработать у себя привычку выходить в сеть из виртуалки.
Эту привычку нужно выработать.
Мне только этот виртуальный шлюз Whonix не по душе ))

Нет я вовсе не отрицаю визуализацию как средство анонимности, просто предложил другое решение.
 
  • Нравится
Реакции: Valkiria
Почему Whonix не по душе?
Можно что-то сейчас напридумать в обоснование своих слов, но я не могу найти вразумительного ответа )
Это что-то на уровне интуиции, а ведь это чувство накрепко закрепилось в IT-индустрии и его нельзя сбрасывать со счетов ))
 
Кроссплатформенность как недостаток?) И неосуществимый проброс интерфейсов? (Я точно насчёт этого не знаю, но у меня возникли сомнения)
А плюсом KVM является бубен для настройки виртуалки в виртуалке?
Обычно люди стремятся всё упрощать, а не наоборот :)
ИМХО, моё мнение разнится с "ангелом с разумом стервы".
 
Огромным и объективным фактором, отрицательно влияющим на моё негативное отношение к использованию VMWare и VirtualBox в среде Linux является неспособность их работы в консоли.
Для VirtualBox - vboxmanage. Vagrant для обоих решений
 
  • Нравится
Реакции: Valkiria
А плюсом KVM является бубен для настройки виртуалки в виртуалке?
Да, я считаю плюсом потенциальная возможность настройки "виртуалки в виртуалке".
Это вовсе не значит, что такие танцы необходимо осуществлять на локальной машине.
У меня был случай, когда на удалённом арендованном VPS с виртуализацией KVM нужно было установить андроид.
Это было примерно пол-года назад и я подзабыла тонкости. Помню только, что перебрав почти все эмуляторы андроид я как-то решила свои проблемы. Это несомненный и вовсе никого не обязывающий плюс.
Записываться или не записываться в число танцоров - выбор индивидуальный.


Кроссплатформенность как недостаток?)
Это утверждение относится только к программе виртуализвции VirtualBox.
Внимательнее читаем, вникаем, милейший ))
 
Откуда взялись 100 Гб в образах? Это что какая то специфика контейнеров kvm?
Мне вот еще какая тема интересна - подмена индентификаторов железа в виртуальных машинах. Некто Vector13 патчит виртуал бокс и благодаря этому можно менять индентификаторы. Может в kvm такое возможно. Но в открытом доступе не нашел антидетекта. Да и как то стремно на реальную систему лить сторонние решения и потом на них надеятся. Я вот сегодня собрался и глянул в Wireshark на сетевую активность Win10. Лучше б я не смотрел, да я знал, что все плохо, но когда своими глазами видишь десятки сетевых соединений при всем том, что я закрыл все пользовательские приложения, понимаешь, что это не ос, а шпионский модуль, за который люди еще и деньги платят.
 
  • Нравится
Реакции: On.xiaomi
Да, я считаю плюсом потенциальная возможность настройки "виртуалки в виртуалке".
Это вовсе не значит, что такие танцы необходимо осуществлять на локальной машине.
У меня был случай, когда на удалённом арендованном VPS с виртуализацией KVM нужно было установить андроид.
Это было примерно пол-года назад и я подзабыла тонкости. Помню только, что перебрав почти все эмуляторы андроид я как-то решила свои проблемы. Это несомненный и вовсе никого не обязывающий плюс.
Записываться или не записываться в число танцоров - выбор индивидуальный.



Это утверждение относится только к программе виртуализвции VirtualBox.
Внимательнее читаем, вникаем, милейший ))

Да, я не часто танцую, т.к. это моё хобби, увлечение. А о КП: разве я говорил о чём-то другом? (Вопрос с подвохом). Ну т.е. я вообще не упоминал ни ту, ни другую, а КП в принципе.
 
Откуда взялись 100 Гб в образах? Это что какая то специфика контейнеров kvm?
При скачивании и последующем распаковывании образов с официального сайта они имеют именно такой размер.
Вероятно, их можно уменьшить, но это тема следующей статьи. В этой статье рассмотрена ТОЛЬКО установка KVM, а под рисунками красным цветом написано:
ВАЖНО: рисунок демонстрирует возможности KVM и НИКАК не связам с настройкой виртуального шлюза !!!

Предлагаю тему анонимности Windows 10 и настройки этой ОС обсудить в другой моей теме.
Или здесь.
Видео по теме.
 
Последнее редактирование модератором:
Подобных статей в интернете много. То что не многие используют виртуализацию, не значит что ее мало. Как написал автора Virtual box есть на все платформы и не везде устраивает.
Под винду начиная с windows 2008 r2 (для серверных) и с Windows 8 и выше есть встроенный гипервизор который можно включить - Hyper-V. Так же прошу всех понять, виртуализация бывает разного уровня. и в данном случае virtualbox с vmware workstation по сравнению с kvm. Можно кратко почитать тут Гипервизор — Википедия
Также по KVM есть много тонкостей которые можно было перечислить в первой статье- это например тип диска фиксированный - RAW и динамический - QCOW2, и понятно что фиксированный занимает весь объем который выделили, а динамический только то, что записала виртуальная машина. По сети тоже можно указать, что в случае kvm делать NAT или bridge, так вот с bridge в случае kvm не все так однозначно в сравнении с теми же vmware и virtualbox, мак хост машины изменится в случае создания bridge и на некоторых сетевых картах, в частности realtek- это может сыграть с пользователем нехорошую шутку и придется тюнить.
В заключение хотел бы сказать, какую использовать виртуализацию решать вам в зависимости от задач - как говорится где умел делать и хорошо получается, все устраивает по производительности\стабильности- используй. Хочется чего то нового, сначала затести максимально возможно.
P.S. Да я не написал на данном ресурсе ни одной статьи, поэтому можно сказать "Самый умный что ли", будет время и я напишу.
 
В следующей статье мы установим и настроим виртуальный шлюз и рабочую станцию Whonix на KVM.

Спасибо, за статью. Наконец-то положенно начало альтернативы для виртуал-бокс.
 
Здравый стих из писания !
 
Некто Vector13 патчит виртуал бокс и благодаря этому можно менять индентификаторы.
Код:
https://github.com/hfiref0x/VBoxHardenedLoader/blob/master/Binary/install.md
я пробовал с 6м виртуалбоксом и с последней версией патча. Все еще видны идентификаторы виртуалбокса.
 
  • Нравится
Реакции: shArky и darklight
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab