KVM (или Kernel-based Virtual Machine) — это программное решение, обеспечивающее виртуализацию в среде Linux на платформе x86, которая поддерживает аппаратную виртуализацию на базе Intel VT (англ.) (Virtualization Technology) либо AMD SVM (Secure Virtual Machine).Да кстати, без аппаратной поддержки процессором она, как я понял, работать не будет.
Будет установлена KVM на ОС Debian.На самой виртуальной машине,также будет установлен debian.
Система будет выглядеть следующим образом:
Итак приступим.Для начала установим сам kvm с набором пакетов а также virt-manager .
Это GUI программа для управления виртуальными машинами.
Так с помощью это программы мы будет настраивать сеть,плюс с ее помощью можно удаленно мониторить
состояние виртуальных машин,поэтому остановимся на ней(хоть и GUI).
Установка программ
#apt-get install qemu-kvm libvirt-bin kvm virt-manager
Перегрузимся на всякий,чтобы все изменения вступили в силу.
#reboot
Создание образа пустого в 3 Гб:
# qemu-img create /путь_до_образа/ваш_образ.img 3G
Запуск машины с 400 Мб оперативной:
# kvm -m 400 /путь_до_образа/ваш_образ.img
Для запуска с загрузкой с iso образа
# kvm -m 400 /путь_до_образа/ваш_образ.img -cdrom /путь_к_установочному_диску.iso
Установили систему на ВМ.теперь запустим менеджер
#virt-manager &
Тут все проще некуда.Добавляем соединение(Файл–>Add connection)Выбираем KVM/QEMU –> локально .
Потом правим хост.(Правка–>параметры хоста)Настраиваем виртуальную сеть.
(Нам нужно без DHCP,Без NAT ,т.е. маршрутизируемую, и подсеть 192.168.100.0/24,ну и конечно автозапуск.)
Так же можно настроить хранилище,выбираем путь к папке с ВМ.Все готово.
Перейдем к последнему пункту-это настройка сети.
для начала добавим маршруты на машину с KVM
#route add -net 0.0.0.0 netmask 0.0.0.0 gw dev ethX
командой добавляем маршруты
#route -n
это список маршрутов в системе
И так у должны быть такие маршруты. А на самой ВМ ниже
Ну и на машину с KVM добавим правило в iptables чтобы ВМмогла выходить в нашу подсеть
#iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE
Сохраним наши правила
#iptables-save > /etc/iptables.rules
и чтобы наши правила автоматов запускались добавим в конец документа следующее
#nano /etc/network/interfaces pre-up /sbin/iptables-restore < /etc/iptables.rules post-down /sbin/iptables-save > /etc/iptables.rules
В итоге у нас получается.Виртуальная машина ходит в нашу подсеть, в инет и куда угодно.
Но ее не видно из нашей подсети.Для этого можно пробросить в iptables порты интересующих нас сервисов(в зависимости от задач ВМ)
На этом все!