Ставим Windows на Linux сервер за 3 минуты. Vagrant + VirtualBox


Мы выполним несколько шагов, включая установку Vagrant и подходящего провайдера виртуализации (например, VirtualBox), а также настройку Vagrantfile для создания и настройки виртуальной машины Windows.

Установите VirtualBox:

Для Ubuntu/Debian:

sudo apt update
sudo apt install virtualbox -y

Для CentOS/RHEL:

sudo yum install epel-release -y
sudo yum update
sudo yum install VirtualBox-6.0 -y # Проверьте последнюю версию VirtualBox на официальном сайте

Для Fedora:

sudo dnf install VirtualBox-6.0 -y # Проверьте последнюю версию VirtualBox на официальном сайте

Установите Vagrant:

Для Ubuntu/Debian:

wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install vagrant

Шаг 2: Настройка Vagrantfile

Создайте новую директорию для вашего проекта Vagrant и перейдите в нее:

mkdir vagrant-windows-vm
cd vagrant-windows-vm

Инициализируйте новый Vagrantfile с помощью команды vagrant init. Вам потребуется указать образ (box), который вы хотите использовать. Для Windows можно использовать, например, gusztavvargadr/windows-server. Введите следующую команду:

vagrant init gusztavvargadr/windows-server

Откройте файл Vagrantfile в текстовом редакторе и настройте конфигурацию в соответствии с вашими требованиями. Ниже приведен пример конфигурации для создания виртуальной машины Windows:

Vagrant.configure("2") do |config|
  config.vm.box = "gusztavvargadr/windows-server"
  config.vm.network "private_network", type: "dhcp"
  config.vm.provider "virtualbox" do |vb|
    vb.gui = true # Открыть GUI при запуске VM
    vb.memory = "2048" # Назначить VM 2GB RAM
    vb.cpus = 2 # Назначить 2 CPU
  end
end

Шаг 3: Запуск и подключение к виртуальной машине

Запустите виртуальную машину командой:

vagrant up

После того как виртуальная машина запущена, вы можете подключиться к ней через RDP (удаленный рабочий стол) или использовать vagrant rdp для подключения, если это поддерживается вашим образом.

Чтобы остановить виртуальную машину, используйте команду:

vagrant halt

Для удаления виртуальной машины используйте:

vagrant destroy

Эти шаги позволят вам быстро развернуть виртуальную машину Windows на вашем сервере с использованием Vagrant.

Проверка статуса Vagrant

Откройте терминал или командную строку в директории проекта Vagrant (где находится ваш Vagrantfile) и выполните команду:

vagrant status

Эта команда покажет статус всех виртуальных машин, управляемых Vagrant в текущей директории. Если машина работает, вы увидите статус running.

Просмотр настроек сети и портов

Для просмотра настроек сети и конфигурации порт-форвардинга используйте команду:

vagrant port

Пример:

root@ubuntu ~/vagrant-windows-vm # vagrant port

The forwarded ports for the machine are listed below. Please note that
these values may differ from values configured in the Vagrantfile if the
provider supports automatic port collision detection and resolution.

22 (guest) => 2200 (host)
3389 (guest) => 53389 (host)
5985 (guest) => 55985 (host)
5986 (guest) => 55986 (host)

Убедитесь, что на хост-машине нет правил брандмауэра, блокирующих входящие соединения на порт 53389. Если вы используете Linux, можно временно открыть порт с помощью следующей команды iptables (выполнять от имени пользователя с правами root или через sudo):

sudo iptables -I INPUT -p tcp --dport 53389 -j ACCEPT

В нашем случае нужно подключаться к порту 53389

Логин: vagrant
Пароль: vagrant
Не забываем поменять пароль!

Готово!

Бесплатная консультация

Комментарии отключены.