пятница, 17 февраля 2012 г.

Oracle дома. Быстрый старт. Часть 2: настройка виртуальной сети для VirtualBox

В предыдущей заметке я рассказывал о том, как можно обзавестись СУБД Oracle для персональных (академических) целей. В этой заметке я расскажу, как настроить виртуальную сеть для VirtualBox. А настроить сеть нужно, чтобы к нашей виртуальной СУБД можно было подключаться из вне: либо из хост-системы, либо из другой гостевой системы.

Итак, перед настройкой необходимо завершить работу виртуальной машины Oracle Developer Days, причём именно выключить, а не сохранить состояние.

 

Настраиваем свойства виртуального сетевого адаптера

В главном окне VirtualBox жамкаем Ctrl+G, или идём в меню Файл \ Свойства…. Затем выбираем Сеть:

image

Выделяем VirualBox Host-Only Ethernet Adapter и нажимаем пробел (или кнопку с отвёрткой). Настраиваем свойства Адаптера:

image

IP-адрес: 192.168.56.1 – это сетевой адрес, который будет выделен Вам (хосту) для доступа в виртуальную сеть. По-умолчанию VirtualBox генерирует адрес по каким-то своим алгоритмам, я прописал адрес такой, как мне удобнее.

IP-маска сети: 255.255.255.0, этого нам будет более чем достаточно.

Идём на вкладку DHCP сервер:

image

Устанавливаем флажок “Включить сервер”.

Адрес сервера: 192.168.56.100 – это сетевой адрес DHCP сервера, который будет раздавать IP-адреса виртуальным машинам.

Маска сети сервера: 255.255.255.0 – я не стал изощряться, ввёл обычную маску.

Нижняя/верхняя граница адресов: 192.168.56.101/192.168.56.254 – IP-адреса виртуальным машинам будут выделяться в указанном диапазоне, я выбрал именно такой диапазон, т.к. мне легче его запомнить (дело привычки).

Жамкаем ОК, VirtualBox применит настройки, для этого ему потребуются права администратора ОС.

 

Настраиваем свойства виртуальной машины Oracle Developer Days

В главном окне VirtualBox выбираем виртуальную машину Oracle Developer Days (убедитесь, что машина выключена!) и жамкаем Ctrl+S (или выбираем меню Машина \ Свойства…, или через контекстное меню по правой кнопке мыши). Затем выбираем Сеть:

image

Нам достаточно будет одного адаптера (Адептер 1), настраиваем параметры:

Включить сетевой адаптер – устанавливаем флаг.

Тип подключения: Виртуальный адаптер хоста – т.е. использовать только что настроенный виртуальный сетевой адаптер.

Имя: VirualBox Host-Only Ethernet Adapter – это имя настроенного виртуального адаптера, соответствует имени адаптера из первой картинки; теоретически Вы можете настроить несколько адаптеров, но обычно достаточно одного.

Дополнительно: Вы можете настроить тип адаптера (этот тип будет эмулировать VirtualBox, а гостевая ОС будет подбирать драйверы для указанного сетевого адаптер) и MAC-адрес, но обычно это не требуется. По крайней мере для нашей Oracle Developer Days тут уже всё должно быть настроено.

HINT: Если Вы хотите из виртуальной системы “ходить в интернет”, то можно настроить ещё один адаптер (Адаптер 2) и выбрать тип подключения NAT. Есть ещё другие типы подключения, Google/Yandex Вам в помощь.

 

Сохраняем изменения (ОК) и запускаем нашу Oracle Developer Days. Ждём, логинимся… после загрузки оболочки мы увидим окно терминала, в котором можно увидеть IP-адрес, выданный DHCP-сервером виртуального адаптера:

image 

Если Вы сделали всё верно, и если это была запущена первая виртуальная машина с использованием виртуального адаптера, то DHCP сервер должен выделить первый IP-адрес из разрешённого ему диапазона (см. третью картинку). У меня это 192.168.56.101, запомним этот IP, по нему мы будем подключаться к нашей БД.

 

Проверка связи из хост-системы

Для проверки связи достаточно выполнить команду ping 192.168.56.101 в командной строке хост-системы (для Windows делаем так: жамкаем Win+R, вводим cmd, жамкаем Enter, затем вводим указанную команду):

image

Если пинг не проходит, то скорее всего у Вас установлен сетевой экран. Тогда надо добавить нашу виртуальную сеть (192.168.56.0/255.255.255.0) в список доверенных зон сетевого экрана хоста.

 

Привязка выделенного IP-адреса к MAC-адресу нашей виртуальной машины

HINT: У меня в качестве хост-системы установлена Windows 7, описываемые ниже настройки относятся именно к ней. Для Windows XP действия будут похожими.

Для того, чтобы закрепить выделенный DHCP-сервером IP-адрес за нашей Oracle Developer Days, проделаем следующие действия.

1) Запускаем командную строку от имени администратора: Пуск \ Все программы \ Стандартные, правый клик на “Командная строка”:

image

2) Узнаём физический адрес (MAC-адрес) нашей виртуальной машины: мы его уже видели на четвёртой картинке этого поста сверху. Либо можно ввести команду arp -a 192.168.56.101:

image

У меня этот адрес такой: 08-00-27-c8-2a-1c.

3) Выполняем команду arp -s 192.168.56.101 08-00-27-c8-2a-1c 192.168.56.1 – это, по идее, должно закрепить за указанным MAC-адресом нашей Oracle Developer Days только что выделенный IP-адрес. Однако у меня в Windows 7 это почему-то не работает и выдаёт ошибку: “Сбой добавления записи таблицы ARP: Отказано в доступе.” Если у Вас ошибки не будет, и повторное выполнение команды arp -a 192.168.56.101 выдаст такую картинку:

image

(обратим внимание, теперь тип “статический”, а был “динамический”), то значит всё нормально.

Если тип по прежнему остался динамическим, то нам придётся пошаманить:

а) Узнаём номер интерфейса нашего виртуального адаптера, для этого вводим команду route print:

image

на картинке видно, что у меня это число равно 31.

б) Выполняем команду (не забыв подставить нужные значения для номера интерфейса и MAC-адреса):

netsh interface ipv4 set neighbors interface=31 address=192.168.56.101 neighbor=08-00-27-c8-2a-1c store=persistent

в) Снова выполняем команду arp -a 192.168.56.101 и убеждаемся, что теперь тип “статический”.

4) А теперь, чтобы не вызвать конфликта IP-адресов для других виртуальных машин, возвращаемся к настройкам DHCP сервера виртуального сетевого адаптера (третья картинка сверху), и задаём параметр Нижняя граница адресов: 192.168.56.102 (на единицу больше от предыдущего значения).

 

UPD: Закрепляем IP-адрес за виртуальной машиной – Вариант 2

У меня почему-то привязка IP к MAC перестала работать (быть может это ограничения Windows 7 Home Premium?). Тогда этот вопрос можно решить путём задания явного IP-адреса в самой виртуальной машине. Делается это так: идём в меню System \ Administration\ Network:

image

вводим пароль oracle, выбираем устройство eth0, жамкаем "Edit":

image

Делаем выбор: Statically set IP address, и прописываем IP-адрес явно:

image

Нажимаем OK, и не забываем нажать File \ Save. После этого перезапускаем виртуальную машину.

Ну и не забываем про параметр Нижняя граница адресов в настройках DHCP-сервера… или его (сервер) можно вообще выключить, если других виртуальных машин нет/в других виртуальных машинах IP прописывается явно.

 

Настройка сети других виртуальных машин

Если Вы планируете подключаться к СУБД из другой виртуальной машины (например, если у Вас в качестве хост-системы установлена не Windows, либо Вы по каким-то причинам не хотите “засорять” хост-систему), то сетевой адаптер для виртуальной машины настраивается аналогичным Oracle Developer Days способом. При этом сама виртуальная машина получит свой IP-адрес (теперь уже начиная с 192.168.56.102), а у Oracle Developer Days должен остаться 192.168.56.101. Закреплять IP-адреса за остальными виртуальными машинами у меня не было необходимости, однако никто Вам этого не запрещает. В принципе, если Вы за каждой виртуальной машиной будете закреплять конкретный IP-адрес, то DHCP сервер нам наверное и не нужен…

 

На этом настройка сети закончена

В следующей заметке читайте о настройке Oracle-клиента под Windows.

6 коммент.:

Николай Зверев комментирует...

хм... возможно я где-то ошибся, почему-то после некоторых экспериментов с виртуальными машинами привязка IP-адреса к МАС-адресу перестала работать.

Николай Зверев комментирует...

Описанная в заметке привязка IP к MAC не работает! Уж очень хочется свалить всё на Windows 7. В Windows XP вроде работало.
Впрочем, можно задать IP адрес внутри самой виртуальной машине явно - см. UPD в заметке.

Всегда ваш комментирует...

Добрый день. Помоги, пожалуйста, я у виртуальной машины вижу только NAT-сети, а знаний у меня не хватает, чтобы с ними разобраться. Не могу настроить доступ с хоста на виртуалку.

Николай Зверев комментирует...

1. "VirualBox Host-Only Ethernet Adapter" устанавливается при установке VirtualBox как доп. расширение, может ты его не установил?
Он должен быть виден на хосте как сетевое подключение Ethernet 2 (или другая цифра) - "Панель управления\Все элементы панели управления\Сетевые подключения"
В свойствах этого адаптера для компонента IPv4 - должен быть указан IP 192.168.56.1.

2. В свойствах виртуальной машины: Сеть - Тип подключения -> Виртуальный адаптер хоста, имя - "VirualBox Host-Only Ethernet Adapter"

Этого достаточно для настроек по умолчанию.

Всегда ваш комментирует...

Спасибо, перепроверю. М.б. и впрямь чего-то не поставил.

Всегда ваш комментирует...

Все путём, работает. Еще раз спасибо.

Отправить комментарий

.

.