Появилась у меня недавно необходимость оптимизировать количество серверов. В серверной у нас расположены два сервера. На одном из них работает система мониторинга The Dude, запущенная на Windows Server 2003. Второй сервер выполняет роль файл-сервера и на нем так же установлен Windows Server 2003. Было решено объединить два этих сервера. По иронии судьбы на сервере, куда предпологалось все это переносить, тоже установлен Windows Server 2003. Поддержка Windows Server 2003 закончилась 14 июля 2015. Поэтому от данной операционной системы пришлось отказаться. Решил на новом сервере установить в качестве операционной системы что-нибудь из Linux подобного. В качестве операционной системы был выбран CentOS. От The Dude отказываться не хотелось т.к. данная система мониторинга за долгое время очень хорошо себя зарекомендовала, но ее так же хотелось бы обновить. Я уже знал, что серверная часть The Dude давно не обновлялась и она может быть установлена на некоторые устройства MikroTik или же на RouterOS x86. Вот для этого и пришлось устанавливать VirtualBox на CentOS, чтобы установить RouterOS x86. Как мне это удалось опишу ниже.
Чтобы пробросить определенный порт с хостовой машины на виртуальную машину необходимо в виртуальную машину добавить правило. К примеру как я пробросил SSH доступ на Router OS x86 в VirtualBox.
Установка пакетов
Итак, у нас имеется сервер с установленным CentOS 6.8 без графической оболочки и на нем надо установить VirtualBox, чтобы поднять там виртуальную машину, в моем случае RouterOS x86 с системой мониторинга The Dude. Сразу хочу дать небольшое пояснение, что здесь я не буду описывать путь установки CentOS и RouterOS x86. Я опишу только как установить VirtualBox, создать виртуальную машину и настроить удаленный доступ к ней. Прежде чем установить VirtualBox необходимо установить исходники ядра, dkms и несколько пакетов для разработчиков.yum install dkms kernel-headers gcc make perlПакет dkms для CentOS находится в репозитории EPEL, поэтому его необходимо подключить прежде чем устанавливать dkms. Далее необходимо подключить репозиторий Oracle с VirtualBox и установить VirtualBox.
cd /etc/yum.repos.d/Также необходимо скачать и установить Extension Pack для VirtualBox. Extension Pack установить необходимо т.к. там содержится VRDE Plugin, через который можно будет получить удаленный доступ к виртуальной машине.
wget http://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo
yum install VirtualBox-5.1
wget http://download.virtualbox.org/virtualbox/5.1.14/Oracle_VM_VirtualBox_Extension_Pack-5.1.14-112924.vbox-extpackВсе необходимое ПО установлено, но остался небольшой штрих. Необходимо собрать модули VirtualBox.
vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.14-112924.vbox-extpack
service vboxdrv setup
Создание виртуальной машины
Все готово для того, чтобы создать виртуальну машину. Для виртуальных машин я создал отдельный каталог на отдельном разделе от операционной системы и виртуальные машины устанавливаю туда.mkdir -p /srv/vbox_vmsТеперь приступим к созданию виртуальной машины и ее настройке.
vboxmanage createvm dude --basefolder /srv/vbox_vms --registerЭта команда создает виртуальную машину с именем dude, указывает родительский каталог и регистрирует машину. Все файлы этой машины будут находится в каталоге /srv/vbox_vms/dude. Теперь эту машину необходимо начинить некоторым железом.
vboxmanage storagectl dude --name "IDE Controller" --add ideС помощью этих трех команд создается контроллер типа ide с именем IDE Controller, потом создается жесткий диск размером 2Gb и подключается на контроллер IDE Controller. Так как изначально на новой виртуальной машине нет установленной операционной системы, то необходимо подключить какой-нибудь загрузочный диск.
vboxmanage createmedium disk --filename /srv/vbox_vms/dude/dude.vdi --size 2048
vboxmanage storageattach dude --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /srv/vbox_vms/dude/dude.vdi
vboxmanage storageattache dude --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /srv/software/mikrotik-6.38.1.isoВот такой, в очередной раз длиннной, командой подключается образ загрузочного CD диска. При создании виртуальной машины по умолчанию загрузка с CD диска происходит раньше, чем с HDD диска. Также в виртуальную машину, если необходимо, надо добавить сетевой адаптер.
vboxmanage modifyvm dude --nic1 natТаким образом создается сетевой адаптер доступ к внешнему миру, который будет происходить через NAT. Еще на виртуальной машине я отключил audio т.к. оно мне без надобности.
vboxmanage modifyvm dude --audio none
Настройка удаленного доступа к виртуальной машине
Далее надо настроить удаленный доступ к виртуальной машине. Доступ будем настраивать по RDP.vboxmanage modifyvm dude --vrde on --vrdeaddress 10.43.137.60Этой командой включается удаленный доступ к виртуальной машине и указывается IP адрес хостовой машины, на котором будет слушаться порт 3389. Если на хостовой машине входящие правила iptables по умолчанию запрещающие, то не забудьте добавить разрешающее правило для соединения на порт 3389.
iptables -A INPUT -p tcp -dport 3389 -m state --state NEW -s 0.0.0.0/0 -j ACCEPTВот в принципе виртуальная машина готова к запуску. Пробуем запускать.
vboxmanage startvm dude --type headlessЭтой командой запускается виртуальная машина без графической оболочки VirtualBox. Можно пробовать подключиться к хостовой машине с помощью RDP клиента на порт 3389. При успешном подключении можно будет увидеть, что виртуальная машина запустилась с CD диска и запустилась установка операционной системы.
Заключение
По умолчанию внутренняя сеть для виртуальных машин в VirtualBox выделяется из пула 10.0.2.0/0. И первый адрес, который выделяется DHCP начинается с 10.0.2.15. Шлюзом этих машин является 10.0.2.2. Это необходимо учесть, если Вы будете устанавливать операционную систему без автоматического получения IP адреса.Чтобы пробросить определенный порт с хостовой машины на виртуальную машину необходимо в виртуальную машину добавить правило. К примеру как я пробросил SSH доступ на Router OS x86 в VirtualBox.
vboxmanage modifyvm dude --natpf1 dude_ssh,tcp,10.43.137.60,2222,10.0.2.15,22Данная команда добавляет правило dude_ssh, которое открывает на прослушивание порт 2222 на хостовой машине с IP адресом 10.43.137.60 и переназначает все соединения, приходящие на этот порт, на порт 22 виртуальной машины с IP адресом 10.0.2.15. Не забываем прописать разрешающее правило на порт 2222 хостовой машины в iptables.
iptables -A INPUT -p tcp -dport 2222 -m state --state NEW -s 0.0.0.0/0 -j ACCEPTВот таким образом была настроена виртуальная машина и удаленный доступ к ней в VirtualBox без графической оболочки.
Комментариев нет:
Отправить комментарий