Когда я запускаю lxd init, я выбираю этот параметр.
Would you like to create a new network bridge (yes/no)? no
, потому что я создал свой собственный br0 в / etc / network / interfaces
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address x.x.50.2
netmask 255.255.252.0
broadcast x.x.x.255
network x.x.x.0
gateway x.x.53.254
dns-nameservers 8.8.8.8
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
iface eth0 inet manual
Затем я запускаю lxd centos и запускаю
lxc config device add first eth0 nic nictype=bridged parent=br0
lxc config device set first eth0 ipv4.address x.x.51.2
lxc config device set first eth0 security.mac_filtering true
и меняю конфигурацию в
/var/lib/lxd/containers/second/rootfs/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HOSTNAME=LXC_NAME
NM_CONTROLLED=no
TYPE=Ethernet
IPADDR=x.x.51.2
NETMASK=255.255.255.255
GATEWAY=x.x.53.254
DNS1=8.8.8.8
DNS2=x.x.x.x
MTU=
DHCP_HOSTNAME=x.x.50.2
. Когда я пытаюсь выполнить ping 8.8.8.8, я получаю Connection: Network is Unreachable
/etc/resolv.conf
nameserver 8.8.8.8
search lxd
nameserver x.x.x.x
Что я делаю не так, я не могу понять, может быть, у меня отсутствует какая-то концепция?
Используете ли вы выделенную сетевую карту для своих контейнеров? Вам не нужно устанавливать статический IP-адрес на вашем мосту:
auto br0
iface br0 inet manual
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
iface eth0 inet manual
И если вы устанавливаете свой IP-адрес внутри вашего рассмотрения, я обычно не устанавливаю его на уровне конфигурации lxc
lxc config device unset first eth0 ipv4.address
Если вы используете свой интерфейс управления к хосту LXD с контейнерами LXD, тогда вы можете сбросить IP-адрес на мосту, но я бы рекомендовал использовать отдельные устройства для двух подключений.
Если ничего из этого не работает, вам нужно найти, где сеть не работает. Я использую пошаговый подход за пределами контейнера, а затем внутри контейнера, который включает проверку доступа к сети на различных уровнях:
пинговать 192.168.0.10
? Если да, то eth0 включен и работает. Если нет, значит, у вас проблема с вашим сетевым адаптером. ping 192.168.0.1
? Если да, то подключение уровня 2 работает. Если нет, то у вас проблема уровня 2. Проверьте свои соединения, коммутатор и т. Д. (Любая фильтрация на основе MAC). пинговать 8.8.8.8
? Если да, то подключение уровня 3 работает. Если нет, то, скорее всего, у вас проблема уровня 3. Проверьте таблицу маршрутизации ip route show
, маршрутизатор и т. Д. пинговать 192.168.0.10
? Если да, значит, сетевая карта работает, продолжайте. Если «Нет», значит, проблема с самой сетевой картой, вы не сможете подключиться к сети. Проверьте журналы LXD, журналы ядра, запустите тесты Ethernet и т. Д. Если это так, то проблема, скорее всего, связана с конфигурацией, поскольку вы уже протестировали фактическое устройство eth0 на хосте и обнаружили, что оно работает, чтобы зайти так далеко. . ping 192.168.0.1
? Если да, значит слой 2 работает, продолжаем. Если нет, значит, у вас проблема уровня 2. пинговать 8.8.8.8
? Есть проблема уровня 3. Проверить маршруты ip route show