3

Я использую LXC (Linux Containers) для размещения http-сервера в настройке VirtualBox, но у простого созданного мной специального моста LXC нет IP-адреса, поэтому он недоступен даже в ОС Ubuntu, работающей на VirtualBox. (Мне не нужно обращаться к серверу с реальной хост-ОС, но я упоминаю это для полноты)

Я попробовал два способа, первый - это редактирование /etc /network /interfaces:

auto lxcbr0
iface lxcbr0 inet dhcp
    bridge_ports eth0
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

Специальных настроек для LXC нет.

Второй - использовать brctl:

sudo brctl addbr lxcbr0
sudo brctl addif lxcbr0 eth0
sudo ip link set dev lxcbr0 up

В первом методе для LXC ifconfig показывает:

eth0      Link encap:Ethernet  HWaddr 00:16:3e:e7:2c:8f  
      inet addr:10.0.2.26  Bcast:10.0.2.255  Mask:255.255.255.0
      inet6 addr: fe80::216:3eff:fee7:2c8f/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:42 errors:0 dropped:0 overruns:0 frame:0
      TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:6146 (6.1 KB)  TX bytes:2666 (2.6 KB)

Но на канале нет:

lxcbr0    Link encap:Ethernet  HWaddr 08:00:27:2b:85:76  
      inet6 addr: fe80::a00:27ff:fe2b:8576/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:168 errors:0 dropped:0 overruns:0 frame:0
      TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:9826 (9.8 KB)  TX bytes:8968 (8.9 KB)

vethFEBAAO Link encap:Ethernet  HWaddr fe:5c:88:b0:88:3b  
      inet6 addr: fe80::fc5c:88ff:feb0:883b/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:33 errors:0 dropped:0 overruns:0 frame:0
      TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:3026 (3.0 KB)  TX bytes:7041 (7.0 KB)

Нет адреса IPv4 для моста на стороне хоста. Второй метод имеет аналогичную проблему.

Что мне не хватает?

1 ответ1

0

Я использую LXC для размещения http-сервера в VirtualBox, но у простого моста, который я создал, нет IP-адреса, поэтому он не может быть достигнут на хосте.

Я знаю, что ваш вопрос конкретно касается LXC (Linux Containers), на котором я не на 100%, но я дам несколько советов, основанных на том, что я знаю о гостевой ОС для размещения соединений с ОС в VirtualBox. Может быть, это связано с вашей конкретной проблемой LXC?

Вы говорите, что хотите иметь простую настройку моста между гостем VirtualBox и хостом, но какие настройки у вас есть в VirtrualBox для vboxnet0? Насколько мне известно, есть два места, где сетевые настройки должны быть скорректированы для настройки, подобной этой, чтобы работать: в гостевой ОС, но также и в самой хост-ОС.

Я использую Mac, но общая концепция должна быть одинаковой для всех, кто использует VirtualBox в Windows или Linux: вам нужно два адаптера в гостевой ОС VirtualBox, чтобы обеспечить исходящее сетевое соединение в сети 10.xxx, network as well as a connection on the host only network which is usually 192.168.xx`.

Если перейти к «Предпочтениям» при запуске VirtualBox, щелкнуть значок «Сеть», а затем перейти на вкладку «Сети только для хоста», я получу список настроенных адаптеров:

Затем, как показано на скриншоте, если я vboxnet0 а затем щелкну значок отвертки, я смогу изменить параметры. Снимок экрана ниже:

У меня «IPv4-адрес» установлен на 192.168.56.1 а соответствующая IPv4 Network Mask установлена на 255.255.255.0 . Теперь у меня обычно отключен DHCP-сервер, как показано на следующем снимке экрана:

После того, как это настроено, я проверяю, что на гостевой ОС в VirtualBox включен адаптер:

Обратите внимание, что у меня есть «Адаптер только для хоста», и этот адаптер связан с vboxnet0? Как только это будет сделано, гостевая ОС должна быть полностью осведомлена о настройке только для хоста, и вы должны быть готовы.

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