Назад | Перейти на главную страницу

Когда я перезапускаю свою среду LXC, контейнер не привязывается к IP-адресу.

IP больше не отвечает на удаленный пинг

Под перезапуском я имею в виду:

lxc-stop -n vm3
lxc-start -n vm3 -f /etc/lxc/vm3.conf -d 

-

/ и т.д. / сеть / интерфейсы

auto lo
iface lo inet loopback
up route add -net 127.0.0.0 netmask 255.0.0.0 dev lo
down route add -net 127.0.0.0 netmask 255.0.0.0 dev lo

# device: eth0
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
       address 192.22.189.58
       netmask 255.255.255.248
       gateway 192.22.189.57
       broadcast 192.22.189.63
       bridge_ports eth0
       bridge_fd 0
       bridge_hello 2
       bridge_maxage 12
       bridge_stp off
    post-up ip route add 192.22.189.59 dev br0
    post-up ip route add 192.22.189.60 dev br0
    post-up ip route add 192.22.189.61 dev br0
    post-up ip route add 192.22.189.62 dev br0

-

/etc/lxc/vm3.conf

lxc.utsname = vm3
lxc.rootfs = /var/lib/lxc/vm3/rootfs

lxc.tty = 4
#lxc.pts = 1024  # pseudo  tty  instance for strict isolation
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.mtu = 1500

#lxc.cgroup.cpuset.cpus = 0
# security parameter
lxc.cgroup.devices.deny = a # Deny all access to devices
lxc.cgroup.devices.allow = c 1:3 rwm   # dev/null
lxc.cgroup.devices.allow = c 1:5 rwm   # dev/zero
lxc.cgroup.devices.allow = c 5:1 rwm   # dev/console
lxc.cgroup.devices.allow = c 5:0 rwm   # dev/tty
lxc.cgroup.devices.allow = c 4:0 rwm   # dev/tty0
lxc.cgroup.devices.allow = c 4:1 rwm   # dev/tty1
lxc.cgroup.devices.allow = c 4:2 rwm   # dev/tty2
lxc.cgroup.devices.allow = c 1:9 rwm   # dev/urandon
lxc.cgroup.devices.allow = c 1:8 rwm   # dev/random
lxc.cgroup.devices.allow = c 136:* rwm # dev/pts/*
lxc.cgroup.devices.allow = c 5:2 rwm   # dev/pts/ptmx
lxc.cgroup.devices.allow = c 254:0 rwm # rtc

# mounts point
lxc.mount.entry=proc   /var/lib/lxc/vm3/rootfs/proc proc nodev,noexec,nosuid 0 0
lxc.mount.entry=devpts /var/lib/lxc/vm3/rootfs/dev/pts devpts defaults 0 0
lxc.mount.entry=sysfs  /var/lib/lxc/vm3/rootfs/sys sysfs defaults  0 0

Вы пишете о Контейнеры Linux (LXC). У вас есть возможность назначить статический IP-адрес в файле конфигурации контейнера. Вот пример из моего окружения:

lxc.utsname = MPG_Web
lxc.tty = 4
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.mtu = 1500
lxc.network.ipv4 = 172.16.16.110
lxc.network.hwaddr = 00:30:6E:08:EC:80
lxc.rootfs = /srv/lxc/MPG_Web
lxc.mount = /etc/lxc/MPG_Web.fstab

Кажется, вам не хватает lxc.network.ipv4 директиву в вашей настройке.

К сожалению, вам нужно будет использовать сценарий для внедрения ваших статических и стандартных маршрутов. Это не контролируется из файла конфигурации LXC (пока).

Поскольку вы не указали MAC-адрес в файле конфигурации lxc, он будет назначаться случайным образом при каждой перезагрузке контейнера.

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

Решение - укажите mac-адрес (см. Другие ответы).