Налаштування NAT-гостя для Ubuntu vmware


9

У мене хост Windows, який запускає гостьовий Ubuntu VM через vmplayer. Цю віртуальну машину буде клонувати, розподіляти між кількома людьми (під керуванням Windows хостів) та використовувати для проведення семінару програмування. Я намагаюся - і поки не вдається - налаштувати мережу, щоб задовольнити наступні вимоги:

  1. Гість повинен мати доступ до Інтернету
  2. Усі клони повинні мати однакове ім’я хоста (скажімо, Майстерня бути конкретною)
  3. Система хостів повинна мати можливість отримати доступ до відповідного гостя через це ім'я (наприклад, ping Workshop пінг-гост, який працює на цьому хості, а не будь-який інший клон)

Що я намагався поки що:

  • "Встановлено" мережевий адаптер NAT для гостя
  • Намагався підключити гостя через DHCP, в / etc / network / interface :

    auto eth0
    iface eth0 inet dhcp
       hostname Workshop
    

Це працює, що стосується підключення до Інтернету. Однак я взагалі не можу підключитися до гостя від господаря. (Наприклад, семінар ping не працює; якщо я використовую адресу, повернуту ifconfig, вона не працює ні від хоста).

  • Потім я спробував призначити гостям статичну адресу:

    auto eth0
    iface eth0 inet static
         address 172.241.0.101
         netmask 255.255.0.0
         gateway 172.241.0.100
    

(172.241.0.100 - адреса, присвоєна статично хосту VMWare Network VMNet8 Adapter - ось NAT-адаптер вище). Тепер я можу пінг 172.241.0.101 і telnet до нього від хоста. Я також можу пінг і telnet від гостя до 172.241.0.100 (хост), але це про це - немає зв'язку з більш широкою мережею. (Я також не можу отримати доступ до гостя через його ім'я хоста, але це не є вирішальним, оскільки, якщо натиснути, щоб натиснути, я можу використовувати його адресу безпосередньо - якщо це однаково для всіх - а не ім'я).

Тепер я думаю, що я можу використовувати з'єднаний варіант підключення до мережі з DHCP, і це дасть мені те, що мені потрібно у випадку однієї VM (я не пробував цього в цьому випадку, але я пам’ятаю, що робив це раніше). Однак у випадку, якщо кілька віртуальних машин з тим самим іменем хоста та їх хостів підключено до однієї мережі, що буде проблематично, чи не так?

Ваші рішення та інші поради будуть дуже вдячні.

Відповіді:


8

Перш за все, так, ви не зможете використовувати з'єднане мережеве з'єднання, оскільки всі гості матимуть однакове ім’я хоста, тому вам доведеться працювати з NAT.

Ви отримали частину конфігураційного права, проте ваша проблема повинна знаходитися у шлюзі за замовчуванням, який ви призначили гостю. Шлюз за замовчуванням, коли використовується NAT, не є IP хостом, це IP "віртуального комутатора", який підключений до мережі NAT. (Адаптер VMnet8 хоста - це лише інший пристрій, підключений до мережі, щоб хост міг спілкуватися з VM.) Цей віртуальний комутатор, про який ми говоримо, отримує .2IP в підмережі. Тож у вашому випадку /etc/network/interfacesслід прочитати:

auto eth0
iface eth0 inet static
     address 172.241.0.101
     netmask 255.255.0.0
     gateway 172.241.0.2

Це повинно надати вашому гостьовому віртуольному користувачеві доступ до Інтернету (через 172.241.0.2), а також спілкуватися з вашим хостом ( 172.241.0.100). Тож спробуйте це, і дайте мені знати, чи працює він.

Якщо це не працює (вкрай малоймовірно), вам потрібно з’ясувати, що таке IP-адреса віртуального комутатора. Що ви можете зробити, це дозволити VM отримати IP через DHCP (тобто змінити його так, iface eth0 inet dhcpяк у вас був раніше), а потім зробити route -n. Це має показати вам шлюз за замовчуванням, який він використовує. Використовуйте цей IP в статичній конфігурації.


Щоб мати змогу пінг гостя VM за допомогою майстерні його імені хоста , ось що ви можете зробити. Потрібно додати запис у hostsфайл у Windows, який знаходиться в C:\Windows\System32\drivers\etc\hosts. Відредагуйте цей файл, щоб до кінця включити такий рядок:

Щоб редагувати цей файл під Windows, потрібно відкрити його як адміністратор у Блокноті чи Wordpad ... а іноді він навіть не дозволяє зберегти його, тому вам потрібно буде десь забрати копію файлу, відредагувати його, видаліть розширення .txt, якщо воно отримало, і поверніться назад і замініть оригінальне, і "підтвердіть" його ... о, як я люблю Linux. Але все одно, ось рядок, який потрібно додати:

172.241.0.101    Workshop

Як тільки це буде зроблено, ви можете мати змогу ping Workshopуспішно працювати з вашим хостом Windows.

Хоча, звичайно, щоб мати змогу розгорнути це у вашому семінарі, вам потрібно буде відредагувати файл хостів у кожному окремому хості Windows, якщо ви також не клонуєте машини Windows.

Порада : оскільки ви збираєтеся призначити статичний IP своєму гостю, переконайтеся, що "NAT-мережа" в VMplayer на всіх ваших хостах Windows використовує підмережу 172.241.0.0/16, тому що я думаю, що VMware випадково призначає підмережу своїм віртуальним мережам ( VMnet1, 2 тощо), тому VMnet8 може не використовувати ту саму підмережу на іншому хості Windows. Якщо їх немає, вам потрібно буде вручну надати VMnet8 підмережу за допомогою редактора віртуальної мережі в VMware.


EDIT

Добре. Після коментарів ось що вам потрібно зробити:

  1. Налаштуйте свій (Windows) хост-апарат на "автоматичне отримання IP-адреси" на адаптері VMnet8. Він повинен отримати IP 192.168.186.1.
  2. Налаштуйте гостьову машину (Ubuntu) на статичний IP в діапазоні 192.168.186.3 - 192.168.186.127. Давайте скористаємось 192.168.186.3. Крім того, налаштуйте шлюз за замовчуванням та dns-сервер таким 192.168.186.2чином, щоб /etc/network/interfacesце було:

    auto eth0
    iface eth0 inet static
         address 192.168.186.3
         netmask 255.255.255.0
         gateway 192.168.186.2
         dns-nameservers 192.168.186.2
    
  3. Перевірте локальне підключення за допомогою pinging 192.168.186.1та 192.168.186.2від гостьової машини. Ви також повинні мати можливість пройти пінг від господаря до гостя.

  4. Перевірте підключення до Інтернету в гостьовій машині за допомогою pinging google.comабо перегляду Інтернету.
  5. Додайте рядок 192.168.186.3 Workshopдо свого hostsфайлу на хост-машині Windows.
  6. Тест ping Workshopз хост-машини Windows.

Якщо ви хочете використовувати IP-адреси з зовсім іншої мережі / пулу, крім іншого 192.168.186.0/24, вам потрібно буде зайти Edit > Virtual Network Editorв VMware, знайти VMnet8 і змінити його налаштування DHCP в самому низу на будь-яку мережу, яку ви хочете, і змінити статичні IP-адреси відповідно (шлюз за замовчуванням завжди буде другим застосованим IP, x.x.x.2).

введіть тут опис зображення


172.241.0.2 не працює. Він також не відповідає на ping (фактично, запуск nmap -sP 172.241.0.0/24 повертає лише два живих хости - .100 та .101). При налаштуванні dhcp повертається зовсім інша адреса маршрутом -n: 192.168.186.2
malenkiy_scot

О, я припускав, що ви використовуєте мережу 172.241.0.0/16, оскільки це була та, якою користувався DHCP. Подумайте, хоча це фактично публічний IP [Oo]. Чи є причина, що ви призначали IP-адреси хостів та гостей у мережі 172.241.0.0? У будь-якому випадку, подивіться на мою відредаговану відповідь.
Алаа Алі

Ні, це не те, що використовується DHCP, але саме так налаштований adM VMNet8. Адреса DHCP отримується через службу VMWare DHCP. Я не маю уявлення, звідки береться його адресний пул. Я не думаю, що адреса 172.241 є публічною. Коли я встановлюю зв'язок між хостом і гостем і запускаю CPORTS, то видно, що 10.63.41.41 (це адреса хоста в локальній мережі) підключений до себе на різних портах, що має сенс, оскільки це NAT (або, мабуть, власне PAT) . Насправді я думав, що ви так само, як і ви щодо шлюзу, - що він має іншу адресу.
malenkiy_scot

Так, як було сказано у моїй відповіді, служба DHCP та її пул можна налаштувати з редактора віртуальної мережі (я додав скріншот до своєї відповіді). Шлюз, DHCP , і DNS - сервер все ж віртуальне пристрій, x.x.x.2. І так, як ви сказали, він, звичайно, використовує перевантаження (PAT) через IP вашого хоста; Ви не повинні бачити IP-адресу гостя в широкій мережі. Також 172.241.0.0/16 є загальнодоступним діапазоном IP-адрес =). 172.16.0.0 - 172.31.255.255- приватний діапазон у адресах класу B. Але це насправді не має значення, це нічого не повинно впливати.
Алаа Алі

Крім того, ви можете відвідати цю сторінку, якщо хочете прочитати більше про NAT у VMware, це добре читати.
Алаа Алі

3

У мене виникли подібні проблеми, використовуючи програвач VMWare Player під керуванням Windows 7 з гостями Ubuntu. Але я зміг підключитися від хоста до гостя і гостя до хоста, проте проблема полягала в тому, що я не зміг підключитися до Інтернету від гостя. Прочитавши відповідь @Alaa, мені довелося просто зробити ще одну підстрочку, щоб додати ім'я сервера DNS до файлу інтерфейсів (dns-nameservers 192.168.150.2), і тоді все впало у відповідність.

Ось моя конфігурація, яка працювала.

Конфігурація інтерфейсу VMWare на хості:

Адаптер Ethernet VMware Network Adapter VMnet8: (Клієнт)

Connection-specific DNS Suffix  . : 
Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
Physical Address. . . . . . . . . : 00-50-56-C0-00-08
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::9c13:cbf2:1dc:259f%42(Preferred) 

IPv4 Address. . . . . . . . . . . : 192.168.150.1(Preferred) 
Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . : 
DHCPv6 IAID . . . . . . . . . . . : 704663638
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-19-06-50-32-88-53-2E-7A-D3-8E
DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                    fec0:0:0:ffff::2%1
                                    fec0:0:0:ffff::3%1
NetBIOS over Tcpip. . . . . . . . : Enabled 

Змінюється інтерфейс гостьового Ubuntu:

auto eth0
iface eth0 inet static
address 192.168.150.10
netmask 255.255.255.0
gateway 192.168.150.2
dns-nameservers 192.168.150.2

192.168.150.2 - це проксі-сервер VMWare, який перенаправляє трафік гостей до хоста.


Здрастуйте, я зустрічаю ту саму проблему, що і ваша. Ви б пояснили докладніше, як вирішуєте проблему. Перше, що потрібно взяти інформацію про "Ethernet adapter VMware Network Adapter VMnet8: (Клієнт)". Ви маєте на увазі, що вам потрібно оновити зміни в / etc / network / interfaces. Крім того, для таких адрес, як "мережна маска", "шлюз", чи змінюються вони в залежності від машини? Або я можу використовувати те саме, що ви написали.
користувач288609
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.