Мы выполним несколько шагов, включая установку Vagrant и подходящего провайдера виртуализации (например, VirtualBox), а также настройку Vagrantfile для создания и настройки виртуальной машины Windows.
Установите VirtualBox:
Для Ubuntu/Debian:
sudo apt updatesudo apt install virtualbox -y
Для CentOS/RHEL:
sudo yum install epel-release -ysudo yum updatesudo 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.gpgecho "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.listsudo apt update && sudo apt install vagrant
Шаг 2: Настройка Vagrantfile
Создайте новую директорию для вашего проекта Vagrant и перейдите в нее:
mkdir vagrant-windows-vmcd 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 endend
Шаг 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
Не забываем поменять пароль!

