На днях столкнулся с проблемой настройки сети в VirtualBox на MacBook. В качестве гостевой системы пробовал Gentoo и CentOS (от Puppet). Ноутбук у меня естественно подключен к сети через Wifi. После некоторых опытов выяснилось, что Bridged Network не работает. Точнее говоря виртуалка не получает DHCPOFFER от dhcp сервера. Вот логи с сервера:

May  6 21:03:41 edi dnsmasq-dhcp[9996]: DHCPDISCOVER(enp1s0) 10.0.2.15 08:00:27:af:18:1e 
May  6 21:03:41 edi dnsmasq-dhcp[9996]: DHCPOFFER(enp1s0) 192.168.0.209 08:00:27:af:18:1e 
May  6 21:03:45 edi dnsmasq-dhcp[9996]: DHCPDISCOVER(enp1s0) 10.0.2.15 08:00:27:af:18:1e 
May  6 21:03:45 edi dnsmasq-dhcp[9996]: DHCPOFFER(enp1s0) 192.168.0.209 08:00:27:af:18:1e 
May  6 21:03:57 edi dnsmasq-dhcp[9996]: DHCPDISCOVER(enp1s0) 10.0.2.15 08:00:27:af:18:1e 
May  6 21:03:57 edi dnsmasq-dhcp[9996]: DHCPOFFER(enp1s0) 192.168.0.209 08:00:27:af:18:1e

И то что видно в виртуалке (время немного не то, но это не страшно: логи были такие же):

May  6 21:56:32 learn dhclient[3262]: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 15 (xid=0x3a4517ed)
May  6 21:56:47 learn dhclient[3262]: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 8 (xid=0x3a4517ed)
May  6 21:56:55 learn dhclient[3262]: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 14 (xid=0x3a4517ed)
May  6 21:57:09 learn dhclient[3262]: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 1 (xid=0x3a4517ed)
May 6 21:57:10 learn dhclient[3262]: No DHCPOFFERS received.

Соответственно этот DHCPOFFER где-то и теряется. Пока еще не искал конкретное место потери этого сообщения. Постараюсь на днях поснифить трафик. Возможно, что Wifi точка от D-Link не пускает через себя часть DHCP запросов. Если кто сталкивался с подобной проблемой и нашел путь настроить Bridged Network через Wifi на Маке милости прошу в комментарии.

Хочу заметить, что все отлично работает если Mac подключать через Ethernet. Также нашел багрепорт 2-х летней давности на подобную ошибку. И еще где-то полгода назад настраивал аналогичное дело, но вроде бы (могу ошибаться) подобных проблем с сетью не было.

Сам нашел для себя следующий обходной путь. Добавил 2 сетевых адаптера для виртуалки. Первый настроил через NAT (для доступа к интернету). Второй через Host-only Adapter (для SSH из внешней системы). Соответственно первая сетевуха внутри виртуалки нормально поднимается через dhcp. А вот для второй надо указать статический ip. Пробовал использовать dhcp сервер для Host-only сети (галочка в настойках соответствующей сети в VirtualBox), но ip так и не был получен. В принципе мне достаточно пока статического адреса, но все же было бы удобнее получать его автоматом.

Какое решение тут будет самым оптимальным? Есть подозрение, что моя схема несколько избыточна. Для меня достаточно иметь SSH доступ к гостевой системе и чтобы она имела доступ в интернет.



Comments

comments powered by Disqus