Як настроїти мережу на віртуальній машині virtualbox. Системний інтегратор

Оригінал: VirtualBox Networking
Переклад на Linux російською
Автор: Robin Catling
Дата публікації: травень 2012 р.
Переклад: Семененко В.
Дата перекладу: 5 жовтня 2012 р.
Все почалося з того, що одного разу мені потрібно було запустити екземпляр CMS Wordpress у пісочниці. Початок був простим. Досить було створити віртуальний сервер Ubuntu 11.10 як гостьова операційна система на VirtualBox. Але потім я виявив, що я знаю набагато менше про мережі та їх налаштування, ніж я думав раніше. Зокрема, про пакети, комутатори та маршрутизатори. Ще менше я знав про налаштування мереж VirtualBox, де все апаратне забезпечення представлене в програмному вигляді. Декілька спроб і невдалих налаштувань мережі, досягнута мета - і як результат, уявляю вам цю статтю. Метою її є зберегти ваші нерви на основі моїх власних спроб і помилок.

Налаштування мережі VirtualBox

Для початку встановіть будь-яку версію віртуальної машини VirtualBox, починаючи з 3.0. І ви знайдете в ній приблизно однакові можливості, порівняно з тими, що описуються в цій статті.
Після встановлення програми перейдіть в меню "Установки - Мережа". Вигляд вкладки, що відкривається, відповідає параметрам за замовчуванням. Будь-яка з віртуальних машин може бути налаштована на використання чотирьох мережевих адаптерів - залежно від того, який вам необхідний конкретному випадку. Але найчастіше практично потрібно лише одне із них. Як правило, при установці віртуальної машини, за промовчанням створюється простий мережевий адаптер. Цього достатньо для виходу до Інтернету.
Залежно від потреб може знадобитися створення кількох мережних інтерфейсів різних типів. Або ж кількох пристроїв одного типу, але з різними налаштуваннями. Це може знадобитися для використання на віртуальній машині як фізичних, так і віртуальних мережевих адаптерів. Все залежить від того, які підключені.

Для мого web-сервера із запущеним на ньому CMS Wordpress справи складніші, тому йдемо далі... Вкладка "Тип адаптера" відповідає за налаштування віртуального апаратного забезпечення. VirtualBox чудово справляється з роллю сполучної ланки між програмною мережевою платою та тим фізичним інтерфейсом, який встановлений на реальній машині (хості). Відкрийте посилання "Додатково" і будуть доступні розширені можливості мережного адаптера. У цій статті я детально опишу всі налаштування в порядку їхнього слідування, починаючи з установки типу адаптера.

Тип адаптера (Adapter Type)

Віртуальна машина VirtualBox має вбудовану програмну емуляцію більшості найпоширеніших типів мережевих карток, під які створені драйвера та протоколи. Карта PCnet-FAST III є вибором за замовчуванням, проте у своїй практиці часто вибираю Intel PRO/1000MT. Я роблю так, якщо мені потрібна найкраща сумісністьіз "залізом" від Intel, яке встановлено на моєму комп'ютері. Якщо у вас виникнуть проблеми з налаштуванням мережного з'єднання, можна спробувати змінити тип адаптера, вибравши інший. Для древнього обладнання підійде мережна карта PCnet-FAST II.

Режим (Mode)

"Нерозбірливий режим" (Promiscuous Mode), що досить дивно звучить, зазвичай застосовується для роботи VM як віртуального маршрутизатора в локальних мережах; як мережевий міст або хост. У цьому режимі порт віртуальної машини здатний приймати будь-які пакети, що надсилаються іншим операційних систем; і навіть для хоста. Тобто приймаються мережеві пакети, призначені не тільки для цього адаптера, але й для інших мережних пристроїв. У 99% випадків звичайним користувачам"Нерозбірливий режим" не потрібний. Він використовується мережними адміністраторами для діагностики проблем, що виникають у мережі.

MAC адреса (MAC Address)

MAC-адреса (MAC - абревіатура від Media Access Control) є унікальним "ім'ям" пристрою в мережі, що однозначно ідентифікує і відрізняє його від інших адаптерів і вузлів. Ця адреса прописується для кожного мережного пристрою фізично в пам'яті самого інтерфейсу. Під час створення віртуального мережного адаптера VirtualBox автоматично генерує для нього MAC-адресу.
Якщо необхідно змінити вже наявну MAC-адресу, то для цього є невелика кнопка справа, яка генерує нове значення. У разі клонування існуючої віртуальної машини, для неї необхідно створити власну унікальну MAC-адресу, яка буде відрізнятися від адреси оригінальної машини.
Галочка навпроти напису "Кабель підключений" виконує ту саму роль, що і підключення чи відключення фізичного кабелю насправді. Ця установка відповідає за підключення віртуального адаптера до мережі. Не варто плутати її з іншим більш важливим налаштуванням "Увімкнути мережевий адаптер", яке включає або вимикає сам адаптер на віртуальній машині.
Кнопка "Прокидання портів" відкриває діалогове вікно, в якому проводиться настроювання правил поведінки трафіку на конкретному адаптері; яким чином переміщатиметься трафік певного типу між хостом і гостьовою віртуальною машиною. Ці правила застосовуються до мережевих моделей, які будуть розглянуті трохи згодом. Самі мережі визначаються на вкладці "Тип підключення". Це налаштування є найскладнішим моментом у встановленні з'єднань у VirtualBox. Вона завдала мені найбільших проблем в експериментах.

"Підводні камені"

Існують чотири типи мережних моделей підключення та велика кількість можливих комбінацій налаштувань цих підключень. У цьому плані створення мережі VirtualBox схоже на середньовічну алхімію - настільки тут все заплутано і нелогічно. Здавалося б, якщо слідувати правильним налаштуванням, то ви досить просто отримаєте потрібний результат. Однак, є кілька рішень одного завдання, які спочатку будуть правильними. Але зрештою призведуть до того, що ви не досягнете поставленої мети. Повірте мені, я вже знаю...

Типи підключення до мережі

У VirtualBox є чотири готові моделі для підключення до мережі:
  • Трансляція мережевих адрес (NAT), яка є настроюванням за замовчуванням
  • Мережевий міст (Bridged)
  • Віртуальний адаптер хоста (Host Only)
З'єднання типу "Не підключений" також є налаштуванням мережі, але служить тільки для однієї мети - визначення можливих неполадок. У цьому режимі VirtualBox повідомляє гостьовій операційній системі, що мережева карта є присутньою, але з'єднання з нею немає.

Трансляція мережевих адрес (NAT)

Протокол NAT дозволяє гостьовій операційній системі виходити в Інтернет, використовуючи при цьому приватний IP, який не доступний з боку зовнішньої мережі або для всіх машин локальної фізичної мережі. Така мережеве налаштуваннядозволяє відвідувати web-сторінки, завантажувати файли, переглядати електронну пошту. І все це, використовуючи гостьову операційну систему. Проте ззовні неможливо з'єднатися з такою системою, якщо вона використовує NAT.
Принцип трансляції мережевих адрес полягає в наступному. Коли гостьова ОС відправляє пакети на конкретну адресу віддаленої машини в мережі, сервіс NAT, що працює під VirtualBox, перехоплює ці пакети, витягує з них сегменти, що містять адресу пункту відправки (IP-адреса гостьової операційної системи) і робить їх заміну на IP- адреса машини-хоста. Потім заново пакує їх і відправляє за вказаною адресою.
Наприклад, у вашій домашній локальній мережі хост та інші фізичні мережеві пристрої мають адреси в діапазоні, що починається з 192.168.х.х. У VirtualBox адаптери, що працюють за протоколом NAT, мають IP-адреси в діапазоні, що починається з 10.0.2.1 і закінчується 10.0.2.24. Такий діапазон називається підмережею. Як правило, цей діапазон не використовується для присвоєння адрес пристроям в основній мережі, тому така система недоступна ззовні з боку хоста. Гостьова ОС може виконувати оновлення програмного забезпеченнята web-серфінг, але залишається невидимою для інших "учасників".
У посібнику VirtualBox цей момент описаний докладніше:
"У режимі NAT гостьовому мережному інтерфейсу присвоюється за замовчуванням IPv4 адреса з діапазону 10.0.х.0/24, де х позначає конкретну адресу NAT-інтерфейсу, що визначається за формулою +2. Таким чином, х дорівнюватиме 2, якщо є тільки один активний NAT-інтерфейс.В цьому випадку, гостьова операційна система отримує IP-адресу 10.0.2.15, мережному шлюзу призначається адреса 10.0.2.2, серверу імен (DNS) призначається адреса 10.0.2.3." (Oracle Corporation, 2012, Розділ 9). Протокол NAT корисний у тому випадку, коли немає різниці в тому, які IP-адреси використовуватимуть гостьові ОС на віртуальній машині, оскільки всі вони будуть унікальними. Однак, якщо потрібно налаштувати перенаправлення мережевого трафіку, або ж розширити функціональність гостьової ОС, розгорнувши на ній web-сервер (наприклад), то потрібні додаткові опції. У режимі NAT також недоступні такі можливості, як надання загального доступудо папок та файлів.

Мережевий міст (Bridged)

У з'єднанні типу "Мережевий міст" віртуальна машина працює так само, як і всі інші комп'ютери в мережі. У цьому випадку адаптер виступає в ролі мосту між віртуальною та фізичною мережами. З боку зовнішньої мережі є можливість безпосередньо з'єднуватися з гостьовою операційною системою.
Адаптер у режимі "Мережевий міст" підключається, минаючи хост, до пристрою, який розподіляє IP-адреси всередині локальної мережі для всіх фізичних мережевих карток. VirtualBox з'єднується з однією із встановлених мережевих карток і передає пакети через неї безпосередньо; виходить робота мосту, яким передаються дані. Як правило, адаптер у моделі "Мережевий міст" отримує стандартну адресу з діапазону 192.168.х.х від роутера. Тому віртуальна машина в мережі виглядає так, ніби це звичайний фізичний пристрій, який не відрізняється від інших.
На хості можуть бути активними одночасно кілька мережевих пристроїв; наприклад, на моєму ноутбуці є дротове підключення (зване eth0) і бездротове підключення(зване wlan0). Поле "Ім'я" дозволяє вибрати, який із мережевих інтерфейсів ви б хотіли використовувати як мост на VirtualBox.
У моєму випадку я використовую бездротовий адаптер wlan0, оскільки він підключений до маршрутизатора. В той час як дротовий інтерфейс eth0 не має навіть кабелю.

Тому моєму хосту призначено роутером IP-адресу 192.168.0.2. Віртуальній машині в режимі "Мережевий міст" надано адресу 192.168.2.6. При цьому не має значення той факт, що VirtualBox передає та отримує трафік як би "крізь" хост, минаючи його. В результаті виходить, що віртуальна машина стає просто ще одним комп'ютером у локальній мережі. Якщо я перерахую свій комп'ютер і три віртуальні машини (VM), що працюють у режимі "Мережевий міст", то у мене вийде чотири комп'ютери у фізичній локальній мережі.

Дальше більше...

Протокол NAT є корисним, тому що він захищає гостьові операційні системи з боку Інтернет. Але для того, щоб отримати доступ до них ззовні (а на деяких ОС у мене є встановлені web-сервери), потрібно додаткове налаштуваннядля перенаправлення трафіку. Тип підключення "Мережевий міст" дозволяє отримати доступ до них, але системи в цьому випадку стають незахищеними.
Якщо ваш мережний пристрій доступу (це може бути маршрутизатор, мережевий комутатор або налаштування, надані Інтернет-провайдером) дозволяє надавати тільки одну IP-адресу для мережного інтерфейсу, можливо, вам не вдасться налаштувати "Мережний міст".

Віртуальний адаптер хоста (Host-only)

При підключенні типу "Віртуальний адаптер хоста" гостьові ОС можуть взаємодіяти між собою та з хостом. Але все це тільки всередині самої віртуальної машини VirtualBox. У цьому режимі адаптер хоста використовує свій власний, спеціально для цього призначений пристрій, який називається vboxnet0. Також їм створюється підмережа і призначаються IP-адреси мережевим картамгостьових операційних систем. Гостьові ОС що неспроможні взаємодіяти з пристроями, що у зовнішньої мережі, оскільки де вони підключені до неї через фізичний інтерфейс. Режим "Віртуальний адаптер хоста" обмежений набірслужб, корисних для створення приватних мереж під VirtualBox для її гостьових ОС.
На відміну від інших продуктів віртуалізації, адаптер, що працює під протоколом NATу VirtualBox, не може виступати в ролі сполучного моста між мережевим пристроєм за умовчанням на хостах. Тому неможливий прямий доступ ззовні до машин, що "заховані" за NAT - ні до програм, що працюють на них; ні до даних, що знаходяться на самих хостах. Давайте розглянемо наступний приклад.

Як правило, хост має власну мережну адресу, яка використовується для виходу в Інтернет. Зазвичай, це 192.168.0.101. У режимі "Віртуальний адаптер хоста" машина-хост також виступає в ролі роутера VirtualBox і має IP-адресу за замовчуванням 192.168.56.1. Створюється внутрішня локальна мережа, що обслуговує всі гостьові операційні системи, налаштовані для режиму "Віртуальний адаптер хоста" та видимі для решти фізичної мережі. Адаптер vboxnet0 використовує адреси з діапазону 192.168.56.101. Але за бажанням можна змінити адресу за промовчанням.
Подібно до адаптера в режимі "Мережевий міст", в режимі "Віртуальний адаптер хоста" використовуються різні діапазони адрес. Можна легко налаштувати гостьові системи для отримання IP-адрес, використовуючи для цього вбудований DHCP-сервер віртуальної машини VirtualBox.
На додачу слід сказати, що в режимі "Віртуальний адаптер хоста" створена ним мережа не має зовнішнього шлюзу для виходу в Інтернет як для хоста, так і для гостьових операційних систем. Він працює лише як звичайний мережевий комутатор, з'єднуючи між собою хост та гостьові системи. Тому адаптер у режимі "Віртуальний адаптер хоста" не надає гостьовим машинам вихід в Інтернет; vboxnet0 за замовчуванням не має шлюзу. Додаткові можливостідля цього адаптера значно спрощують налаштування мережі між хостом та гостьовими ОС, проте все ж таки відсутній зовнішній доступ або перенаправлення портів. Тому може знадобитися другий адаптер у режимі "Віртуальний адаптер хоста" або "Мережевий міст", який підключається до гостьової операційної системи для отримання повного доступудо неї.

Внутрішня мережа (Internal Network)

Якщо на практиці вам потрібно налаштувати взаємозв'язок між декількома гостьовими операційними системами, що працюють на одному хості і можуть спілкуватися тільки між собою, тоді можна скористатися режимом "Внутрішня мережа". Звичайно, для цієї мети можна використовувати режим "Мережевий міст", але режим "Внутрішня мережа" має більшу безпеку. У режимі "Мережевий міст" всі пакети надсилаються та виходять через адаптер фізичної мережі, встановлений на машині-хості. У цьому випадку весь трафік може бути перехоплений (наприклад, шляхом встановлення сніфера пакетів на машині-хості).

Внутрішня мережа, згідно з керівництвом VirtualBox, є " програмною мережею, яка може бути видима для вибірково встановлених віртуальних машин, але не для додатків, що працюють на хості або на віддалених машинах, розташованих ззовні". Така мережа являє собою набір з хоста та кількох віртуальних машин. Але жоден з перерахованих вище пристроїв не має виходу через фізичний мережевий адаптер- він повністю програмний, що використовується VirtualBox як мережний маршрутизатор. Загалом виходить приватна локальна мережа лише для гостьових операційних систем без доступу до Інтернету, що робить її максимально безпечною. Можливе застосування такої мережі – надсекретний сервер із клієнтами, призначений для розробки; тестування систем на проникнення або будь-які інші цілі, що мають створення внутрішньої мережі для команд-розробників або організацій. Це ідеальний спосіб для блокування оточення від неавторизованої установки програмного забезпечення, завантаження чи закачування файлів, відвідування сервісів типу Facebook у робочий час.
Отже, ми розглянули різні типи мережевих з'єднань. Кожен з них має власні налаштування і призначений для певних цілей. Повернемося на той момент, звідки все почалося - створення віртуального сервера для розгортання на ньому CMS Wordpress та його тестування.

Доступ до гостьової операційної системи

По-перше, мені потрібен доступ до Інтернету з гостьової системи для встановлення оновлень, завантаження пакетів та інших подібних завдань. Мені також потрібний доступ до Мережі з машини-хоста. Але мені не потрібно, щоб сервер був доступний із зовнішньої мережі.
Вибираю необхідну віртуальну машину з менеджера VirtualBox та потім переходжу в меню "Налаштування - Мережа".
Залишаю вибраним за замовчуванням адаптер мережі в режимі NAT. Це дозволить гостьовим системам виходити до Інтернету через налаштоване з'єднання хоста, на якому встановлені ці машини. Гостьові системи не видно ззовні у локальній мережі; я також не маю доступу до будь-якої гостьової системи з боку хоста; аналогічно, гостьові системи що неспроможні взаємодіяти між собою.

Налаштування віртуального адаптера хоста

Найпростіший спосіб – це використовувати адаптер у режимі "Віртуальний адаптер хоста", який надається VirtualBox за замовчуванням. Він має ім'я vboxnet0. Можна додати стільки адаптерів подібного типу, скільки потрібно (якщо необхідно налаштувати кілька окремих мереж типу "Віртуальний адаптер хоста"). Відкривши основне вікно менеджера гостьових операційних систем VirtualBox і вибравши в меню "Налаштування - Мережа", ви можете конфігурувати існуючий адаптер vboxnet0 або створити ще кілька подібних (vboxnet1, vboxnet2).
Клацніть на кнопці "Редагувати" - іконка із зображенням викрутки (третя за рахунком зверху вниз). Клацніть на цій іконці відкриє параметри за замовчуванням. Вони адреса 192.168.56.1 є тією адресою, яким гостьові системи отримують доступом до хосту. Я залишив його "як є", не змінюючи.


За замовчуванням, адаптер vboxnet0 динамічно отримує IP-адресу під час сесії підключення від DHCP-сервера. Для мого віртуального web-сервера Wordpress необхідно, щоб він мав статичну IP-адресу. Тому на вкладці DHCP сервер я прибрав галочку з напису Включити сервер. Таким чином, DHCP-сервер у мене вимкнено.

Додавання віртуального адаптера хоста

Я збираюся додати ще один мережевий адаптер (в режимі "Віртуальний адаптер хоста") до гостьової машини, що дозволить створити приватну приватну віртуальну мережу. Ця мережа складатиметься лише з хоста та будь-якої гостьової операційної машини, налаштованої в режимі "Віртуальний адаптер хоста".
Тому в налаштуваннях гостьової системи я відкриваю вкладку "Адаптер 2" та встановлюю значення "Тип підключення" у положення "Віртуальний адаптер хоста". За замовчуванням, новоствореному адаптеру надається ім'я vboxnet0 . "Нерозбірливий режим" для мене не має значення, тому залишаю його у значенні "Заборонити". Напис "Кабель підключений" я також залишаю активним.

Налаштування гостьової системи


Мені необхідно, щоб гостьовий віртуальний сервер мав статичну IP-адресу в мережі, що працює в режимі "Віртуальний адаптер хоста". Інакше адреса сервера змінюватиметься від сесії до сесії, щоразу при підключенні. Я буду змушений знову і знову вирішувати завдання налаштування, щоб з'єднатися з хостом. Тому заходжу до гостьової системи, відкриваю в ній термінал і вводжу в ньому дві наступні команди:
ifconfig eth1 192.168.56.101 netmask 255.255.255.0 up Ці дії встановлюють вказану IP-адресу для адаптера, розташованого в гостьовій системі та запускають цей мережний інтерфейс. У цій адресі використовується мережевий префікс 192 для домашніх мереж, потім.168 в якості початкової адреси хоста ID, .56 для установки діапазону адрес підмережі; і, нарешті, фінальний ідентифікатор.1 (хост) для мережі. Адаптер у режимі NAT має ім'я eth0, тому логічно припустити, що адаптер у режимі "Віртуальний адаптер хоста" має ім'я eth1. Я можу використовувати цю IP-адресу для тестування гостьової системи з хоста через протокол SSH або браузер.
Однак ці налаштування є тимчасовими. Якщо я проведу перезавантаження системи, всі вони безслідно пропадуть. Щоб встановити їх постійними, потрібно додати (використовуючи обліковий запис root) у файл /etc/network/interfaces наступні рядки:
# The hostonly network interface auto eth1 iface eth1 inet static address Для перевірки - чи він запустився, я використовую команду ifconfig , яку вводжу в терміналі гостьової операційної системи.

Присвоєння імен

Так як я не надто "дружу" з числами та IP-адресами, то для себе я завжди використовую імена для гостьових систем замість присвоєння їм IP-адрес. Для цього я редагую файл /etc/hosts на машині-хості та додаю туди посилання. Таким чином, я можу переглядати запущені гостьові системи за їхніми іменами.
До файлу /etc/hosts я додаю рядок:
192.168.56.101 ocelotsvr Якщо я додаю ще кілька гостьових систем з мережу, то мені достатньо відредагувати цей файл та дописати потрібну кількість рядків. Завдяки такому прийому легко можу звернутися до будь-якої з цих систем.

Альтернативний маршрут

Експерти мережевих технологій можуть помітити, що у моїй конфігурації існує альтернативний маршрут для доступу до віртуального сервера.
Використовуючи стандартний адаптер, що працює за протоколом NAT, можна запустити додаткову конфігурацію, яка дозволить мені отримати доступ до віртуального сервера з хоста, не використовуючи при цьому мережеве налаштування "Віртуальний адаптер хоста".
Використовуючи панель "Мережевий адаптер" у гостьовій операційній системі, можна налаштувати прокидання портів у віртуальній машині VirtualBox. Для цього переходимо до налаштувань адаптера NAT (кнопка внизу вікна) для налаштування перенаправлення портів. При натисканні на неї відкриється діалогове вікно, в якому налаштовуються правила прокидання даного мережного адаптера та гостьової системи.
Мені потрібно налаштувати два правила; одне для отримання доступу до web-сервера Apache на гостьовій системі, друге - для регулювання решти TCP-трафіку (у більшості це http-запити).
Не мудруючи лукаво, я назвав ці правила Apache і TCP відповідно; обидва використовують TCP-протокол. Якщо говорити про прив'язку номерів портів, то порт 8888 на хості перенаправляє трафік на гостьову систему. сервера Apache; порт 2222 на хості перенаправляє трафік на порт 22, розташований на гостьовій операційній системі; таке налаштування надає мені доступ до гостьової системи для керування її службами. Будь-який інший трафік буде відхилений віртуальною машиною, як не підпадає під правила.

Це означає, що будь-які інші гостьові системи, які я запущу на віртуальній машині, не зможуть з'єднатися з віртуальним серверомТак як просто не існує мережного маршруту під NAT.

23.05.2017 Ромчик

Доброго вам дня. В одній із статей ми з вами встановили Ubuntu як гостьову систему та надали їй доступ в інтернет. Проблем у нас не виникло. Але мені б хотілося з хоста мати доступ до гостьової системі UbuntuПри цьому, щоб наша Ubuntu залишалася за NAT. Є кілька варіантів реалізації цього завдання. І я розгляну один створення ще одного мережного інтерфейсу. Другий варіант, прокидання портів я не розглядатиму, т.к. він мені не підійшов. Приступимо.

Нам необхідно додати ще один віртуальний адаптер (один уже є та використовується для виходу в інтернет гостьових ОС)

Для цього відкриваємо налаштування VirtualBox

Також можна налаштувати і сервер DHCP.

Тиснемо «Ок». Тепер переходимо до настроювання віртуальної машини.

Налаштування мережі у віртуальній машині.

Відкриваємо налаштування нашої віртуальної машини.

Вибираємо «Мережа» та переходимо у вкладку «Адаптер 2»

Включаємо мережевий адаптер. Потім вибираємо тип підключення «Віртуальний адаптер» та зі списку вибираємо ім'я. Тиснемо «Ок»

На цьому налаштування віртуальної машини завершено. Запускаємо машину.

Налаштування гостьової Ubuntu

Відкриваємо термінал та вводимо команду ifconfig.

Так, інтерфейс enp0s3 служить для виходу в інтернет, а enp0s8 для зв'язку гостьової системи з хостом. Ок, давайте пропишемо enp0s8 статичний IP. Наприклад, 10.0.1.10.

Відкриваємо sudo gedit /etc/network/interfaces

І додаємо:

Auto enp0s8 iface enp0s8 inet static address 10.0.1.10 netmask 255.255.255.0

Зберігаємо та перезапускаємо мережу, командою:

Sudo /etc/init.d/networking restart

Чекаємо та перевіряємо, запустимо пінг на 8.8.8.8

Чудово все працює. Тепер перевіримо доступ із хоста до гостьової системи. Запускаємо пінг на 10.0.1.10

От і все.

Висновок.

Ми з вами налаштували доступ до гостьової системи з хоста, при цьому є доступ із гостьової системи в інтернет (через NAT)

Щоб не пропустити виходу нових статей, що підписується.

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

AMD PCNet PCI II (Am79C970A);

AMD PCNet FAST III ( Am79C973, the default);

Intel PRO/1000 MT Desktop (82540EM);

Intel PRO/1000 T Server (82543GC);

Intel PRO/1000 MT Server (82545EM);

Paravirtualized network adapter (virtio-net).

Мережева карта PCNet FAST III встановлюється за промовчанням. вона підтримується практично всіма операційними системами, як GNU GRUB boot manager.

Ця карта в режимі NAT добре і без проблем встановилася в Windows 98:


Мережева карта PCNet FAST IIIв режимі NAT добре і без проблем ставиться і в Windows XP:



1.Network Address Translation (NAT)

Режим Network Address Translation (NAT) надає найпростіший спосіб доступу до зовнішнього середовища з віртуальної машини. Зазвичай, для нього не потрібно жодних налаштувань хоста та гостьової системи. Тому він є мережевим режимомза замовчуванням.

Віртуальна машина з мережним інтерфейсом як NAT підключається до мережі, як і реальний комп'ютер підключається до Internet через маршрутизатор. "Маршрутизатором" у цьому випадку виступає мережевий модуль VirtualBox, який обробляє мережевий трафік віртуальної машини. Недолік режиму NAT, як і у разі локальної мережі за маршрутизатором, у тому, що віртуальна машина недоступна зовнішньої мережі (internet); ви не можете обробляти мережні запити, доки не налаштуєте перекидання портів.

Віртуальна машина отримує мережеву адресу та інші його налаштування в локальній мережі сервера DHCPвбудованого у VirtualBox. Таким чином, IP адреса присвоюється віртуальній машині відмінна від мережевої адреси мережі хоста. Можливо налаштувати використання кількох мережевих карток у віртуальній машині в режимі NAT, тоді перша карта буде належати локальній мережі 10.0.2.0, друга 10.0.3.0 і т.д.

У режимі NAT, мережному інтерфейсу гостя призначається за замовчуванням адреса IPv4 в мережі 10.0.x.0/24 , де x дорівнює порядковому номеру інтерфейсу віртуальної машини плюс 2. Тобто x дорівнює 2, якщо є лише один активний NAT інтерфейс. В даному випадку гостю надається адреса 10.0.2.15 , адреса шлюзу встановлюється в 10.0.2.2 а сервер імен (dns) 10.0.2.3 .

Справді, практика підтвердила, що з режимом NAT у VirtualBox, мережа у віртуальних машинах Windows XP і Windows 98 налаштовуються сама без жодних складнощів. Достатньо встановити режим NAT при інсталяції системи у віртуальну машину VirtualBox-а та мережа встановиться. Також без проблем встановлюється мережа, якщо карту підключити вже після встановлення операційної системи.

2. Виконайте команду ipconfig /all для режиму NAT віртуальних машин.

У Windows 98 такі установки мережі:




VirtualBox дозволяє віртуальним машинамвикористовувати мережеві підключення хостової системи, а також створювати віртуальні мережідля віртуальних машин

За допомогою коштів графічного інтерфейсукористувача може бути налаштовано до 4-х мережних адаптерів для кожної із зареєстрованих у VirtualBox віртуальнихмашин.

Процедуру налаштування мережевих інтерфейсів добре описано у фірмовій інструкції користувача Oracle VM VirtualBox® англійською мовою.

Для кожної віртуальної машини можна емулювати до 4-х мережних адаптерів. Кожен із мережевих адаптерів може працювати в одному з 6 режимів:

  • Не підключений. У цьому режимі адаптер присутній у гостьовій системі, але поводиться так, як мережевий кабель в нього не включений.
  • NAT. У цьому режимі адаптер використовує настройки основної системи при взаємодії з мережею фізичного вузла та іншими зовнішніми мережами. Мережа підсистема VirtualBox транслює IP-трафік з вихідною IP-адресою віртуальної машини в трафік з вихідною адресою мережевого адаптера хостової системи (трансляція мережевих адрес, Network Address Translation). Реалізація NAT у VirtualBox має певні обмеження, пов'язані з підтримкою протоколу ICMP, широкомовного UDP-трафіку та технологій віртуальних приватних мереж. Цей режим використовується за замовчуванням.
  • Мережевий міст. У цьому режимі мережевий адаптер ВМ підключається до мережного адаптера хостової системи та обробляє мережеві пакети безпосередньо в обхід мережевого стека хостової системи (адаптер хостової системи працює з адаптером ВМ в режимі моста).
  • Внутрішня мережа. Мережеві адаптери Віртуальних машин поєднуються між собою в ізольований сегмент мережі.
  • Віртуальний адаптер хоста. Мережа, що об'єднує в даний сегмент хостову систему та віртуальні машини, включені в даний сегмент. Для цього режиму VirtualBox створює в хостовій системі програмний мережевий інтерфейс та встановлює на ньому IP-адресу.
  • Універсальний драйвер. Користувач сам вибирає драйвер мережного адаптера, який може бути входить до складу VirtualBox або завантажується з пакетом додатків до VirtualBox. На даний моментіснує 2 драйвери реалізують 2 режими роботи віртуального адаптера:
    • UDP Тунель. Режим зв'язку віртуальних машин, запущених різних хостах. Працює над існуючою мережевою інфраструктурою.
    • VDE(Віртуальний розподілений Ethernet). Цей режим може бути використаний для підключення розподілених віртуальних машин до Віртуального комутатору Ethernetна Linux або FreeBSD хостах.

Для кожного з 4-х мережних адаптерів віртуальної машини можна вибрати один із 5 драйверів, що емулюють реальні мережеві адаптери різних виробників обладнання або драйвер Virtio-net, що є частиною open-source KVM проекту. Драйвер Virtio-net дозволяє уникнути складності емуляції мережного обладнання та дозволяє підвищити продуктивність мережі. Linux ядро ​​гостьової системи версії 2.6.25 і більше може підтримувати Virtio-net адаптер. Для гостьових систем на Windows 2000, XP та Vista драйвер для адаптера Virtio-net можна

Для початку встановіть будь-яку версію віртуальної машини VirtualBox, починаючи з 3.0. І ви знайдете в ній приблизно однакові можливості, порівняно з тими, що описуються в цій статті.

Після інсталяції програми перейдіть в меню “Установки – Мережа”. Вигляд вкладки, що відкривається, відповідає параметрам за замовчуванням. Будь-яка з віртуальних машин може бути налаштована на використання чотирьох мережевих адаптерів – залежно від того, який вам необхідний у конкретному випадку. Але найчастіше практично потрібно лише одне із них. Як правило, при установці віртуальної машини, за промовчанням створюється простий мережевий адаптер. Цього достатньо для виходу до Інтернету.

Залежно від потреб, може знадобитися створення кількох мережних інтерфейсів різних типів. Або декількох пристроїв одного типу, але з різними налаштуваннями. Це може знадобитися для використання на віртуальній машині як фізичних, так і віртуальних мережевих адаптерів. Все залежить від того, які підключені.

Для мого web-сервера із запущеним на ньому CMS WordPressВідносини складніші, тому йдемо далі ... Вкладка "Тип адаптера" відповідає за налаштування віртуального апаратного забезпечення. VirtualBox чудово справляється з роллю сполучної ланки між програмною мережевою платою та тим фізичним інтерфейсом, який встановлений на реальній машині (хості). Відкрийте посилання "Додатково", і вам будуть доступні розширені можливості мережного адаптера. У цій статті я детально опишу всі налаштування в порядку їхнього слідування, починаючи з установки типу адаптера.

Тип адаптера (Adapter Type)

Віртуальна машина VirtualBox має вбудовану програмну емуляцію більшості найпоширеніших типів мережевих карток, під які створені драйвера та протоколи. Карта PCnet-FAST III є вибором за замовчуванням, проте у своїй практиці часто вибираю Intel PRO/1000MT. Я роблю так, якщо мені потрібна найкраща сумісність із "залізом" від Intel, яке встановлено на моєму комп'ютері. Якщо у вас виникнуть проблеми з налаштуванням мережного з'єднання, можна спробувати змінити тип адаптера, вибравши інший. Для древнього обладнання підійде мережна карта PCnet-FAST II.

Режим (Mode)

"Нерозбірливий режим" (Promiscuous Mode), що досить дивно звучить, зазвичай застосовується для роботи VM як віртуального маршрутизатора в локальних мережах; як мережевий міст або хост. У цьому режимі порт віртуальної машини здатний приймати будь-які пакети, що надсилаються інших операційних систем; і навіть для хоста. Тобто, приймаються мережні пакети, призначені не лише цього адаптера, але й інших мережевих пристроїв. У 99% випадків звичайним користувачам "Нерозбірливий режим" не потрібен. Він використовується мережними адміністраторами для діагностики проблем, що виникають у мережі.

MAC адреса (MAC Address)

MAC-адреса (MAC – абревіатура від Media Access Control) є унікальним “ім'ям” пристрою в мережі, що однозначно ідентифікує та відрізняє його від інших адаптерів та вузлів. Ця адреса прописується для кожного мережного пристрою фізично в пам'яті самого інтерфейсу. Під час створення віртуального мережного адаптера VirtualBox автоматично генерує для нього MAC-адресу.
Якщо необхідно змінити вже наявну MAC-адресу, то для цього є невелика кнопка справа, яка генерує нове значення. У разі клонування існуючої віртуальної машини, для неї необхідно створити власну унікальну MAC-адресу, яка буде відрізнятися від адреси оригінальної машини.

Галочка навпроти напису "Кабель підключений" виконує ту ж роль, що і підключення або відключення фізичного кабелю насправді. Ця установка відповідає за підключення віртуального адаптера до мережі. Не варто плутати її з іншим більш важливим налаштуванням "Увімкнути мережевий адаптер", яка включає або вимикає сам адаптер на віртуальній машині.

Кнопка "Прокидання портів" відкриває діалогове вікно, в якому проводиться настроювання правил поведінки трафіку на конкретному адаптері; яким чином переміщатиметься трафік певного типу між хостом і гостьовою віртуальною машиною. Ці правила застосовуються до мережевих моделей, які будуть розглянуті трохи згодом. Самі мережеві моделі визначаються на вкладці "Тип підключення". Це налаштування є найскладнішим моментом у встановленні з'єднань у VirtualBox. Вона завдала мені найбільших проблем в експериментах.

Типи підключення до мережі

У VirtualBox є чотири готові моделі для підключення до мережі:

  • Трансляція мережевих адрес (NAT), яка є настроюванням за замовчуванням
  • Мережевий міст (Bridged)
  • Віртуальний адаптер хоста (Host Only)

З'єднання типу “Не підключено” також є налаштуванням мережі, але служить тільки для однієї мети – визначення можливих неполадок. У цьому режимі VirtualBox повідомляє гостьовій операційній системі, що мережева карта є присутньою, але з'єднання з нею немає.

Трансляція мережевих адрес (NAT)

Протокол NAT дозволяє гостьовій операційній системі виходити в Інтернет, використовуючи при цьому приватний IP, який не доступний з боку зовнішньої мережі або для всіх машин локальної фізичної мережі. Таке мережеве налаштування дозволяє відвідувати web-сторінки, завантажувати файли, переглядати електронну пошту. І все це, використовуючи гостьову операційну систему. Проте ззовні неможливо з'єднатися з такою системою, якщо вона використовує NAT.

Принцип трансляції мережевих адрес полягає в наступному. Коли гостьова ОС відправляє пакети на конкретну адресу віддаленої машини в мережі, сервіс NAT, що працює під VirtualBox, перехоплює ці пакети, витягує з них сегменти, що містять адресу пункту відправки (IP-адреса гостьової операційної системи) і робить їх заміну на IP- адреса машини-хоста. Потім заново пакує їх і відправляє за вказаною адресою.

Наприклад, у вашій домашній локальній мережі хост та інші фізичні мережеві пристрої мають адреси в діапазоні, що починається з 192.168.х.х. У VirtualBox адаптери, що працюють за протоколом NAT, мають IP-адреси в діапазоні, що починається з 10.0.2.1 і закінчується 10.0.2.24. Такий діапазон називається підмережею. Як правило, цей діапазон не використовується для присвоєння адрес пристроям в основній мережі, тому така система недоступна ззовні з боку хоста. Гостьова ОС може виконувати оновлення програмного забезпечення та web-серфінг, але залишається невидимою для інших учасників.

У посібнику VirtualBox цей момент описаний докладніше:

“У режимі NAT гостьовому мережному інтерфейсу присвоюється за замовчуванням IPv4 адресу з діапазону 10.0.х.0/24, де х позначає конкретну адресу NAT-інтерфейсу, що визначається за формулою +2. Таким чином, х дорівнюватиме 2, якщо є тільки один активний NAT-інтерфейс. У цьому випадку, гостьова операційна система отримує IP-адресу 10.0.2.15, мережному шлюзу призначається адреса 10.0.2.2, серверу імен (DNS) призначається адреса 10.0.2.3. (Oracle Corporation, 2012, Розділ 9).

Протокол NAT корисний у тому випадку, коли немає різниці в тому, які IP-адреси використовуватимуть гостьові ОС на віртуальній машині, оскільки всі вони будуть унікальними. Однак, якщо потрібно налаштувати перенаправлення мережевого трафіку, або ж розширити функціональність гостьової ОС, розгорнувши на ній web-сервер (наприклад), то потрібні додаткові опції. У режимі NAT також недоступні такі можливості, як надання спільного доступу до папок та файлів.

Мережевий міст (Bridged)

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

Адаптер в режимі "Мережевий міст" підключається, минаючи хост, до пристрою, який розподіляє IP-адреси всередині локальної мережі для всіх фізичних карт. VirtualBox з'єднується з однією із встановлених мережевих карток і передає пакети через неї безпосередньо; виходить робота мосту, яким передаються дані. Як правило, адаптер у моделі "Мережевий міст" отримує стандартну адресу з діапазону 192.168.х.х від роутера. Тому віртуальна машина в мережі виглядає так, ніби це звичайний фізичний пристрій, який не відрізняється від інших.

На хості можуть бути активними одночасно кілька мережевих пристроїв; наприклад, на моєму ноутбуці є провідне підключення (зване eth0) та бездротове підключення (зване wlan0). Поле "Ім'я" дозволяє вибрати, який із мережевих інтерфейсів ви б хотіли використовувати як мост на VirtualBox.

У моєму випадку я використовую бездротовий адаптер wlan0 , оскільки він підключений до маршрутизатора. Хоча дротовий інтерфейс eth0 не має навіть кабелю.

Тому моєму хосту призначено роутером IP-адресу 192.168.0.2. Віртуальній машині в режимі "Мережевий міст" надано адресу 192.168.2.6. При цьому не має значення той факт, що VirtualBox передає та отримує трафік як би “крізь” хост, минаючи його. В результаті виходить, що віртуальна машина стає просто ще одним комп'ютером у локальній мережі. Якщо я перерахую свій комп'ютер і три віртуальні машини (VM), що працюють у режимі "Мережевий міст", то у мене вийде чотири комп'ютери у фізичній локальній мережі.

Протокол NAT є корисним, тому що він захищає гостьові операційні системи з боку Інтернет. Але для того, щоб отримати доступ до них ззовні (а на деяких ОС у мене є встановлені web-сервера), буде потрібно додаткове налаштування для перенаправлення трафіку. Тип підключення "Мережевий міст" дозволяє отримати доступ до них, але системи в цьому випадку стають незахищеними.

Якщо ваш мережний пристрій доступу (це може бути маршрутизатор, мережевий комутатор або налаштування, надані Інтернет-провайдером) дозволяє надавати тільки одну IP-адресу для мережного інтерфейсу, можливо, вам не вдасться налаштувати "Мережний міст".

Віртуальний адаптер хоста (Host-only)

При підключенні типу “Віртуальний адаптер хоста” гостьові ОС можуть взаємодіяти між собою та з хостом. Але все це тільки всередині самої віртуальної машини VirtualBox. У цьому режимі адаптер хоста використовує свій власний, спеціально для цього призначений пристрій, який називається vboxnet0. Також їм створюється підмережа і призначаються IP-адреси мережевим картам гостьових операційних систем. Гостьові ОС що неспроможні взаємодіяти з пристроями, що у зовнішньої мережі, оскільки де вони підключені до неї через фізичний інтерфейс. Режим "Віртуальний адаптер хоста" надає обмежений набір служб, корисних для створення приватних мереж під VirtualBox для гостьових ОС.

На відміну від інших продуктів віртуалізації, адаптер, що працює під протоколом NAT у VirtualBox, не може виступати в ролі сполучного моста між мережевим пристроєм за замовчуванням на хостах. Тому неможливий прямий доступ ззовні до машин, захованих за NAT - ні до програм, що працюють на них; ні до даних, що знаходяться на самих хостах. Давайте розглянемо наступний приклад.

Як правило, хост має власну мережну адресу, яка використовується для виходу в Інтернет. Зазвичай, це 192.168.0.101. У режимі "Віртуальний адаптер хоста" машина-хост також виступає в ролі роутера VirtualBox і має IP-адресу за замовчуванням 192.168.56.1. Створюється внутрішня локальна мережа, що обслуговує всі гостьові операційні системи, налаштовані режиму “Віртуальний адаптер хоста” і видимі іншій частині фізичної мережі. Адаптер vboxnet0 використовує адреси з діапазону 192.168.56.101. Але за бажанням можна змінити адресу за промовчанням.

Подібно до адаптера в режимі “Мережевий міст”, у режимі “Віртуальний адаптер хоста” використовуються різні діапазони адрес. Можна легко налаштувати гостьові системи для отримання IP-адрес, використовуючи для цього вбудований DHCP-сервер віртуальної машини VirtualBox.

На додаток слід зазначити, що у режимі “Віртуальний адаптер хоста” створена ним мережу немає зовнішнього шлюзу виходу Інтернет, як хоста, так гостьових операційних систем. Він працює лише як звичайний мережевий комутатор, з'єднуючи між собою хост та гостьові системи. Тому адаптер у режимі "Віртуальний адаптер хоста" не надає гостьовим машинам вихід в Інтернет; vboxnet0 за замовчуванням не має шлюзу. Додаткові можливості для цього адаптера значно спрощують налаштування мережі між хостом та гостьовими ОС, проте все ж таки відсутній зовнішній доступ або перенаправлення портів. Тому може знадобитися другий адаптер у режимі “Віртуальний адаптер хоста” або “Мережевий міст”, який підключається до гостьової операційної системи для отримання повного доступу до неї.

Внутрішня мережа (Internal Network)

Якщо на практиці вам потрібно налаштувати взаємозв'язок між декількома гостьовими операційними системами, що працюють на одному хості та можуть спілкуватися лише між собою, тоді можна скористатися режимом “Внутрішня мережа”. Звичайно, для цієї мети можна використовувати режим "Мережевий міст", але режим "Внутрішня мережа" має більшу безпеку. У режимі "Мережевий міст" всі пакети відправляються та виходять через адаптер фізичної мережі, встановлений на машині-хості. У цьому випадку весь трафік може бути перехоплений (наприклад, шляхом встановлення сніфера пакетів на машині-хості).

Внутрішня мережа, згідно з керівництвом VirtualBox, є "програмною мережею, яка може бути видима для вибірково встановлених віртуальних машин, але не для додатків, що працюють на хості або на віддалених машинах, розташованих ззовні". Така мережа є набором з хоста і кількох віртуальних машин. Але жоден з перерахованих вище пристроїв не має виходу через фізичний мережевий адаптер – він повністю програмний, що використовується VirtualBox як мережевий маршрутизатор. Загалом виходить приватна локальна мережа лише для гостьових операційних систем без доступу до Інтернету, що робить її максимально безпечною. Можливе застосування такої мережі – надсекретний сервер із клієнтами, призначений для розробки; тестування систем на проникнення або будь-які інші цілі, що мають створення внутрішньої мережі для команд-розробників або організацій. Це ідеальний спосіб для блокування оточення від неавторизованої установки програмного забезпечення, завантаження чи закачування файлів, відвідування сервісів типу Facebook у робочий час.

Отже, ми розглянули різні типи мережевих з'єднань. Кожен з них має власні налаштування і призначений для певних цілей.



Завантаження...
Top