Виртуальная Windows под виртуальным Debian

    Понадобилось тут на скорую руку поднять винду на VPS. Хостинг выбрал «облачный» от Оверсана, потому как дают на тестирование при регистрации небольшую денюжку. Если сервер держать выключенным и включать по необходимости, то хватит надолго. Впрочем, и последующая оплата при такой схеме по карману не сильно ударит. Но проблема в том, что в качестве предустановленных систем Windows там, само собой, нет. Эта статья является небольшим, но полным и рабочим пошаговым руководством по установке Windows на VPS под Debian. У других хостеров возможно все будет несколько иначе, но суть та же.

    Регистрируемся, покупаем IP (далее в качестве примера указан 188.127.231.111), создаем сервер с усановленной ОС Debian.
    Устанавливаем необходимое:
    apt-get update
    apt-get install mc nano screen qemu bridge-utils vde2


    создаем тестовый диск на 100M
    dd if=/dev/zero of=/root/hda.img count=1 bs=100M

    Пробуем запустить:
    qemu -M pc -m 1024 -win2k-hack -localtime -hda /root/hda.img -boot d -net nic,vlan=0,macaddr=00:ce:53:e9:71:cf -net user,vlan=0 -name "test" -vnc :1

    Если запустилось, то пробуем получить доступ к консоли нашей виртуальной машины с помощью vncviewer. IP 188.127.231.111, порт 1

    Получилось? Отлично, идем дальше.

    ДНС в /etc/resolv.conf уже прописан, но если изенить настройки сети, то ДНС у нас больше не будет, поэтому сносим пакет:
    apt-get remove --purge resolvconf

    Нам нужно получить нормальное управление над Windows, для чего прокинем порт 3389 наружу и сделаем NAT, чтобы из Windows был доступ в интернет.
    Включаем форвардинг:
    echo 1 > /proc/sys/net/ipv4/ip_forward
    Запускаем редактор:
    nano /etc/sysctl.conf
    далее ищем строчку #net.ipv4.ip_forward=1 и убираем «решётку»

    Добавляем правила для НАТа и форвардинга:
    iptables -A FORWARD -i eth0 -o eth1 -s 10.1.1.0/24 -j ACCEPT
    iptables -A FORWARD -i eth1 -o eth0 -d 10.1.1.0/24 -j ACCEPT
    iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth1 -j SNAT --to-source 188.127.231.111
    iptables -A INPUT -s 188.127.231.111 -i eth1 -p tcp -m tcp --dport 3389 -j ACCEPT
    iptables -A FORWARD -s 188.127.231.111 -i eth1 -p tcp -m tcp --dport 3389 -j ACCEPT
    iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 3389 -j DNAT --to-destination 10.1.1.2:3389


    Чтобы при каждом запуске сетевых интерфейсов подгружались правила, сохраним текущие правила
    iptables-save > /etc/iptables.conf
    А в файл /etc/network/interfaces, добавим строку загрузки «post-up /sbin/iptables-restore < /etc/iptables.conf»

    Теперь редактируем файл настроек сети /etc/network/interfaces:

    auto eth0 lo eth1 br0

    iface lo inet loopback

    iface eth0 inet static
    address 0.0.0.0

    iface eth1 inet static
    address 188.127.231.111
    netmask 255.255.255.0
    gateway 188.127.231.254

    iface br0 inet static
    address 10.1.1.1
    netmask 255.255.255.0
    bridge_ports eth0
    bridge_fd 9
    bridge_hello 2
    bridge_maxage 12
    bridge_stp off

    post-up /sbin/iptables-restore < /etc/iptables.conf


    В файле
    /etc/qemu-ifup
    комментим все

    Создаем /root/qemu-auto и присваиваем нужные права:
    echo "" > /root/qemu-auto
    chmod 755 /root/qemu-auto
    chmod +s /root/qemu-auto


    В /root/qemu-auto пишем:
    #!/bin/bash

    sleep 30
    vde_tunctl -b
    sleep 1
    /sbin/ifconfig tap0 0.0.0.0 promisc up
    sleep 1
    brctl addif br0 tap0
    screen -Sdm qemu qemu -M pc -m 1024 -win2k-hack -localtime -cdrom /root/server2003.iso -hda /root/hda.img -boot d -net nic,macaddr=00:ce:53:e9:71:cf -net tap,ifname=tap0 -name "win2k3" -vnc :1


    И в автозагрузку по крону:
    crontab -e
    @reboot /root/qemu-auto


    Качаем откуда-нибудь образ установочного диска с Windows, например так:

    wget http ://myserver/server2003.iso

    Создаем диск нужного нам размера, мне хватило 5G:
    dd if=/dev/zero of=/root/hda.img count=50 bs=100M

    И запускаем виртуальную машину:
    ./qemu-auto

    Дальше должно быть все понятно — с помощью VNC заходим на виртуальную машину (как в тестовом примере выше) и видим привычный экран установки Windows. Я устанавливал систему на пяти слотах (очень шустро, но дорого), потом уменьшил количество до двух — вполне комфортно работается. В этом, кстати, и есть преимущество облачного масштабируемого хостинга. В Windows не забываем настроить сеть — IP 10.1.1.2, маска 255.255.255.0, шлюз 10.1.1.1, днс гуглевский — 8.8.8.8 и 8.8.4.4.

    Все, мы получили полностью рабочий Windows Server.
    А, да, не забудьте после установки убрать из строчки запуска "-vnc :1" или заменить на " -vnc 127.0.0.1:1"
    После перезагрузки все оживет само.

    Возможно что-то делал не так — дебиан вижу практически в первый раз. Но оно работает и работает так, как мне нужно. Надеюсь, что кому-нибудь пригодится.

    PS Не сочтите за рекламу хостера — я к ним никакого отношения не имею.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 37

      –2
      чем так примичателен win server?
        +14
        Возможностью его запуска под qemu на debian :)
          +2
          и все таки, почему не freebsd, а именно win.
          Способ, конечно, интеренсный, но интересуют мотивы, ибо не гуру, а с серваками под виндой не приятные воспоминания, мб потому что не умею готовить
            +2
            Имеется относительно объёмная библиотека на .NET 4. Нужно сделать простое приложение на ней с, допустим, веб-интерфейсом. Ваши действия?
              +15
              положить каку на место и не трогать? ;)

              p.s. а если серьёзно — можно рассмотреть вопрос о mono. зависит от того что хочет эта библиотека
              +1
              Вот смысл ставить FreeBSD совершенно не вижу, т.к. набор функций и софта аналогичен. А под виндой есть специфичный софт, который запускать под вайном не очень хорошая идея.
                0
                Да и простому пользователю, который привык пользоваться windows гораздо сложнее объяснить как зайти, пользоваться и т.п.
                  +8
                  Привычный софт простому пользователю под вайном на VPS. -_-"
            0
            Хорош он параноикам, которые зашифруют этот виртуальный раздел.
            поставят на него тотже вебмани кипер или еще какое либо другое банковское ПО, и будут запускать вирт машину с «деньгами» только по надобности, разумеется всякие привязки по IP и тд )))…

            з.ы. сам так делаю, только не на ВПС, а на физичиском сервере
              0
              Гениально!
              У меня как раз есть бесплатная студенческая лицензия winserver2008r2 — пробовал поставить его на десктоп, но асусовские драйвера для вин7 отказались работать.
              Установлю его в виртуалке, для финансового ПО достаточно.
              Спасибо за идею!
                –1
                Стоп, win 2k8 разве не на висте основан?
                  0
                  r2 основан не на висте, а на семёрке.
                    0
                    На это и была надежда (ws2k8r2 основан на w7, или наоборот), но родные асусовские дрова отказались устанавливаться.
              –1
              Полезно, спасибо.
                –1
                А почему qemu? Он же сильно в производительность Virtualbox проигрывает.
                  0
                  Пробовал. Видимо, особенности виртуализации самого VPS — не смог я там Virtualbox запустить. Сходу не пошло — дальше разбираться не стал, не было времени.
                    0
                    Да, с Virtualbox порядком намучался — так и не завелся под VPS.
                    Спасибо за наводку, что с qemu получится.
                  0
                  Поберегите окружающую среду. Есть же kvm.
                    0
                    Аналогично комментарию выше.
                      +1
                      Вложенная аппаратная виртуализация? Я что-то пропустил и процессоры уже научились так делать?
                        0
                        «фиг-вам». запуск в qemu, т.е. полная эмуляция.
                      +1
                      Хотел бы послушать отзывы о производительности такой системы, кажется мне что тормоза должны быть ойойой какие.
                        0
                        Специально тесты не проводил, но:
                        1. Как я уже писал — работается комфортно, тормоза на замечаются. 1С с небольшой базой, банк-клиент, офис, браузер + пара легких самописных приблуд узкой специализации.
                        2. Не нужно забывать про возможность масштабирования — указанные задачи выполнялись на двух слотах, но если будет что-то ресурсоемкое, то параметры хостовой машины можно увеличить до 64-х слотов. Правда в этом случае лучше другие варианты использовать, т.к. с финансовой точки зрения это может быть не целесообразно.
                          0
                          Какие варианты?
                            0
                            Например amazon.
                            Или свой сервер в дата центр поставить.
                            Или свой дата центр сделать :)
                              0
                              В смысле стоимость Debian VPS -> Windows Server будет больше, чем Windows Server от Amazon?
                                0
                                Я считал и мне показалось, что в сумме — да, сервер с Windows от Amazon существенно дороже выйдет.
                                  0
                                  Ну, и я об этом. ;-) Я как раз думал у Вас есть вариант наоборот, более дешевый.
                                  Вы все-таки наверное не совсем лицензионный Windows Server запускаете, а у Amazon туда и стоимость лицензии входит.
                                    0
                                    Варианты только более дорогие имел в виду.
                                    А вот насчет лицензии… Не учел :)
                        0
                        А технология виртуализации какая у хостера? На чем вы покупали VPS? Это OpenVZ или Xen? Просто хотелось бы знать, так как может быть не запуститься qemu из-за ограничений виртуализации у кого-либо. Можете уточнить данный вопрос?
                        +4
                        а теперь установите в этой винде Virtual PC, а в нём dosbox и можно играть в досовские игры.
                          0
                          А почему бы изначально не выбрать Windows-хостинг?
                            0
                            дороже вроде бы…
                              +1
                              Можете привести пример, где можно получить Windows server со следующими параметрами:
                              1. Бесплатное тестирование в течении недели суммарного времени включенного состояния сервера.
                              2. Возможность быстро начать работу — в течении часа.
                              3. Дешевле чем 1000р. в месяц с параметрами: 16 ядер 2,66 ГГц (900 МГц гарантировано), RAM 1 Гб, канал 10 Мбит/с анлим., дисковое пространство 8 руб./мес. за 1 ГБ.
                              4. Возможность масштабирования.
                              5. Почасовая оплата с возможностью выключить сервер и не платить за простой.
                                0
                                простите, а откуда вы вообще взяли такие параметры/цену?
                              0
                              сколько времени занимает полная установка win-сервера? по этой инструкции

                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                              Самое читаемое