3

Я использую два экземпляра виртуальной машины RHEL/CentOS на своем экземпляре VirtualBox, работающем на хосте Windows 7. Проблема в том, что я выполняю VBoxManage list vms -l | more и потом, в результате чего VBoxManage guestproperty get <uuid> "/VirtualBox/GuestInfo/Net/0/V4/IP" , я вижу один и тот же IP-адрес для обеих виртуальных машин. Я установил внутреннюю сетевую intnet для обеих виртуальных машин, используя «Сети» -> «Адаптер 2» - «PCnet-FAST III» («Внутренняя сеть», «intnet»), и я понял, что eth0 мог быть интерфейсом частной сети для виртуальных машин. Но оба их IP показывают как 10.0.2.15. Есть ли способ получить доступ к отдельным IP-адресам в частной сети виртуальных машин для двух виртуальных машин?

ПРИМЕЧАНИЕ: я также могу получить доступ только к одному экземпляру виртуальной машины при доступе через клиента Putty SSH. И он подключается к прокси 127.0.0.1:2222 всегда. Таким образом, я не могу отличить виртуальные машины. Мне нужны отдельные обращения к экземплярам для запуска серверных и клиентских кодов в отдельных экземплярах в архитектуре клиент-сервер. Смотрите мой другой поток Как настроить putty для ssh на несколько виртуальных машин, используя тот же хост, который объясняет проблему в деталях.

Я присоединяю выходные данные командной строки VBoxManage как выполненные на хосте. Я использую песочницы 1.3_2 и 1.3_3, но оба имеют одинаковый IP-адрес, как показано ниже жирным шрифтом:

C:\Program Files\Oracle\VirtualBox>VBoxManage list vms
"Hortonworks Sandbox 1.3" {4914b5c7-1395-47f5-80ef-8fbec8cadbd4}
"Hortonworks Sandbox 1.3_1" {f103f5d2-f949-4d67-a81e-c63ddc5335dc}
"Hortonworks Sandbox 1.3_2" {fc2b9f50-bf4a-4a5d-8189-22d62c7e1d67}
"Hortonworks Sandbox 1.3_3" {5976fff1-7a0d-4eca-bedf-7756f7076dbd}
C:\Program Files\Oracle\VirtualBox>VBoxManage guestproperty get fc2b9f50-bf4a-4a
5d-8189-22d62c7e1d67 "/VirtualBox/GuestInfo/Net/0/V4/IP"
**Value: 10.0.2.15**

C:\Program Files\Oracle\VirtualBox>VBoxManage guestproperty get 5976fff1-7a0d-4e
ca-bedf-7756f7076dbd "/VirtualBox/GuestInfo/Net/0/V4/IP"
**Value: 10.0.2.15**

На песочнице VM 1.3_2 я выполнил команду ниже, чтобы получить локальный IP для eth0, как показано ниже:

[hue@sandbox ~]$ arp -an
? (10.0.2.2) at 52:54:00:12:35:02 [ether] on eth0
[hue@sandbox ~]$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.2.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
default 10.0.2.2 0.0.0.0 UG 0 0 0 eth0

Любые идеи, как я могу найти разные IP-адреса для разных песочниц?

Я вижу аналогичную ветку " как делать сети между виртуальными машинами в виртуальной коробке"? где говорится, что он использует dhcpserver для IP-разрешения гостевых виртуальных машин. Но он просит --ip ПРИМЕЧАНИЕ: Я попытался запустить DhcpServer VBoxManage , но он просит --ip вариант и --netmask , которые я представил , как показано ниже со следующим выходом:

C:\Program Files\Oracle\VirtualBox>VBoxManage dhcpserver add --netname intnet --
netmask 10.0.2.*
Oracle VM VirtualBox Command Line Management Interface Version 4.3.0
(C) 2005-2013 Oracle Corporation
All rights reserved.

Usage:

VBoxManage dhcpserver       add|modify --netname <network_name> |
                                       --ifname <hostonly_if_name>
                            [--ip <ip_address>
                            --netmask <network_mask>
                            --lowerip <lower_ip>
                            --upperip <upper_ip>]
                            [--enable | --disable]

VBoxManage dhcpserver       remove --netname <network_name> |
                                   --ifname <hostonly_if_name>


Syntax error: You need to specify --ip option 

При попытке включить dhcpserver он уже существует:

C:\Program Files\Oracle\VirtualBox>VBoxManage dhcpserver add --netname intnet --
ip 10.0.2.15 --netmask 255.255.255.0 --lowerip 10.0.2.101 --upperip 10.0.2.254 -
-enable
VBoxManage.exe: error: DHCP server already exists

Вывод для route -n и sudo ss -lntp выглядит следующим образом: (по запросу MariusMatiae)

[hue@sandbox ~]$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
[hue@sandbox ~]$ sudo ss -lntp
State      Recv-Q Send-Q        Local Address:Port          Peer Address:Port
LISTEN     0      10                        *:8651                     *:*                                                                                              users:(("gmetad",1046,0))
LISTEN     0      128                       *:50060                    *:*                                                                                              users:(("java",2797,86))
LISTEN     0      10                        *:8652                     *:*                                                                                              users:(("gmetad",1046,1))
LISTEN     0      128               10.0.2.15:50030                    *:*                                                                                              users:(("java",2834,84))
LISTEN     0      128               127.0.0.1:34927                    *:*                                                                                              users:(("java",2797,70))
LISTEN     0      50                        *:10000                    *:*                                                                                              users:(("java",1690,130))
LISTEN     0      128                      :::80                      :::*                                                                                              users:(("httpd",1282,4),("httpd",1414,4),("httpd",1415,4),("httpd",1416,4),("htt                                                                                        pd",1417,4),("httpd",1418,4),("httpd",1419,4),("httpd",1420,4),("httpd",1421,4))
LISTEN     0      128        ::ffff:10.0.2.15:60020                   :::*                                                                                              users:(("java",3513,121))
LISTEN     0      128               10.0.2.15:8020                     *:*                                                                                              users:(("java",1886,76))
LISTEN     0      128               10.0.2.15:50070                    *:*                                                                                              users:(("java",1886,99))
LISTEN     0      128                      :::22                      :::*                                                                                              users:(("sshd",1191,4))
LISTEN     0      128                       *:22                       *:*                                                                                              users:(("sshd",1191,3))
LISTEN     0      100                      :::11000                   :::*                                                                                              users:(("java",2237,35))
LISTEN     0      128                      :::5432                    :::*                                                                                              users:(("postmaster",1550,4))
LISTEN     0      128                       *:5432                     *:*                                                                                              users:(("postmaster",1550,3))
LISTEN     0      128                       *:8888                     *:*                                                                                              users:(("python",1064,5),("python",5540,5))
LISTEN     0      1          ::ffff:127.0.0.1:11001                   :::*                                                                                              users:(("java",2237,39))
LISTEN     0      100               127.0.0.1:25                       *:*                                                                                              users:(("master",1272,12))
LISTEN     0      50                        *:50010                    *:*                                                                                              users:(("java",1884,75))
LISTEN     0      128                       *:50075                    *:*                                                                                              users:(("java",1884,76))
LISTEN     0      50                        *:9083                     *:*                                                                                              users:(("java",1797,125))
LISTEN     0      128               10.0.2.15:50300                    *:*                                                                                              users:(("java",2834,74))
LISTEN     0      50                        *:50111                    *:*                                                                                              users:(("java",3142,261))
LISTEN     0      50                        *:8000                     *:*                                                                                              users:(("python2.6",3770,3),("python2.6",3843,3),("python2.6",3843,22))
LISTEN     0      50                        *:8002                     *:*                                                                                              users:(("java",3772,136))
LISTEN     0      50                       :::2181                    :::*                                                                                              users:(("java",2197,52))
LISTEN     0      128               10.0.2.15:51111                    *:*                                                                                              users:(("java",2820,74))
LISTEN     0      50                       :::48231                   :::*                                                                                              users:(("java",2197,43))
LISTEN     0      128               127.0.0.1:199                      *:*                                                                                              users:(("snmpd",1179,8))
LISTEN     0      50                        *:9290                     *:*                                                                                              users:(("java",2834,88))
LISTEN     0      128                       *:8010                     *:*                                                                                              users:(("java",1884,81))
LISTEN     0      128               10.0.2.15:50090                    *:*                                                                                              users:(("java",1888,76))
LISTEN     0      50                        *:3306                     *:*                                                                                              users:(("mysqld",1460,10))

1 ответ1

7

У вас есть две возможности:

  1. используйте мостовые соединения для обеих виртуальных машин. Таким образом, у них обоих есть IP-адреса в вашей локальной сети, как если бы они были физическими машинами.
  2. настроить сеть только для хоста. Это требует следующих шагов:

    a) Файл -> Настройки -> Сеть -> Хост-сети.

    б) добавить один, нажав на знак Plus ;

    в) Нажмите отвертку -> DHCP-сервер. Установите Enable DHCP sever

    г) заполните маску, как вам нравится. Возможные значения: Адрес сервера 192.168.56.254 Маска сервера 255.255.255.0 Нижняя граница адреса 192.168.56.100 Верхняя граница адреса 192.168.56.200

Теперь настройте виртуальные машины так, чтобы в сети только для хоста был хотя бы один адаптер.

Запустите свои виртуальные машины, и теперь ваш хост имеет IP 192.168.56.1, а различные виртуальные машины расположены по адресу 192.168.56.100, 192.168.56.101, ... Теперь вы можете пропинговать sssh и vnc с одного компьютера на другие.

РЕДАКТИРОВАТЬ:

Учитывая вашу таблицу маршрутизации, решение 2 будет работать, если вы дадите эти команды на обеих виртуальных машинах:

  sudo route delete default gw 10.0.2.2
  sudo route add default gw 192.168.56.1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .