Пинг в контейнер LXC

Пинг в контейнер LXC

Пожалуйста, я пытаюсь сделать ping 10.0.3.8 (ip контейнера LXC) из VMB, но это не сработало! Есть идеи, пожалуйста?

Вот объяснение того, что я хочу сделать: (красная стрелка)

Синие стрелки означают, что пинг работает правильно. Красная стрелка означает, что есть проблема: я пытаюсь с VMB (192.168.1.7) пинговать 10.0.3.8 у меня заблокировано это сообщение: ping 10.0.3.8 PING 10.0.3.8 (10.0.3.8) 56(84) байт данных. --- Статистика пинга 10.0.3.8 --- 68 пакетов передано, 0 получено, 100% потеря пакетов, время 67214мс –

введите описание изображения здесь Большое спасибо.

С наилучшими пожеланиями.

решение1

Когда вы создаете Linux-контейнер, он существует в своем собственном сетевом пространстве. Вот почему IP-адреса выглядят так по-разному. Ваши виртуальные машины имеют 192.168.1.x, в то время как вашим Linux-контейнерам назначен 10.0.3.x.

Одним из способов решения этой проблемы является создание выделенной виртуальной сетевой карты в контейнере Linux, которая затем будет извлекать адрес из сети 192.168.1.x.

Ниже приведены основные инструкции, ноПодробные шаги и предыстория взяты из этой статьи Bonsai Framework.

Создать постоянный macvlan на хосте

Добавьте в конец /etc/network/interfacesфайла хоста,

# Creates a macvlan interface called macvlan0 without an IP address  
iface mvlan0 inet manual  
   pre-up ip link add mvlan0 link eth0 address 8a:38:2a:cc:d7:aa type macvlan mode bridge  
   post-down ip link del macvlan0  
auto mvlan0  

Перезагрузите систему, чтобы изменения вступили в силу. Вы заметите mvlan0now при просмотре сетевых устройств с помощью ifconfig -a.

Подключите контейнер к macvlanхосту, изменив файл конфигурации, расположенный в /var/lib/lxc/[container]/config.

Записи, которые нужно добавить для вашей новой сетевой карты,

# macvlan for external IP  
lxc.network.type = macvlan   
lxc.network.macvlan.mode = bridge  
lxc.network.flags = up  
lxc.network.link = mvlan0  
lxc.network.hwaddr = 00:16:3e:8d:4f:51  
lxc.network.name = eth0  

Для hwaddr сгенерируйте уникальный локально администрируемый одноадресный MAC-адрес с помощью бесплатного веб-сайта, напримерhelion.org.

Наконец, настройте файл интерфейсов в контейнере для привязки через статическую привязку или, если вы предпочитаете, используйте динамическую привязку.

В моем случае я настраиваю свой домашний маршрутизатор так, чтобы адреса с 192.168.0.1 по 192.168.0.20 не назначались динамически, а использовались статические в моем LXC.

Поэтому я изменяю файл интерфейсов контейнеров следующим образом:

auto eth0  
iface eth0 inet static  
address 192.168.0.12  
gateway 192.168.0.1  
netmask 255.255.255.0  

auto eth1  
iface eth1 inet dhcp  

Перезапустите контейнер Linux.

Связанный контент