<
  • Главная
Статьи

Установка VirtualBox на Gentoo і кидок портів в режимі NAT

Досить часто виникає ситуація, коли для використання деяких можливостей або програм необхідно встановити на комп'ютер додаткову операційну систему. Або, наприклад, потрібно перевірити взаємодію компонентів додатка, встановлених на різні машини. Можна, звичайно, встановити безпосередньо на комп'ютер дві системи і перемикатися між ними при необхідності. Або використовувати фізично два різних комп'ютера. Але це не завжди зручно і не завжди можливо.

Набагато зручніше скористатися віртуальною машиною - ізольованим програмним контейнером, здатним виконувати власну операційну систему (гостьову) і додатки, як фізичний комп'ютер.

Для себе в якості віртуальної машини я вибрав програмний продукт VirtualBox, виходячи з таких його плюсів:

  • Це повністю безкоштовна програма;
  • Є в наявності докладний посібник, що описує роботу з VirtualBox;
  • Простота і зручність у використанні;
  • Можливість установки російськомовного інтерфейсу (не необхідність, але все ж приємно).

У цій замітці я опишу, як я встановлював VirtualBox на Gentoo (хост система в даному випадку) і виробляв деяку настройку для своїх потреб. У момент написання, що встановлюється версія VirtualBox 4.2.4.

установка

Для установки разом з VirtualBox пакета розширень, в файл /etc/portage/package.use додаємо: app-emulation / virtualbox extensions Для размаскіровкі пакетів (в моєму випадку, для архітектури x86) в файл /etc/portage/package.keywords додаємо: app-emulation / virtualbox ~ x86 app-emulation / virtualbox-extpack-oracle ~ x86 app-emulation / virtualbox-additions ~ x86 app-emulation / virtualbox-modules ~ x86 І в файл /etc/portage/package.license: app- emulation / virtualbox-extpack-oracle PUEL app-emulation / virtualbox-additions PUEL Виконуємо: # emerge -av app-emulation / virtualbox Щоб користувач, від імені якого ми заходимо в систему, міг запускати VirtualBox, додамо його в групу vboxusers: # gpasswd -a username vboxusers Тепер зробимо так, щоб модуль ядра VirtualB ox (vboxdrv) завантажувався при запуску системи. Для цього відредагуємо файл /etc/conf.d/modules. Тут можна вказати, які модулі повинні завантажуватися як для певної версії ядра (modules_x = "...", де x - номер версії ядра), так і для всіх версій ядра (modules = "..."). Зазначимо, що модуль vboxdrv повинен завантажуватися для всіх версій ядра: modules = "vboxdrv" Перезавантажуємо Gentoo.

Установка гостьовий операційної системи та налаштування

Запускаємо VirtualBox. Щоб перемкнути мову інтерфейсу, заходимо в File-> Preferences-> Language і там вибираємо мову:

Створюємо нову віртуальну машину. Мені потрібна була система Windows, тому я створював і встановлював Windows 7.

Після створення віртуальної машини і установки на неї гостьовий операційної системи, ставимо доповнення гостьовий ОС (пристрої-> Встановити доповнення гостьовий ОС). Це потрібно для розширення можливостей обміну даними між гостьовою і хост системою, для коректного функціонування інтеграції покажчика миші і клавіатури, а також для можливості максимізації екрану гостьовий ОС.

Завершуємо роботу в гостьовій ОС, щоб внести деякі зміни в системні настройки.
Спочатку налаштуємо загальну папку для обміну файлами між гостьовий ОС і хост системою. В налаштуваннях на вкладці "Загальні папки" додаємо папку:

В налаштуваннях на вкладці Загальні папки додаємо папку:

Після включення віртуальної машини з гостьової ОС, в мережевому оточенні з'явиться новий комп'ютер VBOXSVR з доданою загальної папкою.

Після включення віртуальної машини з гостьової ОС, в мережевому оточенні з'явиться новий комп'ютер VBOXSVR з доданою загальної папкою

Тепер розберемося з мережею. Мені потрібно було, щоб я міг звертатися до сервісів, запущеним всередині віртуальної машини на сервері apache. VirtualBox дозволяє створити в гостьовій системі віртуальну мережеву карту з підключенням через NAT (реалізований автоматично засобами VirtualBox) і прокинути довільний порт гостьової системи на порт сервера VirtualBox. Таким чином, можна зробити так, щоб при зверненні до будь-якого порту на хост системі, запит прямував до віртуальної машини. Щоб реалізувати це, заходимо в налаштування на вкладку "Мережа", розгортаємо секцію "Додатково", заходимо в "Проброс портів" і додаємо нове правило.

Щоб реалізувати це, заходимо в налаштування на вкладку Мережа, розгортаємо секцію Додатково, заходимо в Проброс портів і додаємо нове правило

Вказуємо довільне ім'я правила, "Порт хоста" - який-небудь вільний порт хост системи, при зверненні до якого буде відбуватися перенаправлення, "Порт гостя" - порт гостьової системи, на який буде відбуватися перенаправлення. Можна ще вказати "IP хоста" і "IP гостя", щоб конкретизувати IP-адреси, але можна просто залишити ці значення порожніми. У моєму випадку я вказав, що всі запити до хост системі по порту 8180 повинні перенаправлятися на 80 порт гостьової ОС, на якому знаходиться apache.

Порт проброшен, тепер при зверненням до нашого комп'ютера на порт 8180, відповідати буде 80 порт віртуальної машини. Працює це тільки тоді, коли віртуальна машина запущена, інакше запит буде потрапляти на порт хост системи і не буде перенаправлений.

Перевіримо, чи правильно встановлена. Припустимо, віртуальна машина запущена, і на сервері apache всередині неї є віртуальний хост "testing". На хост системі пропишемо в / etc / hosts: 127.0.0.1 testing У браузері заходимо за адресою http: // testing: 8180. Якщо сторінка успішно відкривається і відображає потрібний вміст, значить все налаштоване правильно.



Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

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

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью